This commit is contained in:
Ivan Bondarev 2022-04-15 15:50:29 +02:00
parent 577ae41cac
commit a7e417fda1
6 changed files with 50 additions and 1 deletions

View file

@ -315,6 +315,10 @@ namespace CodeCompletion
public override void visit(for_node _for_node) public override void visit(for_node _for_node)
{ {
IBaseScope tmp = cur_scope;
cur_scope = entry_scope.FindScopeByLocation(_for_node.source_context.begin_position.line_num, _for_node.source_context.begin_position.column_num);
if (cur_scope == null)
cur_scope = tmp;
if (_for_node.loop_variable != null) if (_for_node.loop_variable != null)
{ {
ret_tn = cur_scope.FindNameInAnyOrder(_for_node.loop_variable.name); ret_tn = cur_scope.FindNameInAnyOrder(_for_node.loop_variable.name);
@ -330,7 +334,10 @@ namespace CodeCompletion
if (_for_node.increment_value != null) if (_for_node.increment_value != null)
_for_node.increment_value.visit(this); _for_node.increment_value.visit(this);
if (_for_node.statements != null) if (_for_node.statements != null)
{
_for_node.statements.visit(this); _for_node.statements.visit(this);
}
cur_scope = tmp;
} }
public override void visit(repeat_node _repeat_node) public override void visit(repeat_node _repeat_node)

View file

@ -0,0 +1,6 @@
begin
for var a := 0 to 0 do
for var {@}b := 0 to 0 do
Println({!}b);
end.

View file

@ -0,0 +1,21 @@
type
t1 = class
public class {@}i: integer;
procedure p1;
begin
var i2: integer;
var p: procedure := () -> begin
{!}i += 1;
i2 += 1;
end;
p;
end;
end;
begin
end.

View file

@ -0,0 +1,8 @@
begin
var a := new System.Collections.Generic.List<string>();
a.Add('abc');
a.Add('def');
var b := a.SelectMany(x -> x).Select({@}x -> {!}x);
foreach var c in b do
writeln(c);
end.

View file

@ -0,0 +1,6 @@
begin
while true do
for var {@}b := 0 to 0 do
Println({!}b);
end.

View file

@ -256,7 +256,8 @@ namespace VisualPascalABCPlugins
private void Button4_Click(object sender, EventArgs e) private void Button4_Click(object sender, EventArgs e)
{ {
CodeCompletion.CodeCompletionTester.TestRename(@"c:\Work\Miks\_PABCNETGitHub\TestSuite\refactoring_tests\rename_tests"); CodeCompletion.CodeCompletionTester.TestRename(@"c:\Work\Miks\_PABCNETGitHub\pascalabcnet\TestSuite\refactoring_tests\rename_tests");
MessageBox.Show("Done");
} }
private void cbUseSemanticForIntellisense_CheckedChanged(object sender, EventArgs e) private void cbUseSemanticForIntellisense_CheckedChanged(object sender, EventArgs e)