gwenhywfar  5.4.1
Functions
tm_builder_c.c File Reference
#include "tm_builder_c.h"
#include <gwenhywfar/debug.h>
#include <ctype.h>
#include <string.h>
Include dependency graph for tm_builder_c.c:

Go to the source code of this file.

Functions

static int _addVirtualFnsFromSlots (GWEN_UNUSED TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildApiDoc (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildAttach (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildCacheFunctions (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
int _buildCodeVirtualFns (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildConstructor (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildCopy (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildCreateColumnList (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildCreateObject (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildCreateTable (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildDefineDefines (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildDefineEnums (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
int _buildDefineVirtualFns (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, const char *loc)
 
static int _buildDestructor (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildDup (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildEndHeaders (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildEnumFromString (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildEnumToString (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildFieldIds (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildFromDb (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildFromObject (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildFromXml (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildGetByMember (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildGetter (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildGroupApiDoc (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_GROUP *grp, int depth, GWEN_BUFFER *buf)
 
static int _buildInlines (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildList1Dup (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildList1GetByMember (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm)
 
static int _buildList1SortByMember (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm)
 
static int _buildMacroFunctions (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildMemberInlines (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildPostHeaders (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
int _buildProtoSetterVirtualFns (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
int _buildProtoVirtualFns (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildReadDb (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildReadObject (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildReadXml (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildSetter (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
int _buildSetterVirtualFns (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildSignalFunctions (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildSlotFunctions (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildSortByMember (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildStruct (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildToDb (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildToHashString (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildToObject (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildToXml (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildTree2GetByMember (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm)
 
static int _buildTreeGetByMember (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm)
 
static int _buildTypedef (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildWriteDb (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildWriteObject (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _buildWriteXml (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static void _delVirtualFnsFromSlots (GWEN_UNUSED TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int _setEnumStringFns (GWEN_UNUSED TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
static int Typemaker2_Builder_C_Build (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
TYPEMAKER2_BUILDERTypemaker2_Builder_C_new ()
 

Function Documentation

◆ _addVirtualFnsFromSlots()

static int _addVirtualFnsFromSlots ( GWEN_UNUSED TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildApiDoc()

static int _buildApiDoc ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildAttach()

static int _buildAttach ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildCacheFunctions()

static int _buildCacheFunctions ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildCodeVirtualFns()

int _buildCodeVirtualFns ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)

◆ _buildConstructor()

static int _buildConstructor ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildCopy()

static int _buildCopy ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildCreateColumnList()

static int _buildCreateColumnList ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildCreateObject()

static int _buildCreateObject ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildCreateTable()

static int _buildCreateTable ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildDefineDefines()

static int _buildDefineDefines ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildDefineEnums()

static int _buildDefineEnums ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildDefineVirtualFns()

int _buildDefineVirtualFns ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
const char *  loc 
)

◆ _buildDestructor()

static int _buildDestructor ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildDup()

static int _buildDup ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildEndHeaders()

static int _buildEndHeaders ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildEnumFromString()

static int _buildEnumFromString ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildEnumToString()

static int _buildEnumToString ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildFieldIds()

static int _buildFieldIds ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildFromDb()

static int _buildFromDb ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildFromObject()

static int _buildFromObject ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildFromXml()

static int _buildFromXml ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildGetByMember()

static int _buildGetByMember ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildGetter()

static int _buildGetter ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildGroupApiDoc()

static int _buildGroupApiDoc ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_GROUP grp,
int  depth,
GWEN_BUFFER buf 
)
static

◆ _buildInlines()

static int _buildInlines ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildList1Dup()

static int _buildList1Dup ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildList1GetByMember()

static int _buildList1GetByMember ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm 
)
static

◆ _buildList1SortByMember()

static int _buildList1SortByMember ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm 
)
static

◆ _buildMacroFunctions()

static int _buildMacroFunctions ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildMemberInlines()

static int _buildMemberInlines ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildPostHeaders()

static int _buildPostHeaders ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildProtoSetterVirtualFns()

int _buildProtoSetterVirtualFns ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)

◆ _buildProtoVirtualFns()

int _buildProtoVirtualFns ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)

◆ _buildReadDb()

static int _buildReadDb ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildReadObject()

static int _buildReadObject ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildReadXml()

static int _buildReadXml ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildSetter()

static int _buildSetter ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

Definition at line 1323 of file tm_builder_c.c.

References DBG_ERROR, DBG_INFO, GWEN_Buffer_AppendByte(), GWEN_Buffer_AppendString(), GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_new(), GWEN_Buffer_Reset(), GWEN_ERROR_BAD_DATA, GWEN_LOGDOMAIN, NULL, TypeMaker2_Access_Library, TypeMaker2_Access_Private, TypeMaker2_Access_Protected, TypeMaker2_Access_Public, Typemaker2_Builder_AddCode(), Typemaker2_Builder_AddLibraryDeclaration(), Typemaker2_Builder_AddPrivateDeclaration(), Typemaker2_Builder_AddProtectedDeclaration(), Typemaker2_Builder_AddPublicDeclaration(), Typemaker2_Builder_GetTypeManager(), Typemaker2_Builder_Invoke_AssignFn(), Typemaker2_Builder_Invoke_ConstructFn(), Typemaker2_Builder_Invoke_DestructFn(), Typemaker2_Builder_Invoke_DupFn(), Typemaker2_Enum_GetType(), TYPEMAKER2_FLAGS_CONST, TYPEMAKER2_FLAGS_DUP, TYPEMAKER2_FLAGS_ENUM, TYPEMAKER2_FLAGS_OMIT, TYPEMAKER2_FLAGS_OWN, TYPEMAKER2_FLAGS_WITH_FLAGS, Typemaker2_Member_GetAccess(), Typemaker2_Member_GetEnumPtr(), Typemaker2_Member_GetFlags(), Typemaker2_Member_GetName(), Typemaker2_Member_GetPresetValue(), Typemaker2_Member_GetSetFlags(), Typemaker2_Member_GetTypePtr(), TypeMaker2_Type_Array, Typemaker2_Type_GetIdentifier(), Typemaker2_Type_GetMembers(), Typemaker2_Type_GetPrefix(), Typemaker2_Type_GetType(), TypeMaker2_Type_Pointer, and Typemaker2_TypeManager_GetApiDeclaration().

Referenced by Typemaker2_Builder_C_Build().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _buildSetterVirtualFns()

int _buildSetterVirtualFns ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)

◆ _buildSignalFunctions()

static int _buildSignalFunctions ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildSlotFunctions()

static int _buildSlotFunctions ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildSortByMember()

static int _buildSortByMember ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildStruct()

static int _buildStruct ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildToDb()

static int _buildToDb ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildToHashString()

static int _buildToHashString ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildToObject()

static int _buildToObject ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildToXml()

static int _buildToXml ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildTree2GetByMember()

static int _buildTree2GetByMember ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm 
)
static

◆ _buildTreeGetByMember()

static int _buildTreeGetByMember ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm 
)
static

◆ _buildTypedef()

static int _buildTypedef ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildWriteDb()

static int _buildWriteDb ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildWriteObject()

static int _buildWriteObject ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _buildWriteXml()

static int _buildWriteXml ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ _delVirtualFnsFromSlots()

static void _delVirtualFnsFromSlots ( GWEN_UNUSED TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

Definition at line 7167 of file tm_builder_c.c.

References Typemaker2_Type_GetVirtualFns(), TYPEMAKER2_VIRTUALFN_FLAGS_FROMSLOT, Typemaker2_VirtualFn_free(), and Typemaker2_VirtualFn_GetFlags().

Referenced by Typemaker2_Builder_C_Build().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _setEnumStringFns()

static int _setEnumStringFns ( GWEN_UNUSED TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

◆ Typemaker2_Builder_C_Build()

static int Typemaker2_Builder_C_Build ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
static

Definition at line 7192 of file tm_builder_c.c.

References _addVirtualFnsFromSlots(), _buildApiDoc(), _buildAttach(), _buildCacheFunctions(), _buildCodeVirtualFns(), _buildConstructor(), _buildCopy(), _buildCreateColumnList(), _buildCreateObject(), _buildCreateTable(), _buildDefineDefines(), _buildDefineEnums(), _buildDefineVirtualFns(), _buildDestructor(), _buildDup(), _buildEndHeaders(), _buildEnumFromString(), _buildEnumToString(), _buildFieldIds(), _buildFromDb(), _buildFromObject(), _buildFromXml(), _buildGetByMember(), _buildGetter(), _buildInlines(), _buildList1Dup(), _buildMacroFunctions(), _buildMemberInlines(), _buildPostHeaders(), _buildProtoSetterVirtualFns(), _buildProtoVirtualFns(), _buildReadDb(), _buildReadObject(), _buildReadXml(), _buildSetter(), _buildSetterVirtualFns(), _buildSignalFunctions(), _buildSlotFunctions(), _buildSortByMember(), _buildStruct(), _buildToDb(), _buildToHashString(), _buildToObject(), _buildToXml(), _buildTypedef(), _buildWriteDb(), _buildWriteObject(), _buildWriteXml(), _delVirtualFnsFromSlots(), _setEnumStringFns(), DBG_INFO, GWEN_LOGDOMAIN, Typemaker2_Type_GetFlags(), TYPEMAKER2_TYPEFLAGS_NOCOPY, TYPEMAKER2_TYPEFLAGS_NODUP, TYPEMAKER2_TYPEFLAGS_WITH_CACHEFNS, TYPEMAKER2_TYPEFLAGS_WITH_DB, TYPEMAKER2_TYPEFLAGS_WITH_HASH, TYPEMAKER2_TYPEFLAGS_WITH_LIST1, TYPEMAKER2_TYPEFLAGS_WITH_OBJECT, TYPEMAKER2_TYPEFLAGS_WITH_REFCOUNT, TYPEMAKER2_TYPEFLAGS_WITH_SIGNALS, TYPEMAKER2_TYPEFLAGS_WITH_SLOTS, and TYPEMAKER2_TYPEFLAGS_WITH_XML.

Referenced by Typemaker2_Builder_C_new().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Typemaker2_Builder_C_new()

TYPEMAKER2_BUILDER* Typemaker2_Builder_C_new ( )

Definition at line 7537 of file tm_builder_c.c.

References Typemaker2_Builder_C_Build(), Typemaker2_Builder_new(), and Typemaker2_Builder_SetBuildFn().

Referenced by buildFile2(), and doBuildDefs().

Here is the call graph for this function:
Here is the caller graph for this function: