From 29d80edb56cd3241f6d428d57d0c63d05affe32e Mon Sep 17 00:00:00 2001 From: miks1965 Date: Tue, 25 Sep 2018 20:35:43 +0300 Subject: [PATCH] bug fix #1199 --- Parsers/PascalABCParserNewSaushkin/ABCPascal.y | 4 ++-- Parsers/PascalABCParserNewSaushkin/PABC.ymc | 1 + SyntaxVisitors/SugarVisitors/TupleVisitor.cs | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y index 953b29d1e..873932071 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y @@ -3270,9 +3270,9 @@ new_expr var typename = "AnonymousType#"+Guid(); var type = new named_type_reference(typename,@1); - // node new_expr - for code generation + // node new_expr - for code generation of new node var ne = new new_expr(type, new expression_list(exprs), @$); - // node unnamed_type_object - for formatting + // node unnamed_type_object - for formatting and code generation (new node and Anonymous class) $$ = new unnamed_type_object(l, true, ne, @$); } ; diff --git a/Parsers/PascalABCParserNewSaushkin/PABC.ymc b/Parsers/PascalABCParserNewSaushkin/PABC.ymc index 00f9538ee..d7fb6476d 100644 --- a/Parsers/PascalABCParserNewSaushkin/PABC.ymc +++ b/Parsers/PascalABCParserNewSaushkin/PABC.ymc @@ -217,5 +217,6 @@ script= + diff --git a/SyntaxVisitors/SugarVisitors/TupleVisitor.cs b/SyntaxVisitors/SugarVisitors/TupleVisitor.cs index a27c43106..1f4a26ac3 100644 --- a/SyntaxVisitors/SugarVisitors/TupleVisitor.cs +++ b/SyntaxVisitors/SugarVisitors/TupleVisitor.cs @@ -44,7 +44,8 @@ namespace SyntaxVisitors.SugarVisitors //var sug = new sugared_expression(tup, mc, tup.source_context); - нет никакой семантической проверки - всё - на уровне синтаксиса! - ReplaceUsingParent(tup, mc); + //ReplaceUsingParent(tup, mc); - исправление #1199. Оказывается, ReplaceUsingParent и Replace не эквивалентны + Replace(tup, mc); visit(mc); }