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

enum_definition() protected method

protected enum_definition ( TypeMemberCollection container ) : void
container TypeMemberCollection
return void
        protected void enum_definition(
		TypeMemberCollection container
	)
        {
            IToken  id = null;

                EnumDefinition ed = null;
                TypeMemberCollection members = null;

            try {      // for error handling
            match(ENUM);
            id = LT(1);
            match(ID);
            if (0==inputState.guessing)
            {
                ed = new EnumDefinition(ToLexicalInfo(id));
            }
            begin_with_doc(ed);
            if (0==inputState.guessing)
            {

                            ed.Name = id.getText();
                            ed.Modifiers = _modifiers;
                            AddAttributes(ed.Attributes);
                            container.Add(ed);
                            members = ed.Members;

            }
            {
                switch ( LA(1) )
                {
                case PASS:
                {
                    {
                        match(PASS);
                        eos();
                    }
                    break;
                }
                case ID:
                case LBRACK:
                case SPLICE_BEGIN:
                {
                    { // ( ... )+
                        int _cnt48=0;
                        for (;;)
                        {
                            switch ( LA(1) )
                            {
                            case ID:
                            case LBRACK:
                            {
                                enum_member(members);
                                break;
                            }
                            case SPLICE_BEGIN:
                            {
                                splice_type_definition_body(members);
                                break;
                            }
                            default:
                            {
                                if (_cnt48 >= 1) { goto _loop48_breakloop; } else { throw new NoViableAltException(LT(1), getFilename());; }
                            }
                            break; }
                            _cnt48++;
                        }
            _loop48_breakloop:						;
                    }    // ( ... )+
                    break;
                }
                default:
                {
                    throw new NoViableAltException(LT(1), getFilename());
                }
                 }
            }
            end(ed);
            }
            catch (RecognitionException ex)
            {
            if (0 == inputState.guessing)
            {
                reportError(ex, "enum_definition");
                recover(ex,tokenSet_22_);
            }
            else
            {
                throw ex;
            }
            }
        }
BooParserBase