ES3Parser.statementTail C# (CSharp) Method

statementTail() public method

public statementTail ( ) : ES3Parser.statementTail_return
return ES3Parser.statementTail_return
    public ES3Parser.statementTail_return statementTail() // throws RecognitionException [1]
    {   
        ES3Parser.statementTail_return retval = new ES3Parser.statementTail_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        ES3Parser.variableStatement_return variableStatement89 = default(ES3Parser.variableStatement_return);

        ES3Parser.emptyStatement_return emptyStatement90 = default(ES3Parser.emptyStatement_return);

        ES3Parser.expressionStatement_return expressionStatement91 = default(ES3Parser.expressionStatement_return);

        ES3Parser.ifStatement_return ifStatement92 = default(ES3Parser.ifStatement_return);

        ES3Parser.iterationStatement_return iterationStatement93 = default(ES3Parser.iterationStatement_return);

        ES3Parser.continueStatement_return continueStatement94 = default(ES3Parser.continueStatement_return);

        ES3Parser.breakStatement_return breakStatement95 = default(ES3Parser.breakStatement_return);

        ES3Parser.returnStatement_return returnStatement96 = default(ES3Parser.returnStatement_return);

        ES3Parser.withStatement_return withStatement97 = default(ES3Parser.withStatement_return);

        ES3Parser.labelledStatement_return labelledStatement98 = default(ES3Parser.labelledStatement_return);

        ES3Parser.switchStatement_return switchStatement99 = default(ES3Parser.switchStatement_return);

        ES3Parser.throwStatement_return throwStatement100 = default(ES3Parser.throwStatement_return);

        ES3Parser.tryStatement_return tryStatement101 = default(ES3Parser.tryStatement_return);



        try 
    	{
            // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1427:2: ( variableStatement | emptyStatement | expressionStatement | ifStatement | iterationStatement | continueStatement | breakStatement | returnStatement | withStatement | labelledStatement | switchStatement | throwStatement | tryStatement )
            int alt58 = 13;
            alt58 = dfa58.Predict(input);
            switch (alt58) 
            {
                case 1 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1427:4: variableStatement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_variableStatement_in_statementTail5259);
                    	variableStatement89 = variableStatement();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, variableStatement89.Tree);
                    	 retval.value =  ((variableStatement89 != null) ? variableStatement89.value : default(Statement)); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1428:4: emptyStatement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_emptyStatement_in_statementTail5266);
                    	emptyStatement90 = emptyStatement();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, emptyStatement90.Tree);
                    	 retval.value =  ((emptyStatement90 != null) ? emptyStatement90.value : default(Statement)); 

                    }
                    break;
                case 3 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1429:4: expressionStatement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_expressionStatement_in_statementTail5273);
                    	expressionStatement91 = expressionStatement();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, expressionStatement91.Tree);
                    	 retval.value =  ((expressionStatement91 != null) ? expressionStatement91.value : default(Statement)); 

                    }
                    break;
                case 4 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1430:4: ifStatement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_ifStatement_in_statementTail5280);
                    	ifStatement92 = ifStatement();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, ifStatement92.Tree);
                    	 retval.value =  ((ifStatement92 != null) ? ifStatement92.value : default(Statement)); 

                    }
                    break;
                case 5 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1431:4: iterationStatement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_iterationStatement_in_statementTail5287);
                    	iterationStatement93 = iterationStatement();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, iterationStatement93.Tree);
                    	 retval.value =  ((iterationStatement93 != null) ? iterationStatement93.value : default(Statement)); 

                    }
                    break;
                case 6 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1432:4: continueStatement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_continueStatement_in_statementTail5294);
                    	continueStatement94 = continueStatement();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, continueStatement94.Tree);
                    	 retval.value =  ((continueStatement94 != null) ? continueStatement94.value : default(Statement)); 

                    }
                    break;
                case 7 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1433:4: breakStatement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_breakStatement_in_statementTail5301);
                    	breakStatement95 = breakStatement();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, breakStatement95.Tree);
                    	 retval.value =  ((breakStatement95 != null) ? breakStatement95.value : default(Statement)); 

                    }
                    break;
                case 8 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1434:4: returnStatement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_returnStatement_in_statementTail5308);
                    	returnStatement96 = returnStatement();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, returnStatement96.Tree);
                    	 retval.value =  ((returnStatement96 != null) ? returnStatement96.value : default(ReturnStatement)); 

                    }
                    break;
                case 9 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1435:4: withStatement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_withStatement_in_statementTail5315);
                    	withStatement97 = withStatement();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, withStatement97.Tree);
                    	 retval.value =  ((withStatement97 != null) ? withStatement97.value : default(Statement)); 

                    }
                    break;
                case 10 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1436:4: labelledStatement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_labelledStatement_in_statementTail5322);
                    	labelledStatement98 = labelledStatement();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, labelledStatement98.Tree);
                    	 retval.value =  ((labelledStatement98 != null) ? labelledStatement98.value : default(Statement)); 

                    }
                    break;
                case 11 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1437:4: switchStatement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_switchStatement_in_statementTail5329);
                    	switchStatement99 = switchStatement();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, switchStatement99.Tree);
                    	 retval.value =  ((switchStatement99 != null) ? switchStatement99.value : default(Statement)); 

                    }
                    break;
                case 12 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1438:4: throwStatement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_throwStatement_in_statementTail5336);
                    	throwStatement100 = throwStatement();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, throwStatement100.Tree);
                    	 retval.value =  ((throwStatement100 != null) ? throwStatement100.value : default(Statement)); 

                    }
                    break;
                case 13 :
                    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1439:4: tryStatement
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_tryStatement_in_statementTail5343);
                    	tryStatement101 = tryStatement();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, tryStatement101.Tree);
                    	 retval.value =  ((tryStatement101 != null) ? tryStatement101.value : default(TryStatement)); 

                    }
                    break;

            }
            retval.Stop = input.LT(-1);

            	retval.Tree = (object)adaptor.RulePostProcessing(root_0);
            	adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);

                    if (!(retval.value is ForStatement ||
                        retval.value is BlockStatement ||
                        retval.value is WhileStatement ||
                        retval.value is DoWhileStatement ||
                        retval.value is SwitchStatement ||
                        retval.value is TryStatement ||
                        retval.value is IfStatement)) {
                        retval.value.Source = ExtractSourceCode((CommonToken)retval.Start, (CommonToken)retval.Stop);
                    }

        }
        catch (RecognitionException re) 
    	{
            ReportError(re);
            Recover(input,re);
    	// Conversion of the second argument necessary, but harmless
    	retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re);

        }
        finally 
    	{
        }
        return retval;
    }
    // $ANTLR end "statementTail"
ES3Parser