From 532498038d465de10936c2c340d38bd10e642aea 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: Wed, 22 Nov 2017 21:13:05 +0100 Subject: [PATCH] bug fix #565 --- NETGenerator/Helpers.cs | 2 +- TestSuite/foreachenum1.pas | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 TestSuite/foreachenum1.pas diff --git a/NETGenerator/Helpers.cs b/NETGenerator/Helpers.cs index 1514277bc..214d1a0a9 100644 --- a/NETGenerator/Helpers.cs +++ b/NETGenerator/Helpers.cs @@ -792,7 +792,7 @@ namespace PascalABCCompiler.NETGenerator { public bool IsConstructedGenericType(Type t) { - if (t is TypeBuilder || t is GenericTypeParameterBuilder) + if (t is TypeBuilder || t is GenericTypeParameterBuilder || t is EnumBuilder) return true; if (t.IsGenericType) foreach (Type gt in t.GetGenericArguments()) diff --git a/TestSuite/foreachenum1.pas b/TestSuite/foreachenum1.pas new file mode 100644 index 000000000..f244a3e84 --- /dev/null +++ b/TestSuite/foreachenum1.pas @@ -0,0 +1,11 @@ +type + e1 = (ep1, ep2, ep3); + +begin + var i := 0; + foreach var a in arr(ep1, ep3) do + begin + assert(a=(i=0?ep1:ep3)); + Inc(i); + end; +end. \ No newline at end of file