diff --git a/CodeCompletion/DomSyntaxTreeVisitor.cs b/CodeCompletion/DomSyntaxTreeVisitor.cs index 1b9b07867..cacc35941 100644 --- a/CodeCompletion/DomSyntaxTreeVisitor.cs +++ b/CodeCompletion/DomSyntaxTreeVisitor.cs @@ -4631,6 +4631,8 @@ namespace CodeCompletion if (returned_scope != null) { cur_scope = stmt_scope; + if (returned_scope is ProcScope) + returned_scope = new ProcType(returned_scope as ProcScope); ElementScope es = new ElementScope(new SymInfo(_foreach_stmt.identifier.name, SymbolKind.Variable, _foreach_stmt.identifier.name), returned_scope, cur_scope); es.loc = get_location(_foreach_stmt.identifier); stmt_scope.AddName(_foreach_stmt.identifier.name, es); diff --git a/TestSuite/intellisense_tests/foreach5.pas b/TestSuite/intellisense_tests/foreach5.pas new file mode 100644 index 000000000..09cd2e55f --- /dev/null +++ b/TestSuite/intellisense_tests/foreach5.pas @@ -0,0 +1,4 @@ +begin + foreach var item{@var item: procedure;@}: procedure in Arr&() do; // () + foreach var item{@var item: procedure(x: byte);@}: procedure(x: byte) in Arr&() do; // (x: byte) +end. \ No newline at end of file