예제 #1
0
        public override object VisitUsingStatement(UsingStatementContext context)
        {
            var obj = "";

            foreach (var(i, v) in range(context.constId()))
            {
                if (i != 0)
                {
                    obj += "," + Visit(v);
                }
                else
                {
                    obj += Visit(v);
                }
            }
            if (context.constId().Length > 1)
            {
                obj = "(" + obj + ")";
            }
            var r2 = (Result)(Visit(context.tupleExpression()));

            obj += (new System.Text.StringBuilder().Append(" = ").Append(r2.text)).to_str();
            obj  = (new System.Text.StringBuilder().Append("using (").Append(obj).Append(") ").Append(BlockLeft).Append(Wrap)).to_str();
            this.add_current_set();
            obj += ProcessFunctionSupport(context.functionSupportStatement());
            this.delete_current_set();
            obj += BlockRight;
            return(obj);
        }
예제 #2
0
 public override UsingStatementNode VisitUsingStatement([NotNull] UsingStatementContext context)
 {
     return(new UsingStatementNode(context.nestedName().GetText(), GetLocation(context)));
 }