+/* Code generated from eC source file: ecs.ec */
#if defined(__GNUC__)
typedef long long int64;
typedef unsigned long long uint64;
#include <stdint.h>
#include <sys/types.h>
-#if defined(_W64) || (defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
+#if /*defined(_W64) || */(defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
#define _64BIT 1
#else
#define _64BIT 0
int line;
int charPos;
int pos;
-unsigned int included;
+int included;
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Location;
struct Type * type;
struct TemplateParameter * templateParameter;
} __attribute__ ((gcc_struct));
-unsigned int isSigned;
int kind;
-unsigned int constant;
unsigned int size;
char * name;
char * typeName;
-unsigned int count;
-unsigned int truth;
int classObjectType;
-unsigned int byReference;
-unsigned int extraParam;
int alignment;
-unsigned int directClassAccess;
-unsigned int computing;
-unsigned int dllExport;
unsigned int offset;
-unsigned int keepCast;
-unsigned int passAsTemplate;
int bitFieldCount;
+int count;
+unsigned int isSigned : 1;
+unsigned int constant : 1;
+unsigned int truth : 1;
+unsigned int byReference : 1;
+unsigned int extraParam : 1;
+unsigned int directClassAccess : 1;
+unsigned int computing : 1;
+unsigned int keepCast : 1;
+unsigned int passAsTemplate : 1;
+unsigned int dllExport : 1;
+unsigned int attrStdcall : 1;
+unsigned int declaredWithStruct : 1;
+unsigned int typedByReference : 1;
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
struct __ecereNameSpace__ecere__com__Class * templateClass;
struct __ecereNameSpace__ecere__sys__OldList templatized;
int numParams;
+unsigned int isInstanceClass;
+unsigned int byValueSystemClass;
} __attribute__ ((gcc_struct));
extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name);
static unsigned int i18n;
+static unsigned int outputPot;
+
+static unsigned int disabledPooling;
+
static int targetPlatform;
static int targetBits;
struct __ecereNameSpace__ecere__sys__OldList _excludedSymbols =
{
-0, 0, 0, (unsigned int)&((struct Symbol *)(void *)0)->left, 0
+0, 0, 0, (unsigned int)&((struct Symbol *)(void * )0)->left, 0
};
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
static void LoadImports(char * fileName)
{
-void * __ecereTemp1;
struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
if(f)
{
if(!(method = __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName(&_class->methods, line, 0x0)))
{
-method = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_MethodImport), ((struct MethodImport *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(line), ((struct MethodImport *)__ecereTemp1));
+method = __extension__ ({
+struct MethodImport * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_MethodImport);
+
+__ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(line), __ecereInstance1;
+});
__ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName(&_class->methods, method);
}
}
{
if(!(prop = __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName(&_class->properties, line, 0x0)))
{
-prop = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_PropertyImport), ((struct PropertyImport *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(line), ((struct PropertyImport *)__ecereTemp1));
+prop = __extension__ ({
+struct PropertyImport * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_PropertyImport);
+
+__ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(line), __ecereInstance1;
+});
__ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName(&_class->properties, prop);
}
}
{
if(!(_class = __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName(&module->classes, line, 0x0)))
{
-_class = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassImport), ((struct ClassImport *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(line), ((struct ClassImport *)__ecereTemp1));
+_class = __extension__ ({
+struct ClassImport * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassImport);
+
+__ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(line), __ecereInstance1;
+});
__ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName(&module->classes, _class);
}
}
{
if(!(function = __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName(&module->functions, line, 0x0)))
{
-function = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_FunctionImport), ((struct FunctionImport *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(line), ((struct FunctionImport *)__ecereTemp1));
+function = __extension__ ({
+struct FunctionImport * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_FunctionImport);
+
+__ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(line), __ecereInstance1;
+});
__ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName(&module->functions, function);
}
}
}
if(!module)
{
-module = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ModuleImport), ((struct ModuleImport *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(line), ((struct ModuleImport *)__ecereTemp1));
+module = __extension__ ({
+struct ModuleImport * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ModuleImport);
+
+__ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(line), __ecereInstance1;
+});
__ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName(&_imports, module);
}
}
extern char * strcpy(char * , const char * );
-extern void __ecereNameSpace__ecere__sys__ChangeCh(char * string, char ch1, char ch2);
+extern void FixModuleName(char * moduleName);
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ImportedModule;
strcpy(projectName, mainModuleName);
__ecereNameSpace__ecere__sys__StripExtension(projectName);
}
-__ecereNameSpace__ecere__sys__ChangeCh(mainModuleName, '.', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(mainModuleName, '-', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(mainModuleName, ' ', '_');
+FixModuleName(mainModuleName);
if(targetPlatform == 1 && !isConsole && !isStaticLibrary && !isDynamicLibrary)
{
((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "typedef void * HINSTANCE;\n");
char moduleName[1024];
strcpy(moduleName, defModule->name);
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, ' ', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '-', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '.', '_');
+FixModuleName(moduleName);
__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "void __ecereRegisterModule_%s(Module module);\n", moduleName);
__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "void __ecereUnregisterModule_%s(Module module);\n", moduleName);
if(defModule->globalInstance)
if(anyFunction)
((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " GlobalFunction function;\n");
((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
+if(disabledPooling)
+{
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " eSystem_SetPoolingDisabled(true);\n");
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
+}
if(isDynamicLibrary)
{
((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " if(!__currentModule)\n");
char moduleName[1024];
strcpy(moduleName, defModule->name);
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, ' ', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '-', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '.', '_');
+FixModuleName(moduleName);
__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereRegisterModule_%s(module);\n", moduleName);
}
__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n");
if(!strcmp(defModule->name, "i18n"))
continue;
strcpy(moduleName, defModule->name);
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, ' ', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '-', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '.', '_');
+FixModuleName(moduleName);
__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereCreateModuleInstances_%s();\n", moduleName);
}
__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n");
continue;
}
strcpy(moduleName, defModule->name);
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, ' ', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '-', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '.', '_');
+FixModuleName(moduleName);
__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereDestroyModuleInstances_%s();\n", moduleName);
}
__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n");
char moduleName[1024];
strcpy(moduleName, defModule->name);
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, ' ', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '-', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '.', '_');
+FixModuleName(moduleName);
__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereUnregisterModule_%s(module);\n", moduleName);
}
__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n");
extern struct __ecereNameSpace__ecere__sys__OldList * MkList(void);
+extern void PrintTypeNoConst(struct Type * type, char * string, unsigned int printName, unsigned int fullName);
+
extern void PrintType(struct Type * type, char * string, unsigned int printName, unsigned int fullName);
extern struct Declarator * SpecDeclFromString(char * string, struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * baseDecl);
classSym = method->dataType->returnType->_class;
else
{
-PrintType(method->dataType->returnType, type, 0x0, 0x1);
+PrintTypeNoConst(method->dataType->returnType, type, 0x0, 0x1);
classSym = FindClass(type);
type[0] = (char)0;
}
classSym = param->_class;
else
{
-PrintType(param, type, 0x0, 0x1);
+PrintTypeNoConst(param, type, 0x0, 0x1);
classSym = FindClass(type);
type[0] = (char)0;
}
classSym = method->dataType->returnType->_class;
else
{
-PrintType(method->dataType->returnType, type, 0x0, 0x1);
+PrintTypeNoConst(method->dataType->returnType, type, 0x0, 0x1);
classSym = FindClass(type);
type[0] = (char)0;
}
classSym = param->_class;
else
{
-PrintType(param, type, 0x0, 0x1);
+PrintTypeNoConst(param, type, 0x0, 0x1);
classSym = FindClass(type);
type[0] = (char)0;
}
classSym = method->dataType->returnType->_class;
else
{
-PrintType(method->dataType->returnType, type, 0x0, 0x1);
+PrintTypeNoConst(method->dataType->returnType, type, 0x0, 0x1);
classSym = FindClass(type);
type[0] = (char)0;
}
classSym = param->_class;
else
{
-PrintType(param, type, 0x0, 0x1);
+PrintTypeNoConst(param, type, 0x0, 0x1);
classSym = FindClass(type);
type[0] = (char)0;
}
classSym = method->dataType->returnType->_class;
else
{
-PrintType(method->dataType->returnType, type, 0x0, 0x1);
+PrintTypeNoConst(method->dataType->returnType, type, 0x0, 0x1);
classSym = FindClass(type);
type[0] = (char)0;
}
classSym = param->_class;
else
{
-PrintType(param, type, 0x0, 0x1);
+PrintTypeNoConst(param, type, 0x0, 0x1);
classSym = FindClass(type);
type[0] = (char)0;
}
extern void SetTargetBits(int bits);
+extern void SetInSymbolGen(unsigned int b);
+
extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com____ecere_COM_Initialize(unsigned int guiApp, int argc, char * argv[]);
extern void SetPrivateModule(struct __ecereNameSpace__ecere__com__Instance * module);
extern char * GetSymbolsDir(void);
-extern char * __ecereNameSpace__ecere__sys__SearchString(char * buffer, int start, char * subStr, unsigned int matchCase, unsigned int matchWord);
-
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
struct __ecereNameSpace__ecere__com__IteratorPointer;
void __ecereMethod_SymbolgenApp_Main(struct __ecereNameSpace__ecere__com__Instance * this)
{
-void * __ecereTemp1;
int c;
unsigned int valid = 0x1;
char * output = (((void *)0));
+outputPot = 0x0;
+disabledPooling = 0x0;
targetPlatform = __ecereNameSpace__ecere__com__GetRuntimePlatform();
targetBits = GetHostBits();
for(c = 1; c < ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argc; c++)
else
valid = 0x0;
}
+else if(!strcmp(arg, "-outputpot"))
+outputPot = 0x1;
+else if(!strcmp(arg, "-disabled-pooling"))
+disabledPooling = 0x1;
else if(!strcmp(arg, "-console"))
isConsole = 0x1;
else if(!strcmp(arg, "-dynamiclib"))
if(!output)
valid = 0x0;
if(!valid)
+{
printf(__ecereNameSpace__ecere__GetTranslatedString(__thisModule, "Syntax:\n ecs [-t <target platform>] <input>[, <input>]* -o <output>\n", (((void *)0))));
+}
else
{
int c;
SetCurrentContext(theGlobalContext);
SetTargetPlatform(targetPlatform);
SetTargetBits(targetBits);
+SetInSymbolGen(0x1);
privateModule = (struct __ecereNameSpace__ecere__com__Instance *)__ecereNameSpace__ecere__com____ecere_COM_Initialize(0x1 | (targetBits == sizeof(uintptr_t) * 8 ? (unsigned int)0 : targetBits == 64 ? (unsigned int)2 : targetBits == 32 ? (unsigned int)4 : (unsigned int)0) | (unsigned int)8, 1, (((void *)0)));
SetPrivateModule(privateModule);
mainModule = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ModuleImport);
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&_imports, mainModule);
{
char * symbolsDir = GetSymbolsDir();
-unsigned int outputPot = symbolsDir && __ecereNameSpace__ecere__sys__SearchString(symbolsDir, 0, "release.", 0x0, 0x0);
struct __ecereNameSpace__ecere__com__Instance * intlStrings = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_ContextStringPair__ecere__com__List_TPL_String___);
struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, intlStrings), it);
module->globalInstance = importedModule->globalInstance;
else
{
-importedModule = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ImportedModule), ((struct ImportedModule *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(module->name), ((struct ImportedModule *)__ecereTemp1)->type = 0, ((struct ImportedModule *)__ecereTemp1)->importType = 0, ((struct ImportedModule *)__ecereTemp1));
+importedModule = __extension__ ({
+struct ImportedModule * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ImportedModule);
+
+__ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(module->name), __ecereInstance1->type = 0, __ecereInstance1->importType = 0, __ecereInstance1;
+});
__ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName(&_defines, importedModule);
module->globalInstance = LoadSymbols(file, 0, 0x0);
CheckDataRedefinitions();
SetSymbolsDir((((void *)0)));
}
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char * name, char * baseName, int size, int sizeClass, unsigned int (* )(void * ), void (* )(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char * name, char * baseName, int size, int sizeClass, unsigned int (* Constructor)(void * ), void (* Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, void * function, int declMode);