intellisense: support of slice expressions

This commit is contained in:
Бондарев Иван 2019-10-27 17:58:30 +01:00
parent c7ad8ebc01
commit 5980a017e9
3 changed files with 21 additions and 0 deletions

View file

@ -1952,6 +1952,15 @@ namespace CodeCompletion
{
}
public override void visit(slice_expr _slice_expr)
{
_slice_expr.v.visit(this);
}
public override void visit(slice_expr_question _slice_expr_question)
{
_slice_expr_question.v.visit(this);
}
public override void visit(tuple_node _tuple_node)
{
method_call mc = new method_call();

View file

@ -399,6 +399,11 @@ namespace CodeCompletion
off = test_str.Length;
s = parser.LanguageInformation.FindExpression(off, test_str, line, col, out keyw);
assert(s.Trim('\n', ' ', '\t') == test_str);
test_str = "a[2:]";
off = test_str.Length;
s = parser.LanguageInformation.FindExpression(off, test_str, line, col, out keyw);
assert(s.Trim('\n', ' ', '\t') == test_str);
int num_param = 0;
//testirovanie nazhatija skobki

View file

@ -0,0 +1,7 @@
begin
var a: array of integer;
writeln(a[1:].Length{@property Array.Length: integer; readonly;@});
writeln(a[:1].Length{@property Array.Length: integer; readonly;@});
writeln(a[:].Length{@property Array.Length: integer; readonly;@});
writeln(a[1:2:4].Length{@property Array.Length: integer; readonly;@});
end.