BFSchema.AstConvert.ConvertEnumType C# (CSharp) Method

ConvertEnumType() private method

private ConvertEnumType ( PegNode node, BfsEnum block ) : void
node Peg.Base.PegNode
block BfsEnum
return void
        private void ConvertEnumType(PegNode node, BfsEnum block)
        {
            if (block == null)
                throw new AstConvertException("Type wasn't an enum");

            StoreSourceRange(node, block);

            block.Name = GetNodeText(node);
            block.PrimitiveType = ConvertPrimitiveType(node.next_);

            //For all enum fields contained in the enum (values,ranges and 'else')
            for (PegNode enumfield = node.next_.next_; enumfield != null; enumfield = enumfield.next_)
            {
                if (GetNodeId(enumfield) == EBinaryFileSchemaParser.enumfield)
                    ConvertEnumField(enumfield, block);
                else if (GetNodeId(enumfield) == EBinaryFileSchemaParser.localfield)
                    ConvertLocalField(enumfield, block);
                else
                    throw new AstConvertException("Not an enum field!");
            }
        }