From f6448d1fdf66e34300da97bc744810b191d3e166 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D0=BD=D0=B4=D0=B0=D1=80=D0=B5=D0=B2=20=D0=98?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD?= Date: Sun, 10 Mar 2019 15:07:29 +0100 Subject: [PATCH] fix #1819 --- CodeCompletion/DomSyntaxTreeVisitor.cs | 2 ++ TestSuite/intellisense_tests/foreach5.pas | 4 ++++ 2 files changed, 6 insertions(+) create mode 100644 TestSuite/intellisense_tests/foreach5.pas 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