class jnc.DerivableType
class DerivableType: jnc.NamedType, jnc.MemberBlock { // properties size_t const property m_baseTypeCount; jnc.BaseTypeSlot* const indexed property m_baseTypeArray(size_t index); jnc.Function* const indexed property m_unaryOperatorTable(jnc.UnOpKind opKind); jnc.Function* const indexed property m_binaryOperatorTable(jnc.BinOpKind opKind); jnc.Function* const property m_callOperator; size_t const property m_castOperatorCount; jnc.Function* const indexed property m_castOperatorArray(size_t index); // construction construct(long p); // methods size_t findBaseTypeOffset(jnc.DerivableType* baseType) 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; 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; 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); jnc.Function* const property m_staticConstructor; jnc.Function* const property m_constructor; jnc.Function* const property m_destructor; size_t const property m_staticVariableCount; jnc.Variable* const indexed property m_staticVariableArray(size_t index); size_t const property m_fieldCount; jnc.Field* const indexed property m_fieldArray(size_t index); size_t const property m_methodCount; jnc.Function* const indexed property m_methodArray(size_t index); size_t const property m_propertyCount; jnc.Property* const indexed property m_propertyArray(size_t index); // 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; 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;