intellisense for var expression

This commit is contained in:
Ivan Bondarev 2024-01-07 14:43:47 +01:00
parent b04ada66d0
commit e91b92b024
4 changed files with 28 additions and 0 deletions

View file

@ -5980,6 +5980,12 @@ namespace CodeCompletion
var ne = new new_expr(ntr, new expression_list(new uint64_const(bi.val)), bi.source_context); var ne = new new_expr(ntr, new expression_list(new uint64_const(bi.val)), bi.source_context);
ne.visit(this); ne.visit(this);
} }
public override void visit(let_var_expr _let_var_expr)
{
var_def_statement vds = new var_def_statement(_let_var_expr.id, _let_var_expr.ex, _let_var_expr.source_context);
vds.visit(this);
}
} }
} }

View file

@ -244,6 +244,19 @@ namespace CodeCompletion
_var_def_statement.inital_value.visit(this); _var_def_statement.inital_value.visit(this);
} }
public override void visit(let_var_expr _let_var_expr)
{
if (for_refactoring)
{
IBaseScope ss = entry_scope.FindScopeByLocation(_let_var_expr.id.source_context.begin_position.line_num, _let_var_expr.id.source_context.begin_position.column_num);
if (ss != null && ss.IsEqual(founded_scope))
pos_list.Add(get_position(_let_var_expr.id));
}
if (_let_var_expr.ex != null)
_let_var_expr.ex.visit(this);
}
public override void visit(declaration _declaration) public override void visit(declaration _declaration)
{ {
throw new NotImplementedException(); throw new NotImplementedException();

View file

@ -0,0 +1,5 @@
begin
var a := (var b{@var b: integer;@} := 1);
writeln(b{@var b: integer;@});
var r{@var r: real;@} := (var r2 := 2.3);
end.

View file

@ -0,0 +1,4 @@
begin
var a := (var {@}b := 1);
writeln({!}b);
end.