Boo.Lang.Parser.BooParserBase.callable_type_reference C# (CSharp) Method

callable_type_reference() protected method

protected callable_type_reference ( ) : CallableTypeReference
return CallableTypeReference
        protected CallableTypeReference callable_type_reference()
        {
            CallableTypeReference ctr;

            IToken  c = null;

                ctr = null;
                TypeReference tr = null;
                ParameterDeclarationCollection parameters = null;

            try {      // for error handling
            c = LT(1);
            match(CALLABLE);
            match(LPAREN);
            if (0==inputState.guessing)
            {

                        ctr = new CallableTypeReference(ToLexicalInfo(c));
                        parameters = ctr.Parameters;

            }
            callable_parameter_declaration_list(parameters);
            match(RPAREN);
            {
                if ((LA(1)==AS) && (tokenSet_43_.member(LA(2))))
                {
                    match(AS);
                    tr=type_reference();
                    if (0==inputState.guessing)
                    {

                                ctr.ReturnType = tr;

                    }
                }
                else if ((tokenSet_41_.member(LA(1))) && (tokenSet_15_.member(LA(2)))) {
                }
                else
                {
                    throw new NoViableAltException(LT(1), getFilename());
                }

            }
            }
            catch (RecognitionException ex)
            {
            if (0 == inputState.guessing)
            {
                reportError(ex, "callable_type_reference");
                recover(ex,tokenSet_41_);
            }
            else
            {
                throw ex;
            }
            }
            return ctr;
        }
BooParserBase