diff --git a/SyntaxVisitors/CheckingVisitors/UnnamedRecordsCheckErrorsVisitor.cs b/SyntaxVisitors/CheckingVisitors/UnnamedRecordsCheckErrorsVisitor.cs index af521b5a0..c7b2a23b5 100644 --- a/SyntaxVisitors/CheckingVisitors/UnnamedRecordsCheckErrorsVisitor.cs +++ b/SyntaxVisitors/CheckingVisitors/UnnamedRecordsCheckErrorsVisitor.cs @@ -33,7 +33,8 @@ namespace SyntaxVisitors.CheckingVisitors } public void AddProcHeader(procedure_header h) { - Add(h.name.meth_name); + if (h.name != null) + Add(h.name.meth_name); if (h.template_args != null) AddIdentList(h.template_args); if (h.parameters != null) diff --git a/TestSuite/records24.pas b/TestSuite/records24.pas new file mode 100644 index 000000000..67d22d489 --- /dev/null +++ b/TestSuite/records24.pas @@ -0,0 +1,24 @@ +type + t1 = class + + procedure p1; + begin + // Если описать так - не воспроизводится +// var p := procedure->exit(); + var p: procedure; + p := ()->exit(); + p(); + end; + + procedure p2; + // Обязательно вложенный тип + type r = record end; + begin + end; + + end; + +begin + var o := new t1; + o.p1; +end. \ No newline at end of file