18#include <gwenhywfar/debug.h>
26 TYPEMAKER2_VIRTUALFN_LIST *fns;
31 if (Typemaker2_VirtualFn_List_GetCount(fns)) {
43 vf=Typemaker2_VirtualFn_List_First(fns);
48 if (s && loc && strcasecmp(s, loc)==0) {
50 TYPEMAKER2_VIRTUALFN_PARAM_LIST *plist;
91 prm=Typemaker2_VirtualFn_Param_List_First(plist);
93 const char *paramName;
94 const char *paramType;
109 prm=Typemaker2_VirtualFn_Param_List_Next(prm);
119 vf=Typemaker2_VirtualFn_List_Next(vf);
131 TYPEMAKER2_VIRTUALFN_LIST *fns;
138 if (Typemaker2_VirtualFn_List_GetCount(fns)) {
146 vf=Typemaker2_VirtualFn_List_First(fns);
149 TYPEMAKER2_VIRTUALFN_PARAM_LIST *plist;
183 prm=Typemaker2_VirtualFn_Param_List_First(plist);
185 const char *paramDescr;
188 if (paramDescr && *paramDescr) {
189 const char *paramName;
199 snprintf(numbuf,
sizeof(numbuf)-1,
"param%d", i);
200 numbuf[
sizeof(numbuf)-1]=0;
206 len=strlen(paramDescr);
207 if (paramDescr[len-1]!=
'\n')
212 prm=Typemaker2_VirtualFn_Param_List_Next(prm);
259 prm=Typemaker2_VirtualFn_Param_List_First(plist);
261 const char *paramName;
262 const char *paramType;
277 snprintf(numbuf,
sizeof(numbuf)-1,
"param%d", i);
278 numbuf[
sizeof(numbuf)-1]=0;
282 prm=Typemaker2_VirtualFn_Param_List_Next(prm);
290 vf=Typemaker2_VirtualFn_List_Next(vf);
302 TYPEMAKER2_VIRTUALFN_LIST *fns;
307 if (Typemaker2_VirtualFn_List_GetCount(fns)) {
315 vf=Typemaker2_VirtualFn_List_First(fns);
317 TYPEMAKER2_VIRTUALFN_PARAM_LIST *plist;
355 prm=Typemaker2_VirtualFn_Param_List_First(plist);
357 const char *paramName;
358 const char *paramType;
373 snprintf(numbuf,
sizeof(numbuf)-1,
"param%d", i);
374 numbuf[
sizeof(numbuf)-1]=0;
378 prm=Typemaker2_VirtualFn_Param_List_Next(prm);
388 DBG_ERROR(0,
"Virtual functions has no name");
404 prm=Typemaker2_VirtualFn_Param_List_First(plist);
406 const char *paramName;
417 snprintf(numbuf,
sizeof(numbuf)-1,
"param%d", i);
418 numbuf[
sizeof(numbuf)-1]=0;
422 prm=Typemaker2_VirtualFn_Param_List_Next(prm);
443 vf=Typemaker2_VirtualFn_List_Next(vf);
455 TYPEMAKER2_VIRTUALFN_LIST *fns;
462 if (Typemaker2_VirtualFn_List_GetCount(fns)) {
470 vf=Typemaker2_VirtualFn_List_First(fns);
541 vf=Typemaker2_VirtualFn_List_Next(vf);
553 TYPEMAKER2_VIRTUALFN_LIST *fns;
558 if (Typemaker2_VirtualFn_List_GetCount(fns)) {
566 vf=Typemaker2_VirtualFn_List_First(fns);
648 vf=Typemaker2_VirtualFn_List_Next(vf);
660 TYPEMAKER2_VIRTUALFN_LIST *fns;
667 if (Typemaker2_VirtualFn_List_GetCount(fns)) {
675 vf=Typemaker2_VirtualFn_List_First(fns);
717 vf=Typemaker2_VirtualFn_List_Next(vf);
729 TYPEMAKER2_VIRTUALFN_LIST *fns;
734 if (Typemaker2_VirtualFn_List_GetCount(fns)) {
742 vf=Typemaker2_VirtualFn_List_First(fns);
790 vf=Typemaker2_VirtualFn_List_Next(vf);
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
int GWEN_Buffer_AppendArgs(GWEN_BUFFER *bf, const char *fmt,...)
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)
#define DBG_ERROR(dbg_logger, format, args...)
#define GWEN_ERROR_BAD_DATA
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
int TM2C_BuildDefineVirtualFns(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, const char *loc)
int TM2C_BuildProtoVirtualFns(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
int TM2C_BuildProtoSetterVirtualFns(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
int TM2C_BuildGetterVirtualFns(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
int TM2C_BuildProtoGetterVirtualFns(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
int TM2C_BuildSetterVirtualFns(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
int TM2C_BuildCodeVirtualFns(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_AddLibraryDeclaration(TYPEMAKER2_BUILDER *tb, const char *s)
void Typemaker2_Builder_AddProtectedDeclaration(TYPEMAKER2_BUILDER *tb, const char *s)
void Typemaker2_Builder_AddDeclaration(TYPEMAKER2_BUILDER *tb, int access, 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
const char * Typemaker2_Type_GetIdentifier(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
#define TYPEMAKER2_FLAGS_CONST
@ TypeMaker2_Access_Private
@ TypeMaker2_Access_Library
@ TypeMaker2_Access_Protected
@ TypeMaker2_Access_Public
#define TYPEMAKER2_FLAGS_GWEN_CB
const char * Typemaker2_TypeManager_GetApiDeclaration(const TYPEMAKER2_TYPEMANAGER *tym)
struct TYPEMAKER2_TYPEMANAGER TYPEMAKER2_TYPEMANAGER
const char * Typemaker2_VirtualFn_GetName(const TYPEMAKER2_VIRTUALFN *vf)
const char * Typemaker2_VirtualFn_GetDescr(const TYPEMAKER2_VIRTUALFN *vf)
const char * Typemaker2_VirtualFn_GetDefaultReturnValue(const TYPEMAKER2_VIRTUALFN *vf)
const char * Typemaker2_VirtualFn_GetReturnTypeDescr(const TYPEMAKER2_VIRTUALFN *vf)
const char * Typemaker2_VirtualFn_GetLocation(const TYPEMAKER2_VIRTUALFN *vf)
const char * Typemaker2_VirtualFn_Param_GetDescr(const TYPEMAKER2_VIRTUALFN_PARAM *prm)
const char * Typemaker2_VirtualFn_Param_GetType(const TYPEMAKER2_VIRTUALFN_PARAM *prm)
const char * Typemaker2_VirtualFn_Param_GetName(const TYPEMAKER2_VIRTUALFN_PARAM *prm)
uint32_t Typemaker2_VirtualFn_GetFlags(const TYPEMAKER2_VIRTUALFN *vf)
int Typemaker2_VirtualFn_GetAccess(const TYPEMAKER2_VIRTUALFN *vf)
TYPEMAKER2_VIRTUALFN_PARAM_LIST * Typemaker2_VirtualFn_GetParamTypeList(const TYPEMAKER2_VIRTUALFN *vf)
const char * Typemaker2_VirtualFn_GetReturnType(const TYPEMAKER2_VIRTUALFN *vf)
struct TYPEMAKER2_VIRTUALFN TYPEMAKER2_VIRTUALFN
struct TYPEMAKER2_VIRTUALFN_PARAM TYPEMAKER2_VIRTUALFN_PARAM