class jnc.ClassPtrType

class ClassPtrType: jnc.Type {
    // properties

    jnc.ClassPtrTypeKind const property m_ptrTypeKind;
    jnc.ClassType* const property m_targetType;

    // construction

    construct(long p);
};

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;
    jnc.TypeKindFlags const property m_typeKindFlags;
    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;

    // methods

    int cmp(jnc.Type* type) const;
    jnc.ArrayType* getArrayType(size_t elementCount) const;

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

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

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

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