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); }