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

generic_parameter_constraints() protected method

protected generic_parameter_constraints ( GenericParameterDeclaration gpd ) : void
gpd GenericParameterDeclaration
return void
        protected void generic_parameter_constraints(
		GenericParameterDeclaration gpd
	)
        {
            TypeReference tr = null;

            try {      // for error handling
            {
                switch ( LA(1) )
                {
                case CLASS:
                {
                    match(CLASS);
                    if (0==inputState.guessing)
                    {

                                    gpd.Constraints |= GenericParameterConstraints.ReferenceType;

                    }
                    break;
                }
                case STRUCT:
                {
                    match(STRUCT);
                    if (0==inputState.guessing)
                    {

                                    gpd.Constraints |= GenericParameterConstraints.ValueType;

                    }
                    break;
                }
                case CONSTRUCTOR:
                {
                    match(CONSTRUCTOR);
                    if (0==inputState.guessing)
                    {

                                    gpd.Constraints |= GenericParameterConstraints.Constructable;

                    }
                    break;
                }
                case CALLABLE:
                case CHAR:
                case THEN:
                case LPAREN:
                case ID:
                case SPLICE_BEGIN:
                {
                    tr=type_reference();
                    if (0==inputState.guessing)
                    {

                                    gpd.BaseTypes.Add(tr);

                    }
                    break;
                }
                default:
                {
                    throw new NoViableAltException(LT(1), getFilename());
                }
                 }
            }
            {
                switch ( LA(1) )
                {
                case COMMA:
                {
                    match(COMMA);
                    generic_parameter_constraints(gpd);
                    break;
                }
                case RPAREN:
                {
                    break;
                }
                default:
                {
                    throw new NoViableAltException(LT(1), getFilename());
                }
                 }
            }
            }
            catch (RecognitionException ex)
            {
            if (0 == inputState.guessing)
            {
                reportError(ex, "generic_parameter_constraints");
                recover(ex,tokenSet_50_);
            }
            else
            {
                throw ex;
            }
            }
        }
BooParserBase