From cb8c3a0ef0074e8d66374860aef9af65e40bee2f Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Fri, 21 Jun 2019 21:41:45 +0300 Subject: [PATCH] fix #1926 --- Configuration/GlobalAssemblyInfo.cs | 2 +- Configuration/Version.defs | 4 ++-- ReleaseGenerators/PascalABCNET_version.nsh | 2 +- TestSuite/v1eqv1.pas | 14 ++++++++++++++ .../Closure/CapturedVariablesTreeBuilder.cs | 9 +++++---- 5 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 TestSuite/v1eqv1.pas diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index fb791182f..1b38bef8a 100644 --- a/Configuration/GlobalAssemblyInfo.cs +++ b/Configuration/GlobalAssemblyInfo.cs @@ -15,7 +15,7 @@ internal static class RevisionClass public const string Major = "3"; public const string Minor = "5"; public const string Build = "0"; - public const string Revision = "2135"; + public const string Revision = "2136"; public const string MainVersion = Major + "." + Minor; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; diff --git a/Configuration/Version.defs b/Configuration/Version.defs index 1400801e2..ed0b38600 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ -%MINOR%=5 -%REVISION%=2135 %COREVERSION%=0 +%REVISION%=2136 +%MINOR%=5 %MAJOR%=3 diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index 613957321..167a525c5 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.5.0.2135' +!define VERSION '3.5.0.2136' diff --git a/TestSuite/v1eqv1.pas b/TestSuite/v1eqv1.pas new file mode 100644 index 000000000..457b92a90 --- /dev/null +++ b/TestSuite/v1eqv1.pas @@ -0,0 +1,14 @@ +begin + var v1 := 0; + var v2 := 0; + + var p: procedure := ()-> + begin + var v1 := v1+1; // Ошибка: Неизвестное имя 'v1' + v2 += 1; // если убрать эту строчку - ошибки нет + Assert(v1=1); + end; + + p; + +end. \ No newline at end of file diff --git a/TreeConverter/LambdaExpressions/Closure/CapturedVariablesTreeBuilder.cs b/TreeConverter/LambdaExpressions/Closure/CapturedVariablesTreeBuilder.cs index 61165b515..a2b4af3ff 100644 --- a/TreeConverter/LambdaExpressions/Closure/CapturedVariablesTreeBuilder.cs +++ b/TreeConverter/LambdaExpressions/Closure/CapturedVariablesTreeBuilder.cs @@ -71,6 +71,11 @@ namespace TreeConverter.LambdaExpressions.Closure public override void visit(var_def_statement varDefStmt) { + if (varDefStmt.inital_value != null) + { + ProcessNode(varDefStmt.inital_value); + } + _visitor.visit(varDefStmt); foreach (var id in varDefStmt.vars.idents) @@ -79,10 +84,6 @@ namespace TreeConverter.LambdaExpressions.Closure _currentTreeNode.VariablesDefinedInScope.Add(new CapturedVariablesTreeNode.CapturedSymbolInfo(varDefStmt, si)); } - if (varDefStmt.inital_value != null) - { - ProcessNode(varDefStmt.inital_value); - } } public override void visit(statement_list stmtList)