Exemple #1
0
		private SwitchStatement ParseSwitch()								
		{
            SwitchStatement node = new SwitchStatement(curtok);
			Advance(); // advance over SWITCH

			AssertAndAdvance(TokenID.LParen);
			node.Test = ParseExpression();
			AssertAndAdvance(TokenID.RParen);

			AssertAndAdvance(TokenID.LCurly);
			while (curtok.ID == TokenID.Case || curtok.ID == TokenID.Default)
			{
				node.Cases.Add(ParseCase());
			}

			AssertAndAdvance(TokenID.RCurly);

			if (curtok.ID == TokenID.Semi)
				Advance();
			return node;
		}
        public virtual object VisitSwitchStatement(SwitchStatement switchStatement, object data)
        {
            stackMap.Push(switchStatement);
            switchStatement.Test.AcceptVisitor(this, data);

             switchStatement.Cases.AcceptVisitor(this, data);

             stackMap.Pop();
             return null;

        }