Class Type
Overview
Class type is used to describe a class in Jancy. Moreā¦
#include <jnc_ClassType.h> // enums enum jnc_ClassPtrTypeKind; enum jnc_ClassTypeFlag; enum jnc_ClassTypeKind; enum jnc_McSnapshotFieldKind; enum jnc_McSnapshotMethodKind; enum jnc_MulticastFieldKind; enum jnc_MulticastMethodFlag; enum jnc_MulticastMethodKind; // structs struct jnc_ClassType; // global functions const char* jnc_getClassPtrTypeKindString(jnc_ClassPtrTypeKind ptrTypeKind); jnc_ClassTypeKind jnc_ClassType_getClassTypeKind(jnc_ClassType* type); jnc_StructType* jnc_ClassType_getIfaceStructType(jnc_ClassType* type); jnc_ClassPtrType* jnc_ClassType_getClassPtrType( jnc_ClassType* type, jnc_TypeKind typeKind, jnc_ClassPtrTypeKind ptrTypeKind, uint_t flags ); jnc_ClassPtrTypeKind jnc_ClassPtrType_getPtrTypeKind(jnc_ClassPtrType* type); jnc_ClassType* jnc_ClassPtrType_getTargetType(jnc_ClassPtrType* type); jnc_FunctionPtrType* jnc_MulticastClassType_getTargetType(jnc_MulticastClassType* type); static jnc_FunctionType* jnc_MulticastClassType_getFunctionType(jnc_MulticastClassType* type); jnc_Function* jnc_MulticastClassType_getMethod( jnc_MulticastClassType* type, jnc_MulticastMethodKind method ); jnc_FunctionPtrType* jnc_McSnapshotClassType_getTargetType(jnc_McSnapshotClassType* type); static jnc_FunctionType* jnc_McSnapshotClassType_getFunctionType(jnc_McSnapshotClassType* type); jnc_Function* jnc_McSnapshotClassType_getMethod( jnc_McSnapshotClassType* type, jnc_McSnapshotMethodKind method ); static bool_t jnc_isClassType( jnc_Type* type, jnc_ClassTypeKind classTypeKind ); static bool_t jnc_isOpaqueClassType(jnc_Type* type); static bool_t jnc_isClosureClassType(jnc_Type* type); static bool_t jnc_isDestructibleClassType(jnc_Type* type); static void* jnc_getMulticastCallMethodMachineCode(jnc_Multicast* multicast);
Detailed Documentation
Class type is used to describe a class in Jancy.
Unlike structs and unions, classes can contain destructors and virtual functions.