18 #include <gwenhywfar/debug.h> 64 "%s *%s_dup(const %s *p_src);\n",
77 TYPEMAKER2_MEMBER_LIST *tml;
83 "%s *%s_dup(const %s *p_src) {\n",
101 tm=Typemaker2_Member_List_First(tml);
109 tm=Typemaker2_Member_List_Next(tm);
127 const char *sMemberName;
190 const char *sMemberName;
223 const char *sMemberName;
TYPEMAKER2_TYPEMANAGER * Typemaker2_Builder_GetTypeManager(const TYPEMAKER2_BUILDER *tb)
TYPEMAKER2_TYPE * Typemaker2_Member_GetTypePtr(const TYPEMAKER2_MEMBER *tm)
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
uint32_t Typemaker2_Member_GetFlags(const TYPEMAKER2_MEMBER *tm)
int Typemaker2_Builder_Invoke_DupFn(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
static int _addDupMemberCode(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, GWEN_BUFFER *tbuf)
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
#define TYPEMAKER2_FLAGS_ASSIGN
static int _addImplementation(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
int TM2C_BuildDup(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
static int _addDupValueCode(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, GWEN_BUFFER *tbuf)
const char * Typemaker2_Type_GetIdentifier(const TYPEMAKER2_TYPE *ty)
int GWEN_Buffer_AppendArgs(GWEN_BUFFER *bf, const char *fmt,...)
static void _addPrototype(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
uint32_t Typemaker2_Member_GetDupFlags(const TYPEMAKER2_MEMBER *tm)
struct TYPEMAKER2_BUILDER TYPEMAKER2_BUILDER
#define TYPEMAKER2_FLAGS_OWN
TYPEMAKER2_MEMBER_LIST * Typemaker2_Type_GetMembers(const TYPEMAKER2_TYPE *ty)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
void Typemaker2_Builder_AddCode(TYPEMAKER2_BUILDER *tb, const char *s)
struct TYPEMAKER2_TYPE TYPEMAKER2_TYPE
void Typemaker2_Builder_AddPublicDeclaration(TYPEMAKER2_BUILDER *tb, const char *s)
struct TYPEMAKER2_TYPEMANAGER TYPEMAKER2_TYPEMANAGER
#define DBG_INFO(dbg_logger, format, args...)
const char * Typemaker2_Type_GetPrefix(const TYPEMAKER2_TYPE *ty)
int Typemaker2_Type_GetType(const TYPEMAKER2_TYPE *ty)
#define TYPEMAKER2_FLAGS_NODUP
const char * Typemaker2_TypeManager_GetApiDeclaration(const TYPEMAKER2_TYPEMANAGER *tym)
int Typemaker2_Type_GetUsePrivateConstructor(const TYPEMAKER2_TYPE *ty)
struct TYPEMAKER2_MEMBER TYPEMAKER2_MEMBER
int Typemaker2_Builder_Invoke_AssignFn(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
int TM2C_AddReleaseOldValueCode(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, GWEN_BUFFER *tbuf)
static int _addAssignValueCode(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, GWEN_BUFFER *tbuf)
const char * Typemaker2_Member_GetName(const TYPEMAKER2_MEMBER *tm)
int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)