ES3Parser.formalParameterList C# (CSharp) Method

formalParameterList() public method

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

        object root_0 = null;

        IToken first = null;
        IToken follow = null;
        IToken LPAREN180 = null;
        IToken COMMA181 = null;
        IToken RPAREN182 = null;

        object first_tree=null;
        object follow_tree=null;
        object LPAREN180_tree=null;
        object COMMA181_tree=null;
        object RPAREN182_tree=null;


        List<string> identifiers = new List<string>();
        retval.value =  identifiers;

        try 
    	{
            // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1822:2: ( LPAREN (first= Identifier ( COMMA follow= Identifier )* )? RPAREN )
            // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1822:4: LPAREN (first= Identifier ( COMMA follow= Identifier )* )? RPAREN
            {
            	root_0 = (object)adaptor.GetNilNode();

            	LPAREN180=(IToken)Match(input,LPAREN,FOLLOW_LPAREN_in_formalParameterList6663); 
            		LPAREN180_tree = (object)adaptor.Create(LPAREN180);
            		adaptor.AddChild(root_0, LPAREN180_tree);

            	// C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1822:11: (first= Identifier ( COMMA follow= Identifier )* )?
            	int alt85 = 2;
            	int LA85_0 = input.LA(1);

            	if ( (LA85_0 == Identifier) )
            	{
            	    alt85 = 1;
            	}
            	switch (alt85) 
            	{
            	    case 1 :
            	        // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1822:13: first= Identifier ( COMMA follow= Identifier )*
            	        {
            	        	first=(IToken)Match(input,Identifier,FOLLOW_Identifier_in_formalParameterList6669); 
            	        		first_tree = (object)adaptor.Create(first);
            	        		adaptor.AddChild(root_0, first_tree);

            	        	 identifiers.Add(((first != null) ? first.Text : null)); 
            	        	// C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1822:64: ( COMMA follow= Identifier )*
            	        	do 
            	        	{
            	        	    int alt84 = 2;
            	        	    int LA84_0 = input.LA(1);

            	        	    if ( (LA84_0 == COMMA) )
            	        	    {
            	        	        alt84 = 1;
            	        	    }


            	        	    switch (alt84) 
            	        		{
            	        			case 1 :
            	        			    // C:\\Users\\s.ros\\Projets\\Jint\\Jint\\ES3.g:1822:66: COMMA follow= Identifier
            	        			    {
            	        			    	COMMA181=(IToken)Match(input,COMMA,FOLLOW_COMMA_in_formalParameterList6675); 
            	        			    		COMMA181_tree = (object)adaptor.Create(COMMA181);
            	        			    		adaptor.AddChild(root_0, COMMA181_tree);

            	        			    	follow=(IToken)Match(input,Identifier,FOLLOW_Identifier_in_formalParameterList6679); 
            	        			    		follow_tree = (object)adaptor.Create(follow);
            	        			    		adaptor.AddChild(root_0, follow_tree);

            	        			    	 identifiers.Add(((follow != null) ? follow.Text : null)); 

            	        			    }
            	        			    break;

            	        			default:
            	        			    goto loop84;
            	        	    }
            	        	} while (true);

            	        	loop84:
            	        		;	// Stops C# compiler whining that label 'loop84' has no statements


            	        }
            	        break;

            	}

            	RPAREN182=(IToken)Match(input,RPAREN,FOLLOW_RPAREN_in_formalParameterList6690); 
            		RPAREN182_tree = (object)adaptor.Create(RPAREN182);
            		adaptor.AddChild(root_0, RPAREN182_tree);


            }

            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 "formalParameterList"
ES3Parser