Derivable Type
Derivable type is the base type for structs, unions and classes.
#include <jnc_DerivableType.h> // structs struct jnc_DerivableType; // global functions static jnc_DerivableType* jnc_BaseTypeSlot_getType(jnc_BaseTypeSlot* baseType); size_t jnc_BaseTypeSlot_getOffset(jnc_BaseTypeSlot* baseType); size_t jnc_BaseTypeSlot_getVtableIndex(jnc_BaseTypeSlot* baseType); jnc_Type* jnc_Field_getType(jnc_Field* field); uint_t jnc_Field_getBitOffset(jnc_Field* field); uint_t jnc_Field_getBitCount(jnc_Field* field); uint_t jnc_Field_getPtrTypeFlags(jnc_Field* field); size_t jnc_Field_getOffset(jnc_Field* field); jnc_Function* jnc_DerivableType_getStaticConstructor(jnc_DerivableType* type); jnc_OverloadableFunction jnc_DerivableType_getConstructor(jnc_DerivableType* type); jnc_Function* jnc_DerivableType_getDestructor(jnc_DerivableType* type); jnc_OverloadableFunction jnc_DerivableType_getUnaryOperator( jnc_DerivableType* type, jnc_UnOpKind opKind ); jnc_OverloadableFunction jnc_DerivableType_getBinaryOperator( jnc_DerivableType* type, jnc_BinOpKind opKind ); jnc_OverloadableFunction jnc_DerivableType_getCallOperator(jnc_DerivableType* type); size_t jnc_DerivableType_getCastOperatorCount(jnc_DerivableType* type); jnc_Function* jnc_DerivableType_getCastOperator( jnc_DerivableType* type, size_t index ); size_t jnc_DerivableType_getBaseTypeCount(jnc_DerivableType* type); jnc_BaseTypeSlot* jnc_DerivableType_getBaseType( jnc_DerivableType* type, size_t index ); size_t jnc_DerivableType_findBaseTypeOffset( jnc_DerivableType* type, jnc_Type* baseType ); size_t jnc_DerivableType_getStaticVariableCount(jnc_DerivableType* type); jnc_Variable* jnc_DerivableType_getStaticVariable( jnc_DerivableType* type, size_t index ); size_t jnc_DerivableType_getFieldCount(jnc_DerivableType* type); jnc_Field* jnc_DerivableType_getField( jnc_DerivableType* type, size_t index ); size_t jnc_DerivableType_getMethodCount(jnc_DerivableType* type); jnc_Function* jnc_DerivableType_getMethod( jnc_DerivableType* type, size_t index ); size_t jnc_DerivableType_getPropertyCount(jnc_DerivableType* type); jnc_Property* jnc_DerivableType_getProperty( jnc_DerivableType* type, size_t index );