private GotoStatement ParseGoto() { Advance(); GotoStatement gn = new GotoStatement(curtok); if (curtok.ID == TokenID.Case) { Advance(); gn.IsCase = true; } else if (curtok.ID == TokenID.Default) { Advance(); gn.IsDefaultCase = true; } if (!gn.IsDefaultCase) { gn.Target = ParseExpression(); } AssertAndAdvance(TokenID.Semi); return gn; }
public virtual object VisitGotoStatement(GotoStatement gotoStatement, object data) { stackMap.Push(gotoStatement); if (gotoStatement.Target != null) { gotoStatement.Target.AcceptVisitor(this, data); } stackMap.Pop(); return null; }