UnityScript.Parser.UnityScriptParser.enum_declaration C# (CSharp) Method

enum_declaration() public method

public enum_declaration ( TypeDefinition container ) : TypeMember
container TypeDefinition
return TypeMember
        public TypeMember enum_declaration(TypeDefinition container)
        {
            TypeMember node = null;
            IToken token = null;
            IToken token2 = null;
            try
            {
                EnumDefinition definition2;
                this.match(13);
                token = this.LT(1);
                this.match(0x3b);
                if (base.inputState.guessing == 0)
                {
                    EnumDefinition definition;
                    EnumDefinition definition1 = definition = new EnumDefinition(ToLexicalInfo(token));
                    definition.set_Name(token.getText());
                    node = definition2 = definition;
                    this.FlushAttributes(node);
                    container.get_Members().Add(definition2);
                }
                this.match(0x3d);
                switch (this.LA(1))
                {
                    case 12:
                    case 0x10:
                    case 0x21:
                    case 0x3b:
                    case 0x63:
                        this.enum_member(definition2);
                        while ((this.LA(1) == 0x43) && tokenSet_34_.member(this.LA(2)))
                        {
                            this.match(0x43);
                            this.enum_member(definition2);
                        }
                        switch (this.LA(1))
                        {
                            case 0x43:
                                this.match(0x43);
                                goto Label_015B;
                        }
                        throw new NoViableAltException(this.LT(1), this.getFilename());

                    case 0x3e:
                        break;

                    default:
                        throw new NoViableAltException(this.LT(1), this.getFilename());
                }
            Label_015B:
                token2 = this.LT(1);
                this.match(0x3e);
                if (base.inputState.guessing == 0)
                {
                    SetEndSourceLocation(definition2, token2);
                }
                while ((this.LA(1) == 0x4d) && tokenSet_33_.member(this.LA(2)))
                {
                    this.match(0x4d);
                }
                return node;
            }
            catch (RecognitionException exception)
            {
                if (base.inputState.guessing != 0)
                {
                    throw;
                }
                this.reportError(exception);
                this.recover(exception, tokenSet_33_);
                return node;
            }
            return node;
        }
UnityScriptParser