From 8b87443ed92f772d7e560ddcfd376705f7fe76a7 Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Sat, 8 Jun 2019 21:54:32 +0300 Subject: [PATCH] bug fix #976 --- Configuration/GlobalAssemblyInfo.cs | 2 +- Configuration/Version.defs | 2 +- ReleaseGenerators/PascalABCNET_version.nsh | 2 +- ...tExprWithLambdaInForeachSequenceVisitor.cs | 2 +- TestSuite/lambda_capture_foreach_seq.pas | 24 +++++++++++++++++++ 5 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 TestSuite/lambda_capture_foreach_seq.pas diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index 89bf14e30..ba00cfeda 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 = "2092"; + public const string Revision = "2094"; 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 7bb25ba04..d472b5f0b 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ %COREVERSION%=0 -%REVISION%=2092 +%REVISION%=2094 %MINOR%=5 %MAJOR%=3 diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index bb4dbadfb..3609bb751 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.5.0.2092' +!define VERSION '3.5.0.2094' diff --git a/SyntaxTreeConverters/StandOutExprWithLambdaInForeachSequenceVisitor.cs b/SyntaxTreeConverters/StandOutExprWithLambdaInForeachSequenceVisitor.cs index f6a82c35e..ab75aae4a 100644 --- a/SyntaxTreeConverters/StandOutExprWithLambdaInForeachSequenceVisitor.cs +++ b/SyntaxTreeConverters/StandOutExprWithLambdaInForeachSequenceVisitor.cs @@ -26,7 +26,7 @@ namespace PascalABCCompiler.SyntaxTreeConverters public override void visit(foreach_stmt fe) { - if (fe.in_what.DescendantNodes().OfType().Count() > 0) + if (fe.DescendantNodes().OfType().Count() > 0) { var id = GenIdentName(); id.Parent = fe; diff --git a/TestSuite/lambda_capture_foreach_seq.pas b/TestSuite/lambda_capture_foreach_seq.pas new file mode 100644 index 000000000..872ece5ff --- /dev/null +++ b/TestSuite/lambda_capture_foreach_seq.pas @@ -0,0 +1,24 @@ +type + t0 = class + public s1: sequence of integer; + end; + + t1 = class + procedure p1; + begin + var a2: t0; + var a1: t0; + foreach var x in a1.s1 do + begin + var p: procedure := ()-> + begin + writeln(x); + a1 := a1; + end; + end; + end; + end; + +begin + Assert(1=1); +end. \ No newline at end of file