compiles but doesnt work
This commit is contained in:
@@ -90,6 +90,8 @@ void kerepTypeDescriptors_initKerepTypes(){
|
||||
kerepType_register(Hashtable*, kerepTypeId_HashtablePtr, __Hashtable_free);
|
||||
|
||||
// StringBuilder
|
||||
kerepType_register(Autoarr_string, kerepTypeId_AutoarrString, ____Autoarr_free_string);
|
||||
kerepType_register(Autoarr_string*, kerepTypeId_AutoarrStringPtr, ____Autoarr_free_string);
|
||||
kerepType_register(StringBuilder, kerepTypeId_StringBuilder, __StringBuilder_free);
|
||||
kerepType_register(StringBuilder*, kerepTypeId_StringBuilderPtr, __StringBuilder_free);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,34 @@
|
||||
Autoarr_declare(kerepTypeDescriptor)
|
||||
Autoarr_define(kerepTypeDescriptor)
|
||||
|
||||
kerepTypeId_define(kerepTypeId_Null);
|
||||
|
||||
kerepTypeId_define(kerepTypeId_Char);
|
||||
kerepTypeId_define(kerepTypeId_Bool);
|
||||
kerepTypeId_define(kerepTypeId_Float32);
|
||||
kerepTypeId_define(kerepTypeId_Float64);
|
||||
kerepTypeId_define(kerepTypeId_Int8);
|
||||
kerepTypeId_define(kerepTypeId_UInt8);
|
||||
kerepTypeId_define(kerepTypeId_Int16);
|
||||
kerepTypeId_define(kerepTypeId_UInt16);
|
||||
kerepTypeId_define(kerepTypeId_Int32);
|
||||
kerepTypeId_define(kerepTypeId_UInt32);
|
||||
kerepTypeId_define(kerepTypeId_Int64);
|
||||
kerepTypeId_define(kerepTypeId_UInt64);
|
||||
|
||||
kerepTypeId_define(kerepTypeId_CharPtr);
|
||||
kerepTypeId_define(kerepTypeId_BoolPtr);
|
||||
kerepTypeId_define(kerepTypeId_Float32Ptr);
|
||||
kerepTypeId_define(kerepTypeId_Float64Ptr);
|
||||
kerepTypeId_define(kerepTypeId_Int8Ptr);
|
||||
kerepTypeId_define(kerepTypeId_UInt8Ptr);
|
||||
kerepTypeId_define(kerepTypeId_Int16Ptr);
|
||||
kerepTypeId_define(kerepTypeId_UInt16Ptr);
|
||||
kerepTypeId_define(kerepTypeId_Int32Ptr);
|
||||
kerepTypeId_define(kerepTypeId_UInt32Ptr);
|
||||
kerepTypeId_define(kerepTypeId_Int64Ptr);
|
||||
kerepTypeId_define(kerepTypeId_UInt64Ptr);
|
||||
|
||||
// type descriptors are stored here during initialization
|
||||
Autoarr(kerepTypeDescriptor)* __kerepTypeDescriptors=NULL;
|
||||
// here type descriptors are stored when initialization is complited
|
||||
@@ -31,7 +59,7 @@ void __kerepType_register(char* name, int16 size, void (*free_members)(void*)){
|
||||
.size=size,
|
||||
.free_members=free_members,
|
||||
.id=++kerepTypeId_last
|
||||
};
|
||||
}; dbg(kerepTypeId_last);
|
||||
Autoarr_add(__kerepTypeDescriptors, typeDesc);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
#include "base.h"
|
||||
|
||||
kerepTypeId_define(kerepTypeId_Unitype);
|
||||
kerepTypeId_define(kerepTypeId_UnitypePtr);
|
||||
|
||||
void Unitype_free(Unitype u){
|
||||
kerepTypeDescriptor type=kerepTypeDescriptor_get(u.typeId);
|
||||
if(type.free_members)
|
||||
|
||||
Reference in New Issue
Block a user