ES3Parser.withStatement C# (CSharp) Method

withStatement() public method

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

        object root_0 = null;

        IToken WITH148 = null;
        IToken LPAREN149 = null;
        IToken RPAREN150 = null;
        ES3Parser.expression_return exp = default(ES3Parser.expression_return);

        ES3Parser.statement_return smt = default(ES3Parser.statement_return);


        object WITH148_tree=null;
        object LPAREN149_tree=null;
        object RPAREN150_tree=null;

        try 
    	{
            // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1703:2: ( WITH LPAREN exp= expression RPAREN smt= statement )
            // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1703:4: WITH LPAREN exp= expression RPAREN smt= statement
            {
            	root_0 = (object)adaptor.GetNilNode();

            	WITH148=(IToken)Match(input,WITH,FOLLOW_WITH_in_withStatement6218); 
            		WITH148_tree = (object)adaptor.Create(WITH148);
            		root_0 = (object)adaptor.BecomeRoot(WITH148_tree, root_0);

            	LPAREN149=(IToken)Match(input,LPAREN,FOLLOW_LPAREN_in_withStatement6221); 
            	PushFollow(FOLLOW_expression_in_withStatement6226);
            	exp = expression();
            	state.followingStackPointer--;

            	adaptor.AddChild(root_0, exp.Tree);
            	RPAREN150=(IToken)Match(input,RPAREN,FOLLOW_RPAREN_in_withStatement6228); 
            	PushFollow(FOLLOW_statement_in_withStatement6233);
            	smt = statement();
            	state.followingStackPointer--;

            	adaptor.AddChild(root_0, smt.Tree);
            	 retval.value =  new WithStatement(exp.value, smt.value); 

            }

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

            	retval.Tree = (object)adaptor.RulePostProcessing(root_0);
            	adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) 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 "withStatement"
ES3Parser