gwenhywfar  4.99.8beta
Macros | Functions
tm_builder.c File Reference
#include "tm_builder_p.h"
#include "tm_member.h"
#include <gwenhywfar/debug.h>
#include <gwenhywfar/misc.h>
#include <assert.h>
#include <errno.h>
#include <string.h>
#include <ctype.h>
Include dependency graph for tm_builder.c:

Go to the source code of this file.

Macros

#define INVOKE_FN(macro_var1)
 

Functions

 INVOKE_FN (Construct)
 
 INVOKE_FN (Destruct)
 
 INVOKE_FN (Assign)
 
 INVOKE_FN (Dup)
 
 INVOKE_FN (Compare)
 
 INVOKE_FN (ToDb)
 
 INVOKE_FN (FromDb)
 
 INVOKE_FN (ToXml)
 
 INVOKE_FN (FromXml)
 
 INVOKE_FN (ToObject)
 
 INVOKE_FN (FromObject)
 
 INVOKE_FN (ToHashString)
 
void Typemaker2_Builder_AddCode (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_AddLibraryDeclaration (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_AddPrivateDeclaration (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_AddProtectedDeclaration (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_AddPublicDeclaration (TYPEMAKER2_BUILDER *tb, const char *s)
 
int Typemaker2_Builder_Build (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
GWEN_DB_NODETypemaker2_Builder_CreateDbForCall (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst)
 
int Typemaker2_Builder_DetermineOutFileNames (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
void Typemaker2_Builder_free (TYPEMAKER2_BUILDER *tb)
 
GWEN_STRINGLISTTypemaker2_Builder_GetCode (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetDestFolderName (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetFileNameCode (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetFileNameLibrary (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetFileNamePrivate (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetFileNameProtected (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetFileNamePublic (const TYPEMAKER2_BUILDER *tb)
 
GWEN_STRINGLISTTypemaker2_Builder_GetLibraryDeclarations (const TYPEMAKER2_BUILDER *tb)
 
GWEN_STRINGLISTTypemaker2_Builder_GetPrivateDeclarations (const TYPEMAKER2_BUILDER *tb)
 
GWEN_STRINGLISTTypemaker2_Builder_GetProtectedDeclarations (const TYPEMAKER2_BUILDER *tb)
 
GWEN_STRINGLISTTypemaker2_Builder_GetPublicDeclarations (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetSourceFileName (const TYPEMAKER2_BUILDER *tb)
 
TYPEMAKER2_TYPEMANAGERTypemaker2_Builder_GetTypeManager (const TYPEMAKER2_BUILDER *tb)
 
TYPEMAKER2_BUILDERTypemaker2_Builder_new ()
 
int Typemaker2_Builder_ReplaceVars (const char *s, GWEN_DB_NODE *db, GWEN_BUFFER *dbuf)
 
void Typemaker2_Builder_SetBuildFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_BUILDER_BUILD_FN fn)
 
void Typemaker2_Builder_SetDestFolderName (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetFileNameCode (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetFileNameLibrary (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetFileNamePrivate (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetFileNameProtected (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetFileNamePublic (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetSourceFileName (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetTypeManager (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPEMANAGER *tm)
 
int Typemaker2_Builder_WriteFile (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, const char *fileName, GWEN_STRINGLIST *sl, int acc)
 
int Typemaker2_Builder_WriteFiles (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, int defsOnly)
 
int Typemaker2_Builder_WriteTypedefFile (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, const char *fileName)
 
int Typemaker2_Builder_WriteTypedefFile_IdMap (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, const char *fileName)
 
int Typemaker2_Builder_WriteTypedefFile_List1 (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, const char *fileName)
 
int Typemaker2_Builder_WriteTypedefFile_List2 (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, const char *fileName)
 
int Typemaker2_Builder_WriteTypedefFile_Tree (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, const char *fileName)
 

Macro Definition Documentation

#define INVOKE_FN (   macro_var1)

Definition at line 533 of file tm_builder.c.

Function Documentation

INVOKE_FN ( Construct  )
INVOKE_FN ( Destruct  )
INVOKE_FN ( Assign  )
INVOKE_FN ( Dup  )
INVOKE_FN ( Compare  )
INVOKE_FN ( ToDb  )
INVOKE_FN ( FromDb  )
INVOKE_FN ( ToXml  )
INVOKE_FN ( FromXml  )
INVOKE_FN ( ToObject  )
INVOKE_FN ( FromObject  )
INVOKE_FN ( ToHashString  )
void Typemaker2_Builder_AddCode ( TYPEMAKER2_BUILDER tb,
const char *  s 
)
void Typemaker2_Builder_AddLibraryDeclaration ( TYPEMAKER2_BUILDER tb,
const char *  s 
)
void Typemaker2_Builder_AddPrivateDeclaration ( TYPEMAKER2_BUILDER tb,
const char *  s 
)
void Typemaker2_Builder_AddProtectedDeclaration ( TYPEMAKER2_BUILDER tb,
const char *  s 
)
void Typemaker2_Builder_AddPublicDeclaration ( TYPEMAKER2_BUILDER tb,
const char *  s 
)
int Typemaker2_Builder_Build ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)

Definition at line 271 of file tm_builder.c.

References GWEN_ERROR_NOT_SUPPORTED.

Referenced by buildFile(), and buildFile2().

Here is the caller graph for this function:

GWEN_DB_NODE* Typemaker2_Builder_CreateDbForCall ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst 
)
int Typemaker2_Builder_DetermineOutFileNames ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
void Typemaker2_Builder_free ( TYPEMAKER2_BUILDER tb)

Definition at line 47 of file tm_builder.c.

References GWEN_FREE_OBJECT, GWEN_INHERIT_FINI, and GWEN_StringList_free().

Here is the call graph for this function:

GWEN_STRINGLIST* Typemaker2_Builder_GetCode ( const TYPEMAKER2_BUILDER tb)

Definition at line 96 of file tm_builder.c.

const char* Typemaker2_Builder_GetDestFolderName ( const TYPEMAKER2_BUILDER tb)

Definition at line 248 of file tm_builder.c.

const char* Typemaker2_Builder_GetFileNameCode ( const TYPEMAKER2_BUILDER tb)

Definition at line 216 of file tm_builder.c.

const char* Typemaker2_Builder_GetFileNameLibrary ( const TYPEMAKER2_BUILDER tb)

Definition at line 168 of file tm_builder.c.

const char* Typemaker2_Builder_GetFileNamePrivate ( const TYPEMAKER2_BUILDER tb)

Definition at line 200 of file tm_builder.c.

const char* Typemaker2_Builder_GetFileNameProtected ( const TYPEMAKER2_BUILDER tb)

Definition at line 184 of file tm_builder.c.

const char* Typemaker2_Builder_GetFileNamePublic ( const TYPEMAKER2_BUILDER tb)

Definition at line 152 of file tm_builder.c.

GWEN_STRINGLIST* Typemaker2_Builder_GetLibraryDeclarations ( const TYPEMAKER2_BUILDER tb)

Definition at line 75 of file tm_builder.c.

GWEN_STRINGLIST* Typemaker2_Builder_GetPrivateDeclarations ( const TYPEMAKER2_BUILDER tb)

Definition at line 89 of file tm_builder.c.

GWEN_STRINGLIST* Typemaker2_Builder_GetProtectedDeclarations ( const TYPEMAKER2_BUILDER tb)

Definition at line 82 of file tm_builder.c.

GWEN_STRINGLIST* Typemaker2_Builder_GetPublicDeclarations ( const TYPEMAKER2_BUILDER tb)

Definition at line 68 of file tm_builder.c.

const char* Typemaker2_Builder_GetSourceFileName ( const TYPEMAKER2_BUILDER tb)

Definition at line 232 of file tm_builder.c.

Referenced by Typemaker2_Builder_WriteFile().

Here is the caller graph for this function:

TYPEMAKER2_TYPEMANAGER* Typemaker2_Builder_GetTypeManager ( const TYPEMAKER2_BUILDER tb)
TYPEMAKER2_BUILDER* Typemaker2_Builder_new ( )

Definition at line 30 of file tm_builder.c.

References GWEN_INHERIT_INIT, GWEN_NEW_OBJECT, and GWEN_StringList_new().

Referenced by Typemaker2_Builder_C_new().

Here is the call graph for this function:

Here is the caller graph for this function:

int Typemaker2_Builder_ReplaceVars ( const char *  s,
GWEN_DB_NODE db,
GWEN_BUFFER dbuf 
)

Definition at line 425 of file tm_builder.c.

References DBG_ERROR, GWEN_Buffer_AppendByte(), GWEN_Buffer_AppendString(), GWEN_DB_GetCharValue(), GWEN_ERROR_BAD_DATA, GWEN_LOGDOMAIN, and NULL.

Referenced by _buildGroupApiDoc(), _buildInlines(), and _buildMemberInlines().

Here is the call graph for this function:

Here is the caller graph for this function:

void Typemaker2_Builder_SetBuildFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_BUILDER_BUILD_FN  fn 
)

Definition at line 264 of file tm_builder.c.

Referenced by Typemaker2_Builder_C_new().

Here is the caller graph for this function:

void Typemaker2_Builder_SetDestFolderName ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 255 of file tm_builder.c.

References NULL.

Referenced by buildFile(), and buildFile2().

Here is the caller graph for this function:

void Typemaker2_Builder_SetFileNameCode ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 223 of file tm_builder.c.

References NULL.

Referenced by buildFile(), buildFile2(), and Typemaker2_Builder_DetermineOutFileNames().

Here is the caller graph for this function:

void Typemaker2_Builder_SetFileNameLibrary ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 175 of file tm_builder.c.

References NULL.

Referenced by buildFile(), buildFile2(), and Typemaker2_Builder_DetermineOutFileNames().

Here is the caller graph for this function:

void Typemaker2_Builder_SetFileNamePrivate ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 207 of file tm_builder.c.

References NULL.

Referenced by buildFile(), buildFile2(), and Typemaker2_Builder_DetermineOutFileNames().

Here is the caller graph for this function:

void Typemaker2_Builder_SetFileNameProtected ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 191 of file tm_builder.c.

References NULL.

Referenced by buildFile(), buildFile2(), and Typemaker2_Builder_DetermineOutFileNames().

Here is the caller graph for this function:

void Typemaker2_Builder_SetFileNamePublic ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 159 of file tm_builder.c.

References NULL.

Referenced by buildFile(), buildFile2(), and Typemaker2_Builder_DetermineOutFileNames().

Here is the caller graph for this function:

void Typemaker2_Builder_SetSourceFileName ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 239 of file tm_builder.c.

References NULL.

Referenced by buildFile(), buildFile2(), and doBuildDefs().

Here is the caller graph for this function:

void Typemaker2_Builder_SetTypeManager ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPEMANAGER tm 
)

Definition at line 110 of file tm_builder.c.

Referenced by buildFile(), buildFile2(), and doBuildDefs().

Here is the caller graph for this function:

int Typemaker2_Builder_WriteFile ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
const char *  fileName,
GWEN_STRINGLIST sl,
int  acc 
)
int Typemaker2_Builder_WriteFiles ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
int  defsOnly 
)
int Typemaker2_Builder_WriteTypedefFile ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
const char *  fileName 
)

Definition at line 780 of file tm_builder.c.

References DBG_ERROR, GWEN_ERROR_IO, GWEN_LOGDOMAIN, NULL, Typemaker2_Type_GetName(), and Typemaker2_Type_GetPrefix().

Referenced by Typemaker2_Builder_WriteFiles().

Here is the call graph for this function:

Here is the caller graph for this function:

int Typemaker2_Builder_WriteTypedefFile_IdMap ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
const char *  fileName 
)

Definition at line 946 of file tm_builder.c.

References DBG_ERROR, GWEN_ERROR_IO, GWEN_LOGDOMAIN, NULL, Typemaker2_Type_GetName(), and Typemaker2_Type_GetPrefix().

Referenced by Typemaker2_Builder_WriteFiles().

Here is the call graph for this function:

Here is the caller graph for this function:

int Typemaker2_Builder_WriteTypedefFile_List1 ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
const char *  fileName 
)

Definition at line 820 of file tm_builder.c.

References DBG_ERROR, GWEN_ERROR_IO, GWEN_LOGDOMAIN, NULL, Typemaker2_Type_GetName(), and Typemaker2_Type_GetPrefix().

Referenced by Typemaker2_Builder_WriteFiles().

Here is the call graph for this function:

Here is the caller graph for this function:

int Typemaker2_Builder_WriteTypedefFile_List2 ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
const char *  fileName 
)

Definition at line 862 of file tm_builder.c.

References DBG_ERROR, GWEN_ERROR_IO, GWEN_LOGDOMAIN, NULL, Typemaker2_Type_GetName(), and Typemaker2_Type_GetPrefix().

Referenced by Typemaker2_Builder_WriteFiles().

Here is the call graph for this function:

Here is the caller graph for this function:

int Typemaker2_Builder_WriteTypedefFile_Tree ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
const char *  fileName 
)

Definition at line 904 of file tm_builder.c.

References DBG_ERROR, GWEN_ERROR_IO, GWEN_LOGDOMAIN, NULL, Typemaker2_Type_GetName(), and Typemaker2_Type_GetPrefix().

Referenced by Typemaker2_Builder_WriteFiles().

Here is the call graph for this function:

Here is the caller graph for this function: