2 typedef long long int64;
3 typedef unsigned long long uint64;
4 #elif defined(__TINYC__)
6 #define __builtin_va_list va_list
7 #define __builtin_va_start va_start
8 #define __builtin_va_end va_end
10 #define strcasecmp stricmp
11 #define strncasecmp strnicmp
12 #define __declspec(x) __attribute__((x))
14 typedef long long int64;
15 typedef unsigned long long uint64;
17 typedef __int64 int64;
18 typedef unsigned __int64 uint64;
21 #define __ENDIAN_PAD(x) (8 - (x))
23 #define __ENDIAN_PAD(x) 0
25 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
27 struct __ecereNameSpace__ecere__sys__BTNode;
29 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
31 struct __ecereNameSpace__ecere__sys__BinaryTree
33 struct __ecereNameSpace__ecere__sys__BTNode * root;
35 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, unsigned int a, unsigned int b);
36 void (* FreeKey)(void * key);
39 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
41 struct __ecereNameSpace__ecere__sys__OldList
50 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
52 struct __ecereNameSpace__ecere__com__Method
55 struct __ecereNameSpace__ecere__com__Method * parent;
56 struct __ecereNameSpace__ecere__com__Method * left;
57 struct __ecereNameSpace__ecere__com__Method * right;
62 struct __ecereNameSpace__ecere__com__Class * _class;
64 char * dataTypeString;
65 struct Type * dataType;
69 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
71 struct __ecereNameSpace__ecere__com__Property
73 struct __ecereNameSpace__ecere__com__Property * prev;
74 struct __ecereNameSpace__ecere__com__Property * next;
76 unsigned int isProperty;
79 struct __ecereNameSpace__ecere__com__Class * _class;
80 char * dataTypeString;
81 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
82 struct Type * dataType;
85 unsigned int (* IsSet)();
89 unsigned int conversion;
90 unsigned int watcherOffset;
92 unsigned int compiled;
93 unsigned int selfWatchable;
94 unsigned int isWatchable;
97 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_CodePosition;
104 unsigned int included;
107 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Location;
111 struct CodePosition start;
112 struct CodePosition end;
115 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Attrib;
119 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ExtDecl;
123 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
125 struct ClassDefinition;
127 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
131 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Instantiation;
133 struct Instantiation;
135 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declaration;
139 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Statement;
143 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TypeName;
147 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Initializer;
151 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
153 struct __ecereNameSpace__ecere__com__DataValue
171 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Expression;
175 struct Expression * prev;
176 struct Expression * next;
184 struct Identifier * identifier;
186 struct Statement * compound;
187 struct Instantiation * instance;
189 struct __ecereNameSpace__ecere__sys__OldList * list;
192 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
193 struct Declarator * decl;
197 struct Identifier * id;
201 struct Expression * exp;
202 struct __ecereNameSpace__ecere__sys__OldList * arguments;
203 struct Location argLoc;
207 struct Expression * exp;
208 struct __ecereNameSpace__ecere__sys__OldList * index;
212 struct Expression * exp;
213 struct Identifier * member;
215 unsigned int thisPtr;
220 struct Expression * exp1;
221 struct Expression * exp2;
223 struct TypeName * typeName;
224 struct Specifier * _class;
227 struct TypeName * typeName;
228 struct Expression * exp;
232 struct Expression * cond;
233 struct __ecereNameSpace__ecere__sys__OldList * exp;
234 struct Expression * elseExp;
238 struct TypeName * typeName;
239 struct Expression * size;
243 struct TypeName * typeName;
244 struct Expression * size;
245 struct Expression * exp;
250 struct Identifier * id;
254 struct Expression * ds;
255 struct Expression * name;
259 struct TypeName * typeName;
260 struct Initializer * initializer;
264 struct Expression * exp;
265 struct TypeName * typeName;
268 unsigned int debugValue;
269 struct __ecereNameSpace__ecere__com__DataValue val;
270 unsigned int address;
271 unsigned int hasAddress;
272 struct Type * expType;
273 struct Type * destType;
276 unsigned int byReference;
277 unsigned int isConstant;
278 unsigned int addedThis;
279 unsigned int needCast;
280 unsigned int thisPtr;
283 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateDatatype;
285 struct TemplateDatatype;
287 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateArgument;
289 struct TemplateArgument;
291 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
293 struct TemplateParameter;
295 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Specifier;
299 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Identifier;
303 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Pointer;
307 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declarator;
311 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_FunctionDefinition;
313 struct FunctionDefinition;
315 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBTableDef;
319 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_External;
323 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ModuleImport;
327 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassImport;
331 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Symbol;
336 struct Symbol * parent;
337 struct Symbol * left;
338 struct Symbol * right;
343 struct __ecereNameSpace__ecere__com__Method * method;
344 struct __ecereNameSpace__ecere__com__Property * _property;
345 struct __ecereNameSpace__ecere__com__Class * registered;
353 struct External * pointerExternal;
354 struct External * structExternal;
358 struct External * externalGet;
359 struct External * externalSet;
360 struct External * externalPtr;
361 struct External * externalIsSet;
365 struct External * methodExternal;
366 struct External * methodCodeExternal;
369 unsigned int imported;
370 unsigned int declaredStructSym;
371 struct __ecereNameSpace__ecere__com__Class * _class;
372 unsigned int declaredStruct;
373 unsigned int needConstructor;
374 unsigned int needDestructor;
375 char * constructorName;
378 char * destructorName;
379 struct ModuleImport * module;
380 struct ClassImport * _import;
381 struct Location nameLoc;
382 unsigned int isParam;
383 unsigned int isRemote;
384 unsigned int isStruct;
385 unsigned int fireWatchersDone;
387 unsigned int classData;
388 unsigned int isStatic;
390 struct __ecereNameSpace__ecere__sys__OldList * templateParams;
391 struct __ecereNameSpace__ecere__sys__OldList templatedClasses;
392 struct Context * ctx;
394 struct Expression * propCategory;
397 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Type;
401 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
403 struct __ecereNameSpace__ecere__com__Class
405 struct __ecereNameSpace__ecere__com__Class * prev;
406 struct __ecereNameSpace__ecere__com__Class * next;
412 int (* Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
413 void (* Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
416 struct __ecereNameSpace__ecere__com__Class * base;
417 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
418 struct __ecereNameSpace__ecere__sys__BinaryTree members;
419 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
420 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
421 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
422 struct __ecereNameSpace__ecere__sys__OldList derivatives;
426 struct __ecereNameSpace__ecere__com__Instance * module;
427 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
428 char * dataTypeString;
429 struct Type * dataType;
431 int defaultAlignment;
432 void (* Initialize)();
434 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
435 char * designerClass;
436 unsigned int noExpansion;
437 char * defaultProperty;
438 unsigned int comRedefinition;
440 unsigned int isRemote;
441 unsigned int internalDecl;
443 unsigned int computeSize;
445 int destructionWatchOffset;
447 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
448 int inheritanceAccess;
451 struct __ecereNameSpace__ecere__sys__OldList conversions;
452 struct __ecereNameSpace__ecere__sys__OldList templateParams;
453 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
454 struct __ecereNameSpace__ecere__com__Class * templateClass;
455 struct __ecereNameSpace__ecere__sys__OldList templatized;
459 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
461 struct __ecereNameSpace__ecere__com__Instance
464 struct __ecereNameSpace__ecere__com__Class * _class;
468 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
470 struct __ecereNameSpace__ecere__com__DataMember
472 struct __ecereNameSpace__ecere__com__DataMember * prev;
473 struct __ecereNameSpace__ecere__com__DataMember * next;
475 unsigned int isProperty;
478 struct __ecereNameSpace__ecere__com__Class * _class;
479 char * dataTypeString;
480 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
481 struct Type * dataType;
485 struct __ecereNameSpace__ecere__sys__OldList members;
486 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
491 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
493 struct __ecereNameSpace__ecere__com__SerialBuffer
495 unsigned char * _buffer;
501 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
503 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
509 char * dataTypeString;
510 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
512 struct __ecereNameSpace__ecere__com__DataValue expression;
518 struct __ecereNameSpace__ecere__com__DataMember * member;
519 struct __ecereNameSpace__ecere__com__Property * prop;
520 struct __ecereNameSpace__ecere__com__Method * method;
528 struct __ecereNameSpace__ecere__com__NameSpace * globalData;
530 void SetGlobalData(struct __ecereNameSpace__ecere__com__NameSpace * nameSpace)
532 globalData = nameSpace;
535 struct __ecereNameSpace__ecere__sys__OldList dataRedefinitions;
537 extern char sourceFileStack[10][797];
539 extern int include_stack_ptr;
541 static int numIncludes;
543 static char ** includes;
545 unsigned int inIDE = 0x0;
547 void SetInIDE(unsigned int b)
552 struct __ecereNameSpace__ecere__com__Instance * sourceDirs;
554 void SetSourceDirs(struct __ecereNameSpace__ecere__com__Instance * list)
559 struct __ecereNameSpace__ecere__sys__OldList * includeDirs, * sysIncludeDirs;
561 void SetIncludeDirs(struct __ecereNameSpace__ecere__sys__OldList * list)
566 void SetSysIncludeDirs(struct __ecereNameSpace__ecere__sys__OldList * list)
568 sysIncludeDirs = list;
571 unsigned int ecereImported;
573 void SetEcereImported(unsigned int b)
578 unsigned int GetEcereImported()
580 return ecereImported;
583 unsigned int inPreCompiler = 0x0;
585 void SetInPreCompiler(unsigned int b)
590 struct __ecereNameSpace__ecere__sys__OldList * precompDefines;
592 void SetPrecompDefines(struct __ecereNameSpace__ecere__sys__OldList * list)
594 precompDefines = list;
597 unsigned int DummyMethod()
602 extern char * __ecereNameSpace__ecere__sys__TrimLSpaces(char * string, char * output);
604 extern int strcmp(const char * , const char * );
606 extern int strtol(char * , char * * , int base);
608 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, char * name, char * type, unsigned int size, unsigned int alignment, int declMode);
610 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BitMember;
612 struct __ecereNameSpace__ecere__com__BitMember
614 struct __ecereNameSpace__ecere__com__BitMember * prev;
615 struct __ecereNameSpace__ecere__com__BitMember * next;
617 unsigned int isProperty;
620 struct __ecereNameSpace__ecere__com__Class * _class;
621 char * dataTypeString;
622 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
623 struct Type * dataType;
630 extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, int bitSize, int bitPos, int declMode);
632 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, unsigned int size, unsigned int alignment, int declMode);
634 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_New(int type, int declMode);
636 extern unsigned int __ecereNameSpace__ecere__com__eMember_AddMember(struct __ecereNameSpace__ecere__com__DataMember * addTo, struct __ecereNameSpace__ecere__com__DataMember * dataMember);
638 extern unsigned int __ecereNameSpace__ecere__com__eClass_AddMember(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__DataMember * dataMember);
640 extern char * strcpy(char * , const char * );
642 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(struct __ecereNameSpace__ecere__com__Instance * this, char * s, int max);
644 static void ReadDataMembers(struct __ecereNameSpace__ecere__com__Class * regClass, struct __ecereNameSpace__ecere__com__DataMember * member, struct __ecereNameSpace__ecere__com__Instance * f)
648 int size = 0, bitPos = -1;
649 int memberAccess = 1;
653 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
655 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
656 if(!strcmp(line, "."))
660 if(!strcmp(line, "[Size]"))
662 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
663 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
664 size = strtol(line, (((void *)0)), 0);
666 else if(!strcmp(line, "[Pos]"))
668 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
669 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
670 bitPos = strtol(line, (((void *)0)), 0);
672 else if(!strcmp(line, "[Public]"))
674 else if(!strcmp(line, "[Private]"))
676 else if(!strcmp(line, "[Type]"))
678 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
679 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
682 if(!__ecereNameSpace__ecere__com__eMember_AddDataMember(member, name, line[0] ? line : 0, 0, 0, memberAccess))
685 else if(regClass && regClass->type == 2)
687 struct __ecereNameSpace__ecere__com__BitMember * member = __ecereNameSpace__ecere__com__eClass_AddBitMember(regClass, name, line[0] ? line : 0, 0, 0, memberAccess);
690 member->pos = bitPos;
694 if(!__ecereNameSpace__ecere__com__eClass_AddDataMember(regClass, name, line[0] ? line : 0, 0, 0, memberAccess))
698 else if(!strcmp(line, "[Struct]") || !strcmp(line, "[Union]"))
700 struct __ecereNameSpace__ecere__com__DataMember * dataMember = (regClass || member) ? __ecereNameSpace__ecere__com__eMember_New((!strcmp(line, "[Union]")) ? 1 : 2, memberAccess) : (((void *)0));
702 ReadDataMembers((((void *)0)), dataMember, f);
705 if(!__ecereNameSpace__ecere__com__eMember_AddMember(member, dataMember))
710 if(!__ecereNameSpace__ecere__com__eClass_AddMember(regClass, dataMember))
725 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpenBuffered(char * fileName, int mode);
727 extern char * __ecereNameSpace__ecere__sys__GetLastDirectory(char * string, char * output);
729 extern int strcasecmp(const char * , const char * );
731 extern struct Symbol * DeclClass(int symbolID, char * name);
733 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char * name);
735 extern struct __ecereNameSpace__ecere__com__Instance * privateModule;
737 extern struct Symbol * FindClass(char * name);
739 extern char * sourceFile;
741 extern char * strstr(char * , const char * );
743 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);
745 extern char * strcat(char * , const char * );
747 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldLink;
749 struct __ecereNameSpace__ecere__sys__OldLink
751 struct __ecereNameSpace__ecere__sys__OldLink * prev;
752 struct __ecereNameSpace__ecere__sys__OldLink * next;
756 extern void __ecereNameSpace__ecere__com__eClass_DestructionWatchable(struct __ecereNameSpace__ecere__com__Class * _class);
758 extern struct ModuleImport * FindModule(struct __ecereNameSpace__ecere__com__Instance * moduleToFind);
760 extern struct ModuleImport * mainModule;
762 extern char * strchr(char * , int);
764 extern void * memcpy(void * , const void * , unsigned int size);
766 extern char * __ecereNameSpace__ecere__sys__TrimRSpaces(char * string, char * output);
768 extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char * string, int value);
770 extern int atoi(const char * );
772 extern int __ecereNameSpace__ecere__com__eEnum_AddValue(struct __ecereNameSpace__ecere__com__Class * _class, char * string);
774 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, void * function, int declMode);
776 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);
778 extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * dataType, void * setStmt, void * getStmt, int declMode);
780 extern void __ecereNameSpace__ecere__com__eProperty_Watchable(struct __ecereNameSpace__ecere__com__Property * _property);
782 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassProperty;
784 struct __ecereNameSpace__ecere__com__ClassProperty;
786 extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_AddClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * dataType, void * setStmt, void * getStmt);
788 extern char * __ecereNameSpace__ecere__sys__CopyString(char * string);
790 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_OpTable;
794 unsigned int (* Add)(struct Expression *, struct Operand *, struct Operand *);
795 unsigned int (* Sub)(struct Expression *, struct Operand *, struct Operand *);
796 unsigned int (* Mul)(struct Expression *, struct Operand *, struct Operand *);
797 unsigned int (* Div)(struct Expression *, struct Operand *, struct Operand *);
798 unsigned int (* Mod)(struct Expression *, struct Operand *, struct Operand *);
799 unsigned int (* Neg)(struct Expression *, struct Operand *);
800 unsigned int (* Inc)(struct Expression *, struct Operand *);
801 unsigned int (* Dec)(struct Expression *, struct Operand *);
802 unsigned int (* Asign)(struct Expression *, struct Operand *, struct Operand *);
803 unsigned int (* AddAsign)(struct Expression *, struct Operand *, struct Operand *);
804 unsigned int (* SubAsign)(struct Expression *, struct Operand *, struct Operand *);
805 unsigned int (* MulAsign)(struct Expression *, struct Operand *, struct Operand *);
806 unsigned int (* DivAsign)(struct Expression *, struct Operand *, struct Operand *);
807 unsigned int (* ModAsign)(struct Expression *, struct Operand *, struct Operand *);
808 unsigned int (* BitAnd)(struct Expression *, struct Operand *, struct Operand *);
809 unsigned int (* BitOr)(struct Expression *, struct Operand *, struct Operand *);
810 unsigned int (* BitXor)(struct Expression *, struct Operand *, struct Operand *);
811 unsigned int (* LShift)(struct Expression *, struct Operand *, struct Operand *);
812 unsigned int (* RShift)(struct Expression *, struct Operand *, struct Operand *);
813 unsigned int (* BitNot)(struct Expression *, struct Operand *);
814 unsigned int (* AndAsign)(struct Expression *, struct Operand *, struct Operand *);
815 unsigned int (* OrAsign)(struct Expression *, struct Operand *, struct Operand *);
816 unsigned int (* XorAsign)(struct Expression *, struct Operand *, struct Operand *);
817 unsigned int (* LShiftAsign)(struct Expression *, struct Operand *, struct Operand *);
818 unsigned int (* RShiftAsign)(struct Expression *, struct Operand *, struct Operand *);
819 unsigned int (* Not)(struct Expression *, struct Operand *);
820 unsigned int (* Equ)(struct Expression *, struct Operand *, struct Operand *);
821 unsigned int (* Nqu)(struct Expression *, struct Operand *, struct Operand *);
822 unsigned int (* And)(struct Expression *, struct Operand *, struct Operand *);
823 unsigned int (* Or)(struct Expression *, struct Operand *, struct Operand *);
824 unsigned int (* Grt)(struct Expression *, struct Operand *, struct Operand *);
825 unsigned int (* Sma)(struct Expression *, struct Operand *, struct Operand *);
826 unsigned int (* GrtEqu)(struct Expression *, struct Operand *, struct Operand *);
827 unsigned int (* SmaEqu)(struct Expression *, struct Operand *, struct Operand *);
828 unsigned int (* Cond)(struct Expression *, struct Operand *, struct Operand *, struct Operand *);
831 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Operand;
837 unsigned int ptrSize;
855 extern struct Location yylloc;
857 extern struct __ecereNameSpace__ecere__com__Instance * fileInput;
861 extern void resetScanner();
863 extern struct Expression * ParseExpressionString(char * expression);
865 extern struct Type * ProcessTypeString(char * string, unsigned int staticMethod);
867 extern void ProcessExpressionType(struct Expression * exp);
869 extern void ComputeExpression(struct Expression * exp);
871 extern struct Operand GetOperand(struct Expression * exp);
873 extern void FreeExpression(struct Expression * exp);
875 extern void resetScannerPos(struct CodePosition * pos);
877 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
879 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
881 extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, char * name, int type, void * info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
883 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
885 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DefinedExpression;
887 struct __ecereNameSpace__ecere__com__DefinedExpression;
889 extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(char * name, char * value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
891 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
893 struct __ecereNameSpace__ecere__com__GlobalFunction;
895 extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char * name, char * type, void * func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
897 extern char * strncpy(char * , const char * , int n);
899 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
901 struct __ecereNameSpace__ecere__com__NameSpace
904 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
905 struct __ecereNameSpace__ecere__com__NameSpace * left;
906 struct __ecereNameSpace__ecere__com__NameSpace * right;
908 struct __ecereNameSpace__ecere__com__NameSpace * parent;
909 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
910 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
911 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
912 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
915 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_GlobalData;
920 struct __ecereNameSpace__ecere__sys__BTNode * parent;
921 struct __ecereNameSpace__ecere__sys__BTNode * left;
922 struct __ecereNameSpace__ecere__sys__BTNode * right;
924 struct __ecereNameSpace__ecere__com__Instance * module;
925 char * dataTypeString;
926 struct Type * dataType;
931 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DataRedefinition;
933 struct DataRedefinition
935 struct DataRedefinition * prev;
936 struct DataRedefinition * next;
942 void ImportModule(char * name, int importType, int importAccess, unsigned int loadDllOnly);
944 extern void Compiler_Error(char * format, ...);
946 extern char * __ecereNameSpace__ecere__GetTranslatedString(struct __ecereNameSpace__ecere__com__Instance * module, char * string, char * stringAndContext);
948 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
950 extern void * __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
952 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof;
954 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
956 struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char * key);
958 int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char * a, char * b);
960 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(struct __ecereNameSpace__ecere__sys__BinaryTree * this, struct __ecereNameSpace__ecere__sys__BTNode * node);
962 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(struct __ecereNameSpace__ecere__sys__OldList * this, void * item);
964 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
966 unsigned int LoadSymbols(char * fileName, int importType, unsigned int loadDllOnly)
969 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__sys__FileOpenBuffered(fileName, 1);
970 unsigned int globalInstance = 0x0;
974 unsigned int ecereCOMModule = 0x0;
975 char moduleName[797];
977 __ecereNameSpace__ecere__sys__GetLastDirectory(fileName, moduleName);
978 if(!((strcasecmp)(moduleName, "instance.sym") && (strcasecmp)(moduleName, "BinaryTree.sym") && (strcasecmp)(moduleName, "dataTypes.sym") && (strcasecmp)(moduleName, "OldList.sym") && (strcasecmp)(moduleName, "String.sym") && (strcasecmp)(moduleName, "BTNode.sym") && (strcasecmp)(moduleName, "Array.sym") && (strcasecmp)(moduleName, "AVLTree.sym") && (strcasecmp)(moduleName, "BuiltInContainer.sym") && (strcasecmp)(moduleName, "Container.sym") && (strcasecmp)(moduleName, "CustomAVLTree.sym") && (strcasecmp)(moduleName, "LinkList.sym") && (strcasecmp)(moduleName, "List.sym") && (strcasecmp)(moduleName, "Map.sym") && (strcasecmp)(moduleName, "Mutex.sym")))
979 ecereCOMModule = 0x1;
984 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
986 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
989 if(!strcmp(line, "[Global Instance]"))
990 globalInstance = 0x1;
991 else if(!strcmp(line, "[Defined Classes]"))
993 struct __ecereNameSpace__ecere__com__Class * regClass = (((void *)0));
995 unsigned int isRemote = 0x0;
996 unsigned int isStatic = 0x0;
997 unsigned int isWatchable = 0x0;
999 unsigned int fixed = 0x0;
1000 unsigned int noExpansion = 0x0;
1001 int inheritanceAccess = 1;
1005 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1007 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1008 if(!strcmp(line, "."))
1012 if(!strcmp(line, "[Remote]"))
1014 else if(!strcmp(line, "[Static]"))
1016 else if(!strcmp(line, "[Fixed]"))
1018 else if(!strcmp(line, "[No Expansion]"))
1020 else if(!strcmp(line, "[Watchable]"))
1022 else if(!strcmp(line, "[Enum]"))
1024 else if(!strcmp(line, "[Bit]"))
1026 else if(!strcmp(line, "[Struct]"))
1028 else if(!strcmp(line, "[Unit]"))
1030 else if(!strcmp(line, "[NoHead]"))
1032 else if(!strcmp(line, "[Base]") || !strcmp(line, "[Private Base]"))
1034 if(!strcmp(line, "[Private Base]"))
1035 inheritanceAccess = 2;
1036 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1037 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1040 if(isStatic || loadDllOnly || importType == 3 || importType == 4)
1041 regClass = (((void *)0));
1042 else if(regClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, name), !regClass || regClass->internalDecl || regClass->isRemote)
1044 struct Symbol * existingClass = FindClass(name);
1045 char * baseName = (classType == 0 && importType == 2 && isRemote) ? "DCOMClientObject" : (!strcmp(line, "[None]") ? (((void *)0)) : line);
1047 if(!isRemote || (importType != 2) || (!sourceFile || !strstr(sourceFile, ".main.ec")))
1049 if(!regClass || regClass->internalDecl)
1050 regClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(classType, name, isRemote ? (((void *)0)) : baseName, 0, 0, (((void *)0)), (((void *)0)), privateModule, ecereCOMModule ? 4 : 1, inheritanceAccess);
1051 if(regClass && isRemote)
1052 regClass->isRemote = (importType == 2) ? (unsigned int)1 : (unsigned int)2;
1057 char className[1024] = "DCOMClient_";
1059 strcat(className, name);
1061 existingClass = DeclClass(0, name);
1062 regClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(classType, className, baseName, 0, 0, (((void *)0)), (((void *)0)), privateModule, ecereCOMModule ? 4 : 1, inheritanceAccess);
1065 regClass->isRemote = (importType == 2) ? (unsigned int)1 : (unsigned int)3;
1069 struct __ecereNameSpace__ecere__sys__OldLink * link;
1071 for(link = existingClass->templatedClasses.first; link; link = link->next)
1073 struct Symbol * symbol = link->data;
1075 symbol->registered = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, symbol->string);
1079 regClass->fixed = 0x1;
1081 regClass->noExpansion = 0x1;
1084 __ecereNameSpace__ecere__com__eClass_DestructionWatchable(regClass);
1085 regClass->structSize = regClass->offset;
1087 if(regClass && existingClass)
1089 existingClass->registered = regClass;
1090 regClass->symbol = existingClass;
1091 existingClass->id = (((int)0x7fffffff));
1092 existingClass->idCode = (((int)0x7fffffff));
1093 existingClass->imported = 0x1;
1094 if(regClass->module)
1095 existingClass->module = FindModule(regClass->module);
1097 existingClass->module = mainModule;
1101 regClass = (((void *)0));
1104 regClass = (((void *)0));
1110 else if(!strcmp(line, "[Enum Values]"))
1116 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1118 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1119 if(!strcmp(line, "."))
1123 equal = strchr(line, '=');
1128 memcpy(name, line, (int)(equal - line));
1129 name[equal - line] = '\0';
1130 __ecereNameSpace__ecere__sys__TrimLSpaces(name, name);
1131 __ecereNameSpace__ecere__sys__TrimRSpaces(name, name);
1132 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(regClass, name, atoi(equal + 1));
1136 __ecereNameSpace__ecere__com__eEnum_AddValue(regClass, line);
1141 else if(!strcmp(line, "[Defined Methods]"))
1144 unsigned int isVirtual = 0x0;
1145 int memberAccess = 1;
1149 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1151 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1152 if(!strcmp(line, "."))
1156 if(!strcmp(line, "[Type]"))
1158 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1161 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1163 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(regClass, name, line[0] ? line : 0, DummyMethod, memberAccess);
1165 __ecereNameSpace__ecere__com__eClass_AddMethod(regClass, name, line[0] ? line : 0, DummyMethod, memberAccess);
1168 else if(!strcmp(line, "[Virtual]"))
1170 else if(!strcmp(line, "[Public]"))
1172 else if(!strcmp(line, "[Private]"))
1183 else if(!strcmp(line, "[Defined Properties]"))
1186 unsigned int setStmt = 0x0, getStmt = 0x0, isVirtual = 0x0, conversion = 0x0;
1187 unsigned int isWatchable = 0x0;
1188 int memberAccess = 1;
1192 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1194 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1195 if(!strcmp(line, "."))
1199 if(!strcmp(line, "[Type]"))
1201 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1202 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1205 struct __ecereNameSpace__ecere__com__Property * prop = __ecereNameSpace__ecere__com__eClass_AddProperty(regClass, conversion ? (((void *)0)) : name, line[0] ? line : 0, (void *)(unsigned int)setStmt, (void *)(unsigned int)getStmt, memberAccess);
1209 prop->compiled = 0x0;
1212 __ecereNameSpace__ecere__com__eProperty_Watchable(prop);
1213 regClass->structSize = regClass->offset;
1218 else if(!strcmp(line, "[Set]"))
1220 else if(!strcmp(line, "[Get]"))
1222 else if(!strcmp(line, "[Watchable]"))
1224 else if(!strcmp(line, "[Public]"))
1226 else if(!strcmp(line, "[Private]"))
1228 else if(!strcmp(line, "[Conversion]"))
1231 setStmt = getStmt = isVirtual = isWatchable = 0x0;
1237 setStmt = getStmt = isVirtual = conversion = isWatchable = 0x0;
1242 else if(!strcmp(line, "[Defined Class Properties]"))
1245 unsigned int setStmt = 0x0, getStmt = 0x0;
1249 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1251 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1252 if(!strcmp(line, "."))
1256 if(!strcmp(line, "[Type]"))
1258 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1259 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1262 __ecereNameSpace__ecere__com__eClass_AddClassProperty(regClass, name, line, (void *)(unsigned int)setStmt, (void *)(unsigned int)getStmt);
1265 else if(!strcmp(line, "[Set]"))
1267 else if(!strcmp(line, "[Get]"))
1273 setStmt = getStmt = 0x0;
1277 else if(!strcmp(line, "[Defined Data Members]"))
1279 ReadDataMembers(regClass, (((void *)0)), f);
1281 else if(!strcmp(line, "[Template Parameters]"))
1283 while(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(f))
1287 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg =
1291 void * info = (((void *)0));
1293 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1294 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1298 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1299 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1300 if(!strcmp(line, "[Expression]"))
1302 else if(!strcmp(line, "[Identifier]"))
1307 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1308 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1309 if(regClass && strcmp(line, "[None]"))
1311 info = __ecereNameSpace__ecere__sys__CopyString(line);
1313 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1314 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1315 if(regClass && strcmp(line, "[None]"))
1317 defaultArg.dataTypeString = __ecereNameSpace__ecere__sys__CopyString(line);
1321 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1322 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1323 if(regClass && strcmp(line, "[None]"))
1325 info = __ecereNameSpace__ecere__sys__CopyString(line);
1327 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1328 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1329 if(regClass && strcmp(line, "[None]"))
1332 struct Expression * exp;
1333 struct Location oldLocation = yylloc;
1334 struct __ecereNameSpace__ecere__com__Instance * backFileInput = fileInput;
1338 exp = ParseExpressionString(line);
1340 exp->destType = ProcessTypeString(info, 0x0);
1341 ProcessExpressionType(exp);
1342 ComputeExpression(exp);
1343 op = GetOperand(exp);
1344 defaultArg.expression.ui64 = op.ui64;
1345 FreeExpression(exp);
1347 yylloc = oldLocation;
1348 fileInput = backFileInput;
1351 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))fileInput->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, yylloc.start.pos, 0);
1352 resetScannerPos(&yylloc.start);
1358 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1359 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1360 if(!strcmp(line, "[Data member]"))
1362 else if(!strcmp(line, "[Method]"))
1364 else if(!strcmp(line, "[Property]"))
1366 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1367 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1368 if(regClass && strcmp(line, "[None]"))
1370 defaultArg.memberString = __ecereNameSpace__ecere__sys__CopyString(line);
1375 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, name, type, info, &defaultArg);
1376 if(type == 0 || type == 2)
1377 (__ecereNameSpace__ecere__com__eSystem_Delete(info), info = 0);
1378 if(type == 0 || type == 1)
1379 (__ecereNameSpace__ecere__com__eSystem_Delete(defaultArg.dataTypeString), defaultArg.dataTypeString = 0);
1382 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(regClass);
1387 inheritanceAccess = 1;
1391 regClass = (((void *)0));
1395 else if(!strcmp(line, "[Defined Expressions]"))
1401 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1403 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1404 if(!strcmp(line, "."))
1406 if(!strcmp(line, "[Value]"))
1408 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1409 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1410 if(!loadDllOnly && importType != 3 && importType != 4)
1411 __ecereNameSpace__ecere__com__eSystem_RegisterDefine(name, line, privateModule, ecereCOMModule ? 4 : 1);
1413 else if(line[0] != '[')
1419 else if(!strcmp(line, "[Defined Functions]"))
1425 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1427 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1428 if(!strcmp(line, "."))
1430 if(!strcmp(line, "[Type]"))
1432 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1433 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1434 if(!loadDllOnly && importType != 3 && importType != 4)
1435 __ecereNameSpace__ecere__com__eSystem_RegisterFunction(name, line, (((void *)0)), privateModule, ecereCOMModule ? 4 : 1);
1437 else if(line[0] != '[')
1443 else if(!strcmp(line, "[Defined Data]"))
1449 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1451 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1452 if(!strcmp(line, "."))
1454 if(!strcmp(line, "[Type]"))
1456 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1457 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1458 if(!loadDllOnly && importType != 3 && importType != 4)
1461 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace = globalData;
1462 struct GlobalData * data;
1464 for(c = 0; name[c]; c++)
1466 if(name[c] == '.' || (name[c] == ':' && name[c + 1] == ':'))
1468 struct __ecereNameSpace__ecere__com__NameSpace * newSpace;
1469 char * spaceName = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (c - start + 1));
1471 strncpy(spaceName, name + start, c - start);
1472 spaceName[c - start] = '\0';
1473 newSpace = (struct __ecereNameSpace__ecere__com__NameSpace *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(&(*nameSpace).nameSpaces, spaceName);
1476 newSpace = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(struct __ecereNameSpace__ecere__com__NameSpace) * (1));
1477 (*newSpace).classes.CompareKey = (void *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString;
1478 (*newSpace).defines.CompareKey = (void *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString;
1479 (*newSpace).functions.CompareKey = (void *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString;
1480 (*newSpace).nameSpaces.CompareKey = (void *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString;
1481 (*newSpace).name = spaceName;
1482 (*newSpace).parent = nameSpace;
1483 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&(*nameSpace).nameSpaces, (struct __ecereNameSpace__ecere__sys__BTNode *)newSpace);
1486 (__ecereNameSpace__ecere__com__eSystem_Delete(spaceName), spaceName = 0);
1487 nameSpace = newSpace;
1495 data = (struct GlobalData *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(&(*nameSpace).functions, name + start);
1498 data = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_GlobalData), ((struct GlobalData *)__ecereTemp1)->fullName = __ecereNameSpace__ecere__sys__CopyString(name), ((struct GlobalData *)__ecereTemp1)->dataTypeString = __ecereNameSpace__ecere__sys__CopyString(line), ((struct GlobalData *)__ecereTemp1)->module = privateModule, ((struct GlobalData *)__ecereTemp1));
1499 data->key = (unsigned int)(data->fullName + start);
1500 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&(*nameSpace).functions, (struct __ecereNameSpace__ecere__sys__BTNode *)data);
1502 else if(strcmp(data->dataTypeString, line))
1504 struct DataRedefinition * redefinition = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_DataRedefinition);
1506 strcpy(redefinition->name, name);
1507 strcpy(redefinition->type1, data->dataTypeString);
1508 strcpy(redefinition->type2, line);
1509 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&dataRedefinitions, redefinition);
1514 else if(line[0] != '[')
1520 else if(!strcmp(line, "[Imported Modules]"))
1522 int moduleImportType = 0;
1523 int importAccess = 1;
1527 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1529 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1530 if(!strcmp(line, "."))
1532 if(!strcmp(line, "[Static]"))
1533 moduleImportType = 1;
1534 else if(!strcmp(line, "[Remote]"))
1535 moduleImportType = 2;
1536 else if(!strcmp(line, "[Private]"))
1538 else if(line[0] != '[')
1540 if(importType != 3 && importType != 4)
1541 ImportModule(line, moduleImportType, importAccess, loadDllOnly);
1543 ImportModule(line, 4, importAccess, loadDllOnly);
1544 if(!strcmp(line, "ecere"))
1545 ecereImported = 0x1;
1546 moduleImportType = 0;
1553 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
1555 else if(importType != 4)
1557 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString(__thisModule, "Couldn't open %s\n", (((void *)0))), fileName);
1559 return globalInstance;
1562 struct __ecereNameSpace__ecere__com__Instance * loadedModules;
1564 extern unsigned int __ecereNameSpace__ecere__sys__StripExtension(char * string);
1566 extern struct __ecereNameSpace__ecere__sys__OldList * defines;
1568 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ImportedModule;
1570 struct ImportedModule
1572 struct ImportedModule * prev;
1573 struct ImportedModule * next;
1577 unsigned int globalInstance;
1578 unsigned int dllOnly;
1582 extern int strlen(const char * );
1584 extern char * __ecereNameSpace__ecere__sys__GetExtension(char * string, char * output);
1586 extern char * symbolsDir;
1588 extern char * __ecereNameSpace__ecere__sys__PathCat(char * string, char * addedPath);
1590 extern char * __ecereNameSpace__ecere__sys__ChangeExtension(char * string, char * ext, char * output);
1592 extern unsigned int __ecereNameSpace__ecere__sys__FileExists(char * fileName);
1594 extern unsigned int inCompiler;
1596 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
1598 struct __ecereNameSpace__ecere__com__IteratorPointer;
1600 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__MapIterator;
1602 struct __ecereNameSpace__ecere__com__MapIterator
1604 struct __ecereNameSpace__ecere__com__Instance * container;
1605 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
1608 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStrict(struct __ecereNameSpace__ecere__com__Instance * fromModule, char * name, int importAccess);
1610 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
1612 struct __ecereNameSpace__ecere__com__Module
1614 struct __ecereNameSpace__ecere__com__Instance * application;
1615 struct __ecereNameSpace__ecere__sys__OldList classes;
1616 struct __ecereNameSpace__ecere__sys__OldList defines;
1617 struct __ecereNameSpace__ecere__sys__OldList functions;
1618 struct __ecereNameSpace__ecere__sys__OldList modules;
1619 struct __ecereNameSpace__ecere__com__Instance * prev;
1620 struct __ecereNameSpace__ecere__com__Instance * next;
1626 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
1627 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
1630 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Iterator;
1632 struct __ecereNameSpace__ecere__com__Iterator
1634 struct __ecereNameSpace__ecere__com__Instance * container;
1635 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
1638 extern int sprintf(char * , char * , ...);
1640 extern int __ecereNameSpace__ecere__com__GetRuntimePlatform(void);
1642 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__List_TPL_ecere__com__Module_;
1644 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName(struct __ecereNameSpace__ecere__sys__OldList * this, void * item);
1646 struct __ecereNameSpace__ecere__com__Instance * __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_map(struct __ecereNameSpace__ecere__com__MapIterator * this);
1648 void __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(struct __ecereNameSpace__ecere__com__MapIterator * this, struct __ecereNameSpace__ecere__com__Instance * value);
1650 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__MapIterator_map;
1652 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 index, unsigned int create);
1654 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Add;
1656 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this);
1658 void __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value);
1660 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__Iterator_data;
1662 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next();
1664 void ImportModule(char * name, int importType, int importAccess, unsigned int loadDllOnly)
1666 void * __ecereTemp1;
1667 struct ImportedModule * module = (((void *)0));
1668 char moduleName[274];
1670 strncpy(moduleName, name, (274) - 1);
1671 moduleName[(274) - 1] = (char)0;
1672 __ecereNameSpace__ecere__sys__StripExtension(moduleName);
1673 for(module = (*defines).first; module; module = module->next)
1675 if(module->type == 0 && !(strcasecmp)(module->name, moduleName))
1678 if((!module || (module->dllOnly && !loadDllOnly)) && strlen(name) < (274))
1681 struct __ecereNameSpace__ecere__com__Instance * loadedModule = (((void *)0));
1685 __ecereNameSpace__ecere__sys__GetExtension(name, ext);
1686 strcpy(symFile, symbolsDir ? symbolsDir : "");
1687 __ecereNameSpace__ecere__sys__PathCat(symFile, name);
1688 __ecereNameSpace__ecere__sys__ChangeExtension(symFile, "sym", symFile);
1689 if(!strcmp(ext, "dll") || !strcmp(ext, "dll") || !ext[0])
1697 module = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ImportedModule), ((struct ImportedModule *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(moduleName), ((struct ImportedModule *)__ecereTemp1)->type = 0, ((struct ImportedModule *)__ecereTemp1)->importType = importType, ((struct ImportedModule *)__ecereTemp1)->importAccess = importAccess, ((struct ImportedModule *)__ecereTemp1));
1698 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*precompDefines), module);
1700 module = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ImportedModule), ((struct ImportedModule *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(moduleName), ((struct ImportedModule *)__ecereTemp1)->type = 0, ((struct ImportedModule *)__ecereTemp1)->importType = importType, ((struct ImportedModule *)__ecereTemp1)->importAccess = importAccess, ((struct ImportedModule *)__ecereTemp1));
1701 __ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName((&*defines), module);
1703 module->dllOnly = loadDllOnly;
1704 if(ext[0] || !__ecereNameSpace__ecere__sys__FileExists(symFile))
1706 unsigned int skipLoad = 0x0;
1707 struct __ecereNameSpace__ecere__com__Instance * list = (((void *)0));
1711 __ecereNameSpace__ecere__sys__StripExtension(file);
1714 struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, loadedModules), it);
1716 if(!__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&it, (uint64)(file), 0x0))
1718 struct __ecereNameSpace__ecere__com__Instance * firstModule = __ecereNameSpace__ecere__com__eModule_LoadStrict(__thisModule, file, importAccess);
1722 list = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__List_TPL_ecere__com__Module_);
1723 ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))list->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add])(list, (uint64)(firstModule));
1725 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
1730 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(file))), 0x1);
1731 __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&__internalIterator, list);
1738 list = ((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&it));
1742 loadedModule = __ecereNameSpace__ecere__com__eModule_LoadStrict(privateModule, file, importAccess);
1745 ((struct __ecereNameSpace__ecere__com__Module *)(((char *)loadedModule + 12)))->importType = importType;
1746 module->dllOnly = 0x0;
1748 ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))list->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add])(list, (uint64)(loadedModule));
1754 if(!loadedModule && (!strcmp(ext, "ec") || !strcmp(ext, "sym") || !ext[0]))
1761 module = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ImportedModule), ((struct ImportedModule *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(moduleName), ((struct ImportedModule *)__ecereTemp1)->type = 0, ((struct ImportedModule *)__ecereTemp1)->importType = importType, ((struct ImportedModule *)__ecereTemp1)->importAccess = importAccess, ((struct ImportedModule *)__ecereTemp1));
1762 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*precompDefines), module);
1764 module = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ImportedModule), ((struct ImportedModule *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(moduleName), ((struct ImportedModule *)__ecereTemp1)->type = 0, ((struct ImportedModule *)__ecereTemp1)->importType = importType, ((struct ImportedModule *)__ecereTemp1)->importAccess = importAccess, ((struct ImportedModule *)__ecereTemp1));
1765 __ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName((&*defines), module);
1767 module->dllOnly = loadDllOnly;
1770 if(inIDE && !__ecereNameSpace__ecere__sys__FileExists(symFile) && sourceDirs)
1773 struct __ecereNameSpace__ecere__com__Iterator dir =
1778 while(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(&dir))
1780 char configDir[274];
1782 strcpy(symFile, __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&dir));
1783 __ecereNameSpace__ecere__sys__PathCat(symFile, "obj");
1784 sprintf(configDir, "debug.%s", (__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "win32" : "linux");
1785 __ecereNameSpace__ecere__sys__PathCat(symFile, configDir);
1786 __ecereNameSpace__ecere__sys__PathCat(symFile, name);
1787 __ecereNameSpace__ecere__sys__ChangeExtension(symFile, "sym", symFile);
1788 if(__ecereNameSpace__ecere__sys__FileExists(symFile))
1793 if(!__ecereNameSpace__ecere__sys__FileExists(symFile))
1797 __ecereNameSpace__ecere__sys__GetLastDirectory(symFile, fileName);
1798 strcpy(symFile, symbolsDir ? symbolsDir : "");
1799 __ecereNameSpace__ecere__sys__PathCat(symFile, fileName);
1801 module->globalInstance = LoadSymbols(symFile, importType, loadDllOnly);
1807 int FindIncludeFileID(char * includeFile)
1811 for(c = 0; c < numIncludes; c++)
1812 if(!((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? (strcasecmp) : strcmp)(includes[c], includeFile))
1817 int GetIncludeFileID(char * includeFile)
1819 int found = FindIncludeFileID(includeFile);
1823 includes = __ecereNameSpace__ecere__com__eSystem_Renew(includes, sizeof(char *) * (numIncludes + 1));
1824 includes[numIncludes++] = __ecereNameSpace__ecere__sys__CopyString(includeFile);
1828 char * GetIncludeFileFromID(int id)
1830 return includes[id - 1];
1833 extern char * __ecereNameSpace__ecere__sys__StripLastDirectory(char * string, char * output);
1835 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char * fileName, int mode);
1837 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedItem;
1839 struct __ecereNameSpace__ecere__sys__NamedItem
1841 struct __ecereNameSpace__ecere__sys__NamedItem * prev;
1842 struct __ecereNameSpace__ecere__sys__NamedItem * next;
1846 struct __ecereNameSpace__ecere__com__Instance * OpenIncludeFile(char * includeFile)
1848 struct __ecereNameSpace__ecere__com__Instance * file;
1851 __ecereNameSpace__ecere__sys__StripLastDirectory(sourceFileStack[(include_stack_ptr >= 0) ? include_stack_ptr : 0], location);
1852 __ecereNameSpace__ecere__sys__PathCat(location, includeFile);
1853 file = __ecereNameSpace__ecere__sys__FileOpen(location, 1);
1856 strcpy(sourceFileStack[include_stack_ptr + 1], location);
1860 struct __ecereNameSpace__ecere__sys__NamedItem * includeDir;
1864 for(includeDir = (*includeDirs).first; includeDir; includeDir = includeDir->next)
1866 strcpy(location, includeDir->name);
1867 __ecereNameSpace__ecere__sys__PathCat(location, includeFile);
1868 file = __ecereNameSpace__ecere__sys__FileOpen(location, 1);
1875 for(includeDir = (*sysIncludeDirs).first; includeDir; includeDir = includeDir->next)
1877 strcpy(location, includeDir->name);
1878 __ecereNameSpace__ecere__sys__PathCat(location, includeFile);
1879 file = __ecereNameSpace__ecere__sys__FileOpen(location, 1);
1888 void FreeIncludeFiles()
1892 for(c = 0; c < numIncludes; c++)
1893 (__ecereNameSpace__ecere__com__eSystem_Delete(includes[c]), includes[c] = 0);
1894 (__ecereNameSpace__ecere__com__eSystem_Delete(includes), includes = 0);
1898 extern void FreeSymbol(struct Symbol * symbol);
1900 extern void FreeType(struct Type * type);
1902 void __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(struct __ecereNameSpace__ecere__sys__BinaryTree * this, struct __ecereNameSpace__ecere__sys__BTNode * node);
1904 void FreeGlobalData(struct __ecereNameSpace__ecere__com__NameSpace * globalDataList)
1906 struct __ecereNameSpace__ecere__com__NameSpace * ns;
1907 struct GlobalData * data;
1909 for(; (ns = (struct __ecereNameSpace__ecere__com__NameSpace *)globalDataList->nameSpaces.root); )
1912 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&globalDataList->nameSpaces, (struct __ecereNameSpace__ecere__sys__BTNode *)ns);
1913 (__ecereNameSpace__ecere__com__eSystem_Delete((*ns).name), (*ns).name = 0);
1914 (__ecereNameSpace__ecere__com__eSystem_Delete(ns), ns = 0);
1916 for(; (data = (struct GlobalData *)globalDataList->functions.root); )
1918 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&globalDataList->functions, data);
1920 FreeSymbol(data->symbol);
1921 FreeType(data->dataType);
1922 (__ecereNameSpace__ecere__com__eSystem_Delete(data->fullName), data->fullName = 0);
1923 (__ecereNameSpace__ecere__com__eSystem_Delete(data->dataTypeString), data->dataTypeString = 0);
1924 ((data ? (__ecereClass_GlobalData->Destructor ? __ecereClass_GlobalData->Destructor(data) : 0, __ecereClass___ecereNameSpace__ecere__sys__BTNode->Destructor ? __ecereClass___ecereNameSpace__ecere__sys__BTNode->Destructor(data) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(data)) : 0), data = 0);
1928 extern void PrintType(struct Type * type, char * string, unsigned int printName, unsigned int fullName);
1930 extern void Compiler_Warning(char * format, ...);
1932 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(struct __ecereNameSpace__ecere__sys__OldList * this, void (* freeFn)(void * ));
1934 void CheckDataRedefinitions()
1936 struct DataRedefinition * redefinition;
1938 for(redefinition = dataRedefinitions.first; redefinition; redefinition = redefinition->next)
1940 struct Type * type1 = ProcessTypeString(redefinition->type1, 0x0);
1941 struct Type * type2 = ProcessTypeString(redefinition->type2, 0x0);
1942 char type1String[1024] = "";
1943 char type2String[1024] = "";
1945 PrintType(type1, type1String, 0x0, 0x1);
1946 PrintType(type2, type2String, 0x0, 0x1);
1947 if(strcmp(type1String, type2String))
1948 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString(__thisModule, "Redefinition of %s (defining as %s, already defined as %s)\n", (((void *)0))), redefinition->name, type1String, type2String);
1952 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(&dataRedefinitions, (((void *)0)));
1955 void __ecereRegisterModule_loadSymbols(struct __ecereNameSpace__ecere__com__Instance * module)
1957 struct __ecereNameSpace__ecere__com__Class * class;
1959 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetGlobalData", "void SetGlobalData(ecere::com::NameSpace * nameSpace)", SetGlobalData, module, 1);
1960 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetInIDE", "void SetInIDE(bool b)", SetInIDE, module, 1);
1961 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetSourceDirs", "void SetSourceDirs(ecere::com::List<String> list)", SetSourceDirs, module, 1);
1962 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetIncludeDirs", "void SetIncludeDirs(ecere::sys::OldList * list)", SetIncludeDirs, module, 1);
1963 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetSysIncludeDirs", "void SetSysIncludeDirs(ecere::sys::OldList * list)", SetSysIncludeDirs, module, 1);
1964 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetEcereImported", "void SetEcereImported(bool b)", SetEcereImported, module, 1);
1965 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetEcereImported", "bool GetEcereImported(void)", GetEcereImported, module, 1);
1966 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetInPreCompiler", "void SetInPreCompiler(bool b)", SetInPreCompiler, module, 1);
1967 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetPrecompDefines", "void SetPrecompDefines(ecere::sys::OldList * list)", SetPrecompDefines, module, 1);
1968 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("DummyMethod", "bool DummyMethod(void)", DummyMethod, module, 2);
1969 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("LoadSymbols", "bool LoadSymbols(char * fileName, ecere::com::ImportType importType, bool loadDllOnly)", LoadSymbols, module, 1);
1970 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ImportModule", "void ImportModule(char * name, ecere::com::ImportType importType, ecere::com::AccessMode importAccess, bool loadDllOnly)", ImportModule, module, 1);
1971 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindIncludeFileID", "int FindIncludeFileID(char * includeFile)", FindIncludeFileID, module, 2);
1972 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetIncludeFileID", "int GetIncludeFileID(char * includeFile)", GetIncludeFileID, module, 2);
1973 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetIncludeFileFromID", "char * GetIncludeFileFromID(int id)", GetIncludeFileFromID, module, 2);
1974 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OpenIncludeFile", "ecere::sys::File OpenIncludeFile(char * includeFile)", OpenIncludeFile, module, 2);
1975 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeIncludeFiles", "void FreeIncludeFiles(void)", FreeIncludeFiles, module, 1);
1976 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeGlobalData", "void FreeGlobalData(ecere::com::NameSpace globalDataList)", FreeGlobalData, module, 1);
1977 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("CheckDataRedefinitions", "void CheckDataRedefinitions(void)", CheckDataRedefinitions, module, 1);
1980 void __ecereUnregisterModule_loadSymbols(struct __ecereNameSpace__ecere__com__Instance * module)
1985 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__List_TPL_ecere__com__Module___;
1987 void __ecereCreateModuleInstances_loadSymbols()
1989 loadedModules = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__List_TPL_ecere__com__Module___);
1990 __ecereNameSpace__ecere__com__eInstance_IncRef(loadedModules);
1993 void __ecereDestroyModuleInstances_loadSymbols()
1995 (__ecereNameSpace__ecere__com__eInstance_DecRef(loadedModules), loadedModules = 0);