From 5f647d029cd18f3e45bddd34cb9860dc91e4f4aa Mon Sep 17 00:00:00 2001 From: Ivan Bondarev Date: Wed, 6 Jan 2021 12:37:03 +0100 Subject: [PATCH] #2135 --- TestSuite/errors/err0395.pas | 11 +++++++++++ TestSuite/errors/err0396.pas | 8 ++++++++ TreeConverter/TreeConversion/LambdaHelper.cs | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 TestSuite/errors/err0395.pas create mode 100644 TestSuite/errors/err0396.pas diff --git a/TestSuite/errors/err0395.pas b/TestSuite/errors/err0395.pas new file mode 100644 index 000000000..41da7ebc3 --- /dev/null +++ b/TestSuite/errors/err0395.pas @@ -0,0 +1,11 @@ +type + t1 = class + + static procedure operator+=(a: t1; d: System.Action) := exit; + + end; + +begin + var a := new t1; + a *= ()->Writeln(1); +end. \ No newline at end of file diff --git a/TestSuite/errors/err0396.pas b/TestSuite/errors/err0396.pas new file mode 100644 index 000000000..d087ec83d --- /dev/null +++ b/TestSuite/errors/err0396.pas @@ -0,0 +1,8 @@ +type TProc = procedure; + +var i: integer; + +begin + var l := new List; + l += ()->Inc(i); +end. \ No newline at end of file diff --git a/TreeConverter/TreeConversion/LambdaHelper.cs b/TreeConverter/TreeConversion/LambdaHelper.cs index f3fdcb4c6..5b2b3baf0 100644 --- a/TreeConverter/TreeConversion/LambdaHelper.cs +++ b/TreeConverter/TreeConversion/LambdaHelper.cs @@ -275,7 +275,7 @@ namespace PascalABCCompiler.TreeConverter if (op != Operators.Undefined) { var sil = leftType.find_in_type(name_reflector.get_name(op)); - if (sil.Count > 0) + if (sil != null && sil.Count > 0) { foreach (SymbolInfo si in sil) {