Пример #1
0
 public void Accept(UsingNode node)
 {
 }
Пример #2
0
 public void Accept(UsingNode node)
 {
     table.PushScope();
     node.Expression.Visit(this);
     var symbol = nextLabel();
     if (table.ContainsSymbol(symbol.ToString()))
         table.AddSymbol(symbol.ToString());
     method.Emit(node.SourceLocation, InstructionType.StoreLocal, table.GetSymbol(symbol.ToString()));
     if (node.Children[0] is CodeBlockNode)
         node.Children[0].VisitChildren(this);
     else
         node.Children[0].Visit(this);
     method.Emit(node.SourceLocation, InstructionType.LoadLocal, table.GetSymbol(symbol.ToString()));
     method.Emit(node.SourceLocation, InstructionType.Dispose);
     table.PopScope();
 }