예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
 public virtual void visit(tuple_node _tuple_node)
 {
     DefaultVisit(_tuple_node);
 }
 public override void visit(tuple_node tn)
 {
     TuplesCount++;
     base.visit(tn);
 }