class jnc.EnumType

class EnumType: jnc.NamedType {
    // properties

    jnc.Type* const property m_baseType;
    size_t const property m_constCount;
    jnc.EnumConst* const indexed property m_constArray(size_t index);

    // construction

    construct(long p);

    // methods

    jnc.EnumConst* findConst(int64_t value) const;
};

Inherited Members

public:
    // properties

    jnc.Module* const property m_module;
    jnc.ModuleItemKind const property m_itemKind;
    uint_t const property m_flags;
    jnc.Type* const property m_type;
    jnc.TypeKind const property m_typeKind;
    size_t const property m_size;
    size_t const property m_alignment;
    string_t const property m_signature;
    string_t const property m_typeString;
    string_t const property m_typeStringPrefix;
    string_t const property m_typeStringSuffix;
    string_t const property m_name;
    string_t const property m_qualifiedName;
    jnc.StorageKind const property m_storageKind;
    jnc.AccessKind const property m_accessKind;
    jnc.AttributeBlock* const property m_attributeBlock;
    jnc.Namespace* const property m_parentNamespace;
    jnc.Unit* const property m_parentUnit;
    int const property m_line;
    int const property m_col;
    jnc.NamespaceKind const property m_namespaceKind;
    size_t const property m_itemCount;
    jnc.ModuleItem* const indexed property m_itemArray(size_t index);

    // methods

    int cmp(jnc.Type* type) const;

    string_t getValueString(
        void const* value,
        string_t formatSpec = null
    ) const;

    string_t getValueString(
        variant_t value,
        string_t formatSpec = null
    ) const;

    jnc.ArrayType* getArrayType(size_t elementCount) const;

    jnc.DataPtrType* getDataPtrType(
        jnc.TypeKind typeKind = TypeKind.DataPtr,
        jnc.DataPtrTypeKind ptrTypeKind = DataPtrTypeKind.Normal,
        jnc.PtrTypeFlags flags = 0
    ) const;

    jnc.Attribute* findAttribute(string_t name) const;
    variant_t findAttributeValue(string_t name) const;
    jnc.ModuleItem* findItem(string_t name) const;
    jnc.ModuleItem* findItemNoParse(string_t name) const;