18#include <gwenhywfar/debug.h>
29 TYPEMAKER2_SLOT_LIST *slotList;
40 slot=Typemaker2_Slot_List_First(slotList);
53 slot=Typemaker2_Slot_List_Next(slot);
61 slot=Typemaker2_Slot_List_First(slotList);
82 slot=Typemaker2_Slot_List_Next(slot);
89 slot=Typemaker2_Slot_List_First(slotList);
122 if (s && *s && strcasecmp(s,
"none")) {
128 if (s && *s && strcasecmp(s,
"none")) {
174 slot=Typemaker2_Slot_List_Next(slot);
191 TYPEMAKER2_VIRTUALFN_LIST *fnList;
192 TYPEMAKER2_SLOT_LIST *slotList;
201 slot=Typemaker2_Slot_List_First(slotList);
204 TYPEMAKER2_VIRTUALFN_PARAM_LIST *plist;
218 if (s && *s && strcasecmp(s,
"none")) {
223 Typemaker2_VirtualFn_Param_List_Add(prm, plist);
226 if (s && *s && strcasecmp(s,
"none")) {
231 Typemaker2_VirtualFn_Param_List_Add(prm, plist);
238 Typemaker2_VirtualFn_Param_List_Add(prm, plist);
245 Typemaker2_VirtualFn_Param_List_Add(prm, plist);
255 Typemaker2_VirtualFn_List_Add(fn, fnList);
257 slot=Typemaker2_Slot_List_Next(slot);
269 TYPEMAKER2_VIRTUALFN_LIST *fnList;
275 fn=Typemaker2_VirtualFn_List_First(fnList);
279 fnNext=Typemaker2_VirtualFn_List_Next(fn);
281 Typemaker2_VirtualFn_List_Del(fn);
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
void GWEN_Buffer_Reset(GWEN_BUFFER *bf)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
int GWEN_Buffer_AppendByte(GWEN_BUFFER *bf, char c)
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
int TM2C_AddVirtualFnsFromSlots(TYPEMAKER2_TYPE *ty)
void TM2C_DelVirtualFnsFromSlots(TYPEMAKER2_TYPE *ty)
int TM2C_BuildSlotFunctions(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
void Typemaker2_Builder_AddCode(TYPEMAKER2_BUILDER *tb, const char *s)
void Typemaker2_Builder_AddPublicDeclaration(TYPEMAKER2_BUILDER *tb, const char *s)
void Typemaker2_Builder_AddPrivateDeclaration(TYPEMAKER2_BUILDER *tb, const char *s)
TYPEMAKER2_TYPEMANAGER * Typemaker2_Builder_GetTypeManager(const TYPEMAKER2_BUILDER *tb)
struct TYPEMAKER2_BUILDER TYPEMAKER2_BUILDER
uint32_t Typemaker2_Slot_GetFlags(const TYPEMAKER2_SLOT *p_struct)
const char * Typemaker2_Slot_GetParamType2(const TYPEMAKER2_SLOT *p_struct)
const char * Typemaker2_Slot_GetName(const TYPEMAKER2_SLOT *p_struct)
const char * Typemaker2_Slot_GetParamType1(const TYPEMAKER2_SLOT *p_struct)
struct TYPEMAKER2_SLOT TYPEMAKER2_SLOT
#define TYPEMAKER2_SLOT_FLAGS_USE_PARAM4
#define TYPEMAKER2_SLOT_FLAGS_USE_PARAM3
const char * Typemaker2_Type_GetIdentifier(const TYPEMAKER2_TYPE *ty)
TYPEMAKER2_SLOT_LIST * Typemaker2_Type_GetSlots(const TYPEMAKER2_TYPE *ty)
TYPEMAKER2_VIRTUALFN_LIST * Typemaker2_Type_GetVirtualFns(const TYPEMAKER2_TYPE *ty)
const char * Typemaker2_Type_GetPrefix(const TYPEMAKER2_TYPE *ty)
struct TYPEMAKER2_TYPE TYPEMAKER2_TYPE
@ TypeMaker2_Access_Public
const char * Typemaker2_TypeManager_GetApiDeclaration(const TYPEMAKER2_TYPEMANAGER *tym)
struct TYPEMAKER2_TYPEMANAGER TYPEMAKER2_TYPEMANAGER
void Typemaker2_VirtualFn_SetDefaultReturnValue(TYPEMAKER2_VIRTUALFN *vf, const char *s)
void Typemaker2_VirtualFn_SetName(TYPEMAKER2_VIRTUALFN *vf, const char *s)
void Typemaker2_VirtualFn_Param_SetType(TYPEMAKER2_VIRTUALFN_PARAM *prm, const char *s)
uint32_t Typemaker2_VirtualFn_GetFlags(const TYPEMAKER2_VIRTUALFN *vf)
void Typemaker2_VirtualFn_free(TYPEMAKER2_VIRTUALFN *vf)
TYPEMAKER2_VIRTUALFN * Typemaker2_VirtualFn_new()
TYPEMAKER2_VIRTUALFN_PARAM * Typemaker2_VirtualFn_Param_new()
void Typemaker2_VirtualFn_SetAccess(TYPEMAKER2_VIRTUALFN *vf, int i)
void Typemaker2_VirtualFn_SetReturnType(TYPEMAKER2_VIRTUALFN *vf, const char *s)
void Typemaker2_VirtualFn_AddFlags(TYPEMAKER2_VIRTUALFN *vf, uint32_t fl)
TYPEMAKER2_VIRTUALFN_PARAM_LIST * Typemaker2_VirtualFn_GetParamTypeList(const TYPEMAKER2_VIRTUALFN *vf)
void Typemaker2_VirtualFn_SetLocation(TYPEMAKER2_VIRTUALFN *vf, const char *s)
struct TYPEMAKER2_VIRTUALFN TYPEMAKER2_VIRTUALFN
struct TYPEMAKER2_VIRTUALFN_PARAM TYPEMAKER2_VIRTUALFN_PARAM
#define TYPEMAKER2_VIRTUALFN_FLAGS_FROMSLOT