Type
This type is the root of type hierarchy in Jancy. All the other types are inherited from it.
#include <jnc_Type.h> // enums enum jnc_DataPtrTypeKind; enum jnc_PtrTypeFlag; enum jnc_StdType; enum jnc_TypeFlag; enum jnc_TypeKind; enum jnc_TypeKindFlag; // structs struct jnc_Type; // global functions static bool_t jnc_isAutoSizeArrayType(jnc_Type* type); static bool_t jnc_isCharArrayType(jnc_Type* type); static bool_t jnc_isCharArrayRefType(jnc_Type* type); static bool_t jnc_isConstructibleType(jnc_Type* type); uint_t jnc_getTypeKindFlags(jnc_TypeKind typeKind); const char* jnc_getPtrTypeFlagString_v(uint_t flags); const char* jnc_getDataPtrTypeKindString(jnc_DataPtrTypeKind ptrTypeKind); jnc_TypeKind jnc_Type_getTypeKind(jnc_Type* type); static uint_t jnc_Type_getTypeKindFlags(jnc_Type* type); size_t jnc_Type_getSize(jnc_Type* type); const char* jnc_Type_getTypeString(jnc_Type* type); const char* jnc_Type_getTypeStringPrefix(jnc_Type* type); const char* jnc_Type_getTypeStringSuffix(jnc_Type* type); int jnc_Type_cmp( jnc_Type* type, jnc_Type* type2 ); jnc_ArrayType* jnc_Type_getArrayType( jnc_Type* type, size_t elementCount ); jnc_DataPtrType* jnc_Type_getBitFieldDataPtrType( jnc_Type* type, uint_t bitOffset, uint_t bitCount, jnc_TypeKind typeKind, jnc_DataPtrTypeKind ptrTypeKind, uint_t flags ); jnc_DataPtrType* jnc_Type_getDataPtrType( jnc_Type* type, jnc_TypeKind typeKind, jnc_DataPtrTypeKind ptrTypeKind, uint_t flags ); bool_t jnc_Type_ensureNoImports(jnc_Type* type); bool_t jnc_Type_ensureLayout(jnc_Type* type); void jnc_Type_markGcRoots( jnc_Type* type, const void* p, jnc_GcHeap* gcHeap ); jnc_DataPtrTypeKind jnc_DataPtrType_getPtrTypeKind(jnc_DataPtrType* type); jnc_Type* jnc_DataPtrType_getTargetType(jnc_DataPtrType* type); uint_t jnc_DataPtrType_getBitOffset(jnc_DataPtrType* type); uint_t jnc_DataPtrType_getBitCount(jnc_DataPtrType* type); static bool_t jnc_isCharPtrType(jnc_Type* type); static bool_t jnc_isDerivableTypePtrType(jnc_Type* type); static bool_t jnc_isArrayRefType(jnc_Type* type); static bool_t jnc_isDataPtrType( jnc_Type* type, jnc_DataPtrTypeKind kind );