Esempio n. 1
0
 public override void ConstructLocalVariableStatement(LocalVariableStatement node)
 {
     this.WriteIndented("local ");
     for (var i = 0; i < node.Variables.Count; i++)
     {
         this.ConstructVariableExpression(( VariableExpression )node.Variables[i]);
         if (i < node.Variables.Count - 1)
         {
             this.Write(", ");
         }
     }
     if (node.Assignments.Count > 0)
     {
         this.Write(" = ");
         for (var i = 0; i < node.Assignments.Count; i++)
         {
             this.ConstructInternal(node.Assignments[i]);
             if (i < node.Assignments.Count - 1)
             {
                 this.Write(", ");
             }
         }
     }
     if (node.HasSemicolon)
     {
         this.Write(';');
     }
 }
Esempio n. 2
0
        protected virtual ASTNode FoldLocalVariableStatement(LocalVariableStatement node, params Object[] args)
        {
            node.SetVariables(this.FoldNodeList(node.Variables));
            node.SetAssignments(this.FoldNodeList(node.Assignments));

            if (node.Variables.Count == 0)
            {
                return(null);
            }
            return(node);
        }
Esempio n. 3
0
 protected virtual Object[] AnalyseLocalVariableStatement(LocalVariableStatement node, params Object[] args)
 {
     foreach (ASTNode var in node.Variables)
     {
         this.Analyse(var);
     }
     foreach (ASTNode val in node.Assignments)
     {
         this.Analyse(val);
     }
     return(null);
 }
 protected override Object[] AnalyseLocalVariableStatement(LocalVariableStatement node, params Object[] args)
 {
     foreach (ASTNode assign in node.Assignments)
     {
         this.Analyse(assign);
     }
     for (var i = 0; i < node.Variables.Count; i++)
     {
         if (i < node.Assignments.Count)
         {
             this.ProcessAssignment(node.Variables[i], node.Assignments[i]);
         }
         else
         {
             this.State[node.Variables[i]] = NilExpression.Nil;
         }
     }
     return(null);
 }
 public abstract void ConstructLocalVariableStatement(LocalVariableStatement node);