public override void visit(tuple_node tup) { var dn = new dot_node(new dot_node(new ident("?System"), new ident("Tuple")), new ident("Create", tup.source_context)); var mc = new method_call(dn, tup.el, tup.source_context); //var sug = new sugared_expression(tup, mc, tup.source_context); - нет никакой семантической проверки - всё - на уровне синтаксиса! ReplaceUsingParent(tup, mc); visit(mc); }
public override void visit(tuple_node tup) { var dn = new dot_node(new dot_node(new ident("?System"), new ident("Tuple")), new ident("Create", tup.source_context)); var mc = new method_call(dn, tup.el, tup.source_context); //var sug = new sugared_expression(tup, mc, tup.source_context); - нет никакой семантической проверки - всё - на уровне синтаксиса! //ReplaceUsingParent(tup, mc); - исправление #1199. Оказывается, ReplaceUsingParent и Replace не эквивалентны - у копии Parent на старого родителя Replace(tup, mc); visit(mc); }
public virtual void visit(tuple_node _tuple_node) { DefaultVisit(_tuple_node); }
public override void visit(tuple_node tn) { TuplesCount++; base.visit(tn); }