From dbf22ca9e8d1f4caa8970f726206f767845758aa Mon Sep 17 00:00:00 2001 From: Ivan Bondarev Date: Sun, 9 Jun 2024 12:03:39 +0200 Subject: [PATCH] #3125 --- .../RenameSameBlockLocalVarsVisitor.cs | 2 +- TestSuite/yield8.pas | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 TestSuite/yield8.pas diff --git a/SyntaxVisitors/YieldVisitors/RenameSameBlockLocalVarsVisitor.cs b/SyntaxVisitors/YieldVisitors/RenameSameBlockLocalVarsVisitor.cs index b0777dd3b..9eae9e30b 100644 --- a/SyntaxVisitors/YieldVisitors/RenameSameBlockLocalVarsVisitor.cs +++ b/SyntaxVisitors/YieldVisitors/RenameSameBlockLocalVarsVisitor.cs @@ -129,7 +129,7 @@ namespace SyntaxVisitors Replace(var_def, newVS); listNodes[listNodes.Count - 1] = newVS; //SSM 8.11.18 - ProcessNode(newVS.inital_value); // SSM 10.06.2020 #2103 + //ProcessNode(newVS.inital_value); // SSM 10.06.2020 #2103 //base.visit(newVS); // SSM 10.06.2020 - зачем обходить всё? } diff --git a/TestSuite/yield8.pas b/TestSuite/yield8.pas new file mode 100644 index 000000000..dcd744296 --- /dev/null +++ b/TestSuite/yield8.pas @@ -0,0 +1,17 @@ +function V(n: byte) := 1; + +function f1: sequence of integer; +begin + //Ошибка: Ожидалось имя процедуры или функции + var v := V(0); + + // Если закомментировать эту строчку - предыдущая строчка работает + yield v; +end; + +begin + var i := 0; + foreach var j in f1 do + i := j; + assert(i = 1); +end. \ No newline at end of file