public virtual Statement VisitGoto(Goto Goto) { return Goto; }
public override Statement VisitGoto(Goto Goto) { WriteLine("goto {0};", Goto.TargetLabel.Name); return Goto; }
public override Statement VisitGoto(Goto Goto) { if (Goto == null) return null; return base.VisitGoto((Goto)Goto.Clone()); }
private Statement ParseGoto(TokenSet followers){ SourceContext sctx = this.scanner.CurrentSourceContext; Debug.Assert(this.currentToken == Token.Goto); this.GetNextToken(); Statement result = null; switch(this.currentToken){ case Token.Case: this.GetNextToken(); result = new GotoCase(this.ParseExpression(followers|Token.Semicolon)); break; case Token.Default: result = new GotoCase(null); this.GetNextToken(); break; default: result = new Goto(this.scanner.GetIdentifier()); this.SkipIdentifierOrNonReservedKeyword(); break; } sctx.EndPos = this.scanner.endPos; result.SourceContext = sctx; this.SkipSemiColon(followers); return result; }
public override Statement VisitGoto(Goto Goto) { throw new InvalidOperationException("Unexpected Goto node in BBSplitter"); }
public EventingVisitor(Action<Goto> visitGoto) { VisitedGoto += visitGoto; } public event Action<Goto> VisitedGoto; public override Statement VisitGoto(Goto Goto) { if (VisitedGoto != null) VisitedGoto(Goto); return base.VisitGoto(Goto); }
public override Statement VisitGoto(Goto Goto) { if (Goto == null) return null; Goto.TargetLabel = (Identifier)this.VisitIdentifier(Goto.TargetLabel); return Goto; }