From 96bd567a53f077bcf550fac78c202a05247cb107 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: Mon, 31 Dec 2018 18:10:19 +0100 Subject: [PATCH] fix #1618 --- TestSuite/errors/err0306.pas | 17 +++++++++++++++++ .../TreeConversion/syntax_tree_visitor.cs | 2 ++ 2 files changed, 19 insertions(+) create mode 100644 TestSuite/errors/err0306.pas diff --git a/TestSuite/errors/err0306.pas b/TestSuite/errors/err0306.pas new file mode 100644 index 000000000..f75dccd75 --- /dev/null +++ b/TestSuite/errors/err0306.pas @@ -0,0 +1,17 @@ +unit err0306; + +interface + +procedure p1; + +implementation + +var + b: byte; + +procedure p1; +begin + err0306.err0306.err0306.p1; +end; + +end. \ No newline at end of file diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index 0759b87ac..2f97f47ab 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -9036,6 +9036,8 @@ namespace PascalABCCompiler.TreeConverter { AddError(new MemberIsNotDeclaredInNamespace(id_right, get_location(id_right), nn)); } + if (si_right.Count > 0 && si_right[0].sym_info == nn) + AddError(new MemberIsNotDeclaredInNamespace(id_right, get_location(id_right), nn)); switch (mot) { case motivation.address_receiving: