1 /* Code generated from eC source file: freeAst.ec */
3 typedef long long int64;
4 typedef unsigned long long uint64;
8 #elif defined(__TINYC__)
10 #define __builtin_va_list va_list
11 #define __builtin_va_start va_start
12 #define __builtin_va_end va_end
14 #define strcasecmp stricmp
15 #define strncasecmp strnicmp
16 #define __declspec(x) __attribute__((x))
20 typedef long long int64;
21 typedef unsigned long long uint64;
23 typedef __int64 int64;
24 typedef unsigned __int64 uint64;
27 #define __ENDIAN_PAD(x) (8 - (x))
29 #define __ENDIAN_PAD(x) 0
32 #include <sys/types.h>
34 #if /*defined(_W64) || */(defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
40 #define arch_PointerSize sizeof(void *)
41 #define structSize_Instance (_64BIT ? 24 : 12)
42 #define structSize_Module (_64BIT ? 560 : 300)
44 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
46 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
48 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
50 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
52 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
54 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
56 struct __ecereNameSpace__ecere__sys__BTNode;
58 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
60 struct __ecereNameSpace__ecere__sys__BinaryTree
62 struct __ecereNameSpace__ecere__sys__BTNode * root;
64 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
65 void (* FreeKey)(void * key);
66 } __attribute__ ((gcc_struct));
68 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
70 struct __ecereNameSpace__ecere__sys__OldList
77 } __attribute__ ((gcc_struct));
79 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
81 struct __ecereNameSpace__ecere__com__Method
84 struct __ecereNameSpace__ecere__com__Method * parent;
85 struct __ecereNameSpace__ecere__com__Method * left;
86 struct __ecereNameSpace__ecere__com__Method * right;
91 struct __ecereNameSpace__ecere__com__Class * _class;
93 const char * dataTypeString;
94 struct Type * dataType;
96 } __attribute__ ((gcc_struct));
98 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
100 struct __ecereNameSpace__ecere__com__Property
102 struct __ecereNameSpace__ecere__com__Property * prev;
103 struct __ecereNameSpace__ecere__com__Property * next;
105 unsigned int isProperty;
108 struct __ecereNameSpace__ecere__com__Class * _class;
109 const char * dataTypeString;
110 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
111 struct Type * dataType;
112 void (* Set)(void * , int);
113 int (* Get)(void * );
114 unsigned int (* IsSet)(void * );
118 unsigned int conversion;
119 unsigned int watcherOffset;
120 const char * category;
121 unsigned int compiled;
122 unsigned int selfWatchable;
123 unsigned int isWatchable;
124 } __attribute__ ((gcc_struct));
126 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_CodePosition;
134 } __attribute__ ((gcc_struct));
136 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Location;
140 struct CodePosition start;
141 struct CodePosition end;
142 } __attribute__ ((gcc_struct));
144 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Attrib;
150 struct __ecereNameSpace__ecere__sys__OldList * attribs;
151 } __attribute__ ((gcc_struct));
153 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ExtDecl;
162 struct Attrib * attr;
163 } __attribute__ ((gcc_struct)) __anon1;
164 } __attribute__ ((gcc_struct));
166 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
168 struct ClassDefinition
170 struct ClassDefinition * prev;
171 struct ClassDefinition * next;
173 struct Specifier * _class;
174 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
175 struct __ecereNameSpace__ecere__sys__OldList * definitions;
176 struct Symbol * symbol;
177 struct Location blockStart;
178 struct Location nameLoc;
181 unsigned int deleteWatchable;
182 } __attribute__ ((gcc_struct));
184 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
188 struct Context * parent;
189 struct __ecereNameSpace__ecere__sys__BinaryTree types;
190 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
191 struct __ecereNameSpace__ecere__sys__BinaryTree symbols;
192 struct __ecereNameSpace__ecere__sys__BinaryTree structSymbols;
195 struct __ecereNameSpace__ecere__sys__BinaryTree templateTypes;
196 struct ClassDefinition * classDef;
197 unsigned int templateTypesOnly;
198 unsigned int hasNameSpace;
199 } __attribute__ ((gcc_struct));
201 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Instantiation;
205 struct Instantiation * prev;
206 struct Instantiation * next;
208 struct Specifier * _class;
209 struct Expression * exp;
210 struct __ecereNameSpace__ecere__sys__OldList * members;
211 struct Symbol * symbol;
212 unsigned int fullSet;
213 unsigned int isConstant;
214 unsigned char * data;
215 struct Location nameLoc;
216 struct Location insideLoc;
218 } __attribute__ ((gcc_struct));
220 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declaration;
224 struct Declaration * prev;
225 struct Declaration * next;
232 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
233 struct __ecereNameSpace__ecere__sys__OldList * declarators;
234 } __attribute__ ((gcc_struct)) __anon1;
235 struct Instantiation * inst;
238 struct Identifier * id;
239 struct Expression * exp;
240 } __attribute__ ((gcc_struct)) __anon2;
241 } __attribute__ ((gcc_struct)) __anon1;
242 struct Specifier * extStorage;
243 struct Symbol * symbol;
245 } __attribute__ ((gcc_struct));
247 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Statement;
251 struct Statement * prev;
252 struct Statement * next;
257 struct __ecereNameSpace__ecere__sys__OldList * expressions;
260 struct Identifier * id;
261 struct Statement * stmt;
262 } __attribute__ ((gcc_struct)) labeled;
265 struct Expression * exp;
266 struct Statement * stmt;
267 } __attribute__ ((gcc_struct)) caseStmt;
270 struct __ecereNameSpace__ecere__sys__OldList * declarations;
271 struct __ecereNameSpace__ecere__sys__OldList * statements;
272 struct Context * context;
273 unsigned int isSwitch;
274 } __attribute__ ((gcc_struct)) compound;
277 struct __ecereNameSpace__ecere__sys__OldList * exp;
278 struct Statement * stmt;
279 struct Statement * elseStmt;
280 } __attribute__ ((gcc_struct)) ifStmt;
283 struct __ecereNameSpace__ecere__sys__OldList * exp;
284 struct Statement * stmt;
285 } __attribute__ ((gcc_struct)) switchStmt;
288 struct __ecereNameSpace__ecere__sys__OldList * exp;
289 struct Statement * stmt;
290 } __attribute__ ((gcc_struct)) whileStmt;
293 struct __ecereNameSpace__ecere__sys__OldList * exp;
294 struct Statement * stmt;
295 } __attribute__ ((gcc_struct)) doWhile;
298 struct Statement * init;
299 struct Statement * check;
300 struct __ecereNameSpace__ecere__sys__OldList * increment;
301 struct Statement * stmt;
302 } __attribute__ ((gcc_struct)) forStmt;
305 struct Identifier * id;
306 } __attribute__ ((gcc_struct)) gotoStmt;
309 struct Specifier * spec;
311 struct __ecereNameSpace__ecere__sys__OldList * inputFields;
312 struct __ecereNameSpace__ecere__sys__OldList * outputFields;
313 struct __ecereNameSpace__ecere__sys__OldList * clobberedFields;
314 } __attribute__ ((gcc_struct)) asmStmt;
317 struct Expression * watcher;
318 struct Expression * object;
319 struct __ecereNameSpace__ecere__sys__OldList * watches;
320 } __attribute__ ((gcc_struct)) _watch;
323 struct Identifier * id;
324 struct __ecereNameSpace__ecere__sys__OldList * exp;
325 struct __ecereNameSpace__ecere__sys__OldList * filter;
326 struct Statement * stmt;
327 } __attribute__ ((gcc_struct)) forEachStmt;
328 struct Declaration * decl;
329 } __attribute__ ((gcc_struct)) __anon1;
330 } __attribute__ ((gcc_struct));
332 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TypeName;
336 struct TypeName * prev;
337 struct TypeName * next;
339 struct __ecereNameSpace__ecere__sys__OldList * qualifiers;
340 struct Declarator * declarator;
342 struct Expression * bitCount;
343 } __attribute__ ((gcc_struct));
345 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Initializer;
349 struct Initializer * prev;
350 struct Initializer * next;
355 struct Expression * exp;
356 struct __ecereNameSpace__ecere__sys__OldList * list;
357 } __attribute__ ((gcc_struct)) __anon1;
358 unsigned int isConstant;
359 struct Identifier * id;
360 } __attribute__ ((gcc_struct));
362 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
364 struct __ecereNameSpace__ecere__com__DataValue
379 } __attribute__ ((gcc_struct)) __anon1;
380 } __attribute__ ((gcc_struct));
382 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Expression;
386 struct Expression * prev;
387 struct Expression * next;
395 struct Identifier * identifier;
396 } __attribute__ ((gcc_struct)) __anon1;
397 struct Statement * compound;
398 struct Instantiation * instance;
402 unsigned int intlString;
403 } __attribute__ ((gcc_struct)) __anon2;
404 struct __ecereNameSpace__ecere__sys__OldList * list;
407 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
408 struct Declarator * decl;
409 } __attribute__ ((gcc_struct)) _classExp;
412 struct Identifier * id;
413 } __attribute__ ((gcc_struct)) classData;
416 struct Expression * exp;
417 struct __ecereNameSpace__ecere__sys__OldList * arguments;
418 struct Location argLoc;
419 } __attribute__ ((gcc_struct)) call;
422 struct Expression * exp;
423 struct __ecereNameSpace__ecere__sys__OldList * index;
424 } __attribute__ ((gcc_struct)) index;
427 struct Expression * exp;
428 struct Identifier * member;
430 unsigned int thisPtr;
431 } __attribute__ ((gcc_struct)) member;
435 struct Expression * exp1;
436 struct Expression * exp2;
437 } __attribute__ ((gcc_struct)) op;
438 struct TypeName * typeName;
439 struct Specifier * _class;
442 struct TypeName * typeName;
443 struct Expression * exp;
444 } __attribute__ ((gcc_struct)) cast;
447 struct Expression * cond;
448 struct __ecereNameSpace__ecere__sys__OldList * exp;
449 struct Expression * elseExp;
450 } __attribute__ ((gcc_struct)) cond;
453 struct TypeName * typeName;
454 struct Expression * size;
455 } __attribute__ ((gcc_struct)) _new;
458 struct TypeName * typeName;
459 struct Expression * size;
460 struct Expression * exp;
461 } __attribute__ ((gcc_struct)) _renew;
465 struct Identifier * id;
466 } __attribute__ ((gcc_struct)) db;
469 struct Expression * ds;
470 struct Expression * name;
471 } __attribute__ ((gcc_struct)) dbopen;
474 struct TypeName * typeName;
475 struct Initializer * initializer;
476 } __attribute__ ((gcc_struct)) initializer;
479 struct Expression * exp;
480 struct TypeName * typeName;
481 } __attribute__ ((gcc_struct)) vaArg;
482 } __attribute__ ((gcc_struct)) __anon1;
483 unsigned int debugValue;
484 struct __ecereNameSpace__ecere__com__DataValue val;
486 unsigned int hasAddress;
487 struct Type * expType;
488 struct Type * destType;
491 unsigned int byReference;
492 unsigned int isConstant;
493 unsigned int addedThis;
494 unsigned int needCast;
495 unsigned int thisPtr;
496 unsigned int opDestType;
497 } __attribute__ ((gcc_struct));
499 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateDatatype;
501 struct TemplateDatatype
503 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
504 struct Declarator * decl;
505 } __attribute__ ((gcc_struct));
507 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateArgument;
509 struct TemplateArgument
511 struct TemplateArgument * prev;
512 struct TemplateArgument * next;
514 struct Identifier * name;
518 struct Expression * expression;
519 struct Identifier * identifier;
520 struct TemplateDatatype * templateDatatype;
521 } __attribute__ ((gcc_struct)) __anon1;
522 } __attribute__ ((gcc_struct));
524 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
526 struct TemplateParameter
528 struct TemplateParameter * prev;
529 struct TemplateParameter * next;
532 struct Identifier * identifier;
535 struct TemplateDatatype * dataType;
537 } __attribute__ ((gcc_struct)) __anon1;
538 struct TemplateArgument * defaultArgument;
539 const char * dataTypeString;
540 struct Type * baseType;
541 } __attribute__ ((gcc_struct));
543 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Specifier;
547 struct Specifier * prev;
548 struct Specifier * next;
556 struct ExtDecl * extDecl;
558 struct Symbol * symbol;
559 struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
560 } __attribute__ ((gcc_struct)) __anon1;
563 struct Identifier * id;
564 struct __ecereNameSpace__ecere__sys__OldList * list;
565 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
566 struct __ecereNameSpace__ecere__sys__OldList * definitions;
567 unsigned int addNameSpace;
568 struct Context * ctx;
569 struct ExtDecl * extDeclStruct;
570 } __attribute__ ((gcc_struct)) __anon2;
571 struct Expression * expression;
572 struct Specifier * _class;
573 struct TemplateParameter * templateParameter;
574 } __attribute__ ((gcc_struct)) __anon1;
575 } __attribute__ ((gcc_struct));
577 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Identifier;
581 struct Identifier * prev;
582 struct Identifier * next;
584 struct Symbol * classSym;
585 struct Specifier * _class;
587 struct Identifier * badID;
588 } __attribute__ ((gcc_struct));
590 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Pointer;
594 struct Pointer * prev;
595 struct Pointer * next;
597 struct __ecereNameSpace__ecere__sys__OldList * qualifiers;
598 struct Pointer * pointer;
599 } __attribute__ ((gcc_struct));
601 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declarator;
605 struct Declarator * prev;
606 struct Declarator * next;
609 struct Symbol * symbol;
610 struct Declarator * declarator;
613 struct Identifier * identifier;
616 struct Expression * exp;
617 struct Expression * posExp;
618 struct Attrib * attrib;
619 } __attribute__ ((gcc_struct)) structDecl;
622 struct Expression * exp;
623 struct Specifier * enumClass;
624 } __attribute__ ((gcc_struct)) array;
627 struct __ecereNameSpace__ecere__sys__OldList * parameters;
628 } __attribute__ ((gcc_struct)) function;
631 struct Pointer * pointer;
632 } __attribute__ ((gcc_struct)) pointer;
635 struct ExtDecl * extended;
636 } __attribute__ ((gcc_struct)) extended;
637 } __attribute__ ((gcc_struct)) __anon1;
638 } __attribute__ ((gcc_struct));
640 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_FunctionDefinition;
642 struct FunctionDefinition
644 struct FunctionDefinition * prev;
645 struct FunctionDefinition * next;
647 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
648 struct Declarator * declarator;
649 struct __ecereNameSpace__ecere__sys__OldList * declarations;
650 struct Statement * body;
651 struct __ecereNameSpace__ecere__com__Class * _class;
652 struct __ecereNameSpace__ecere__sys__OldList attached;
655 struct Symbol * propSet;
657 unsigned int propertyNoThis;
658 } __attribute__ ((gcc_struct));
660 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBTableDef;
665 struct Symbol * symbol;
666 struct __ecereNameSpace__ecere__sys__OldList * definitions;
668 } __attribute__ ((gcc_struct));
670 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_External;
674 struct External * prev;
675 struct External * next;
678 struct Symbol * symbol;
681 struct FunctionDefinition * function;
682 struct ClassDefinition * _class;
683 struct Declaration * declaration;
685 struct Identifier * id;
686 struct DBTableDef * table;
687 } __attribute__ ((gcc_struct)) __anon1;
689 } __attribute__ ((gcc_struct));
691 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ModuleImport;
695 struct ModuleImport * prev;
696 struct ModuleImport * next;
698 struct __ecereNameSpace__ecere__sys__OldList classes;
699 struct __ecereNameSpace__ecere__sys__OldList functions;
702 } __attribute__ ((gcc_struct));
704 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassImport;
708 struct ClassImport * prev;
709 struct ClassImport * next;
711 struct __ecereNameSpace__ecere__sys__OldList methods;
712 struct __ecereNameSpace__ecere__sys__OldList properties;
715 } __attribute__ ((gcc_struct));
717 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Symbol;
722 struct Symbol * parent;
723 struct Symbol * left;
724 struct Symbol * right;
729 struct __ecereNameSpace__ecere__com__Method * method;
730 struct __ecereNameSpace__ecere__com__Property * _property;
731 struct __ecereNameSpace__ecere__com__Class * registered;
732 } __attribute__ ((gcc_struct)) __anon1;
739 struct External * pointerExternal;
740 struct External * structExternal;
741 } __attribute__ ((gcc_struct)) __anon1;
744 struct External * externalGet;
745 struct External * externalSet;
746 struct External * externalPtr;
747 struct External * externalIsSet;
748 } __attribute__ ((gcc_struct)) __anon2;
751 struct External * methodExternal;
752 struct External * methodCodeExternal;
753 } __attribute__ ((gcc_struct)) __anon3;
754 } __attribute__ ((gcc_struct)) __anon2;
755 unsigned int imported;
756 unsigned int declaredStructSym;
757 struct __ecereNameSpace__ecere__com__Class * _class;
758 unsigned int declaredStruct;
759 unsigned int needConstructor;
760 unsigned int needDestructor;
761 char * constructorName;
764 char * destructorName;
765 struct ModuleImport * module;
766 struct ClassImport * _import;
767 struct Location nameLoc;
768 unsigned int isParam;
769 unsigned int isRemote;
770 unsigned int isStruct;
771 unsigned int fireWatchersDone;
773 unsigned int classData;
774 unsigned int isStatic;
776 struct __ecereNameSpace__ecere__sys__OldList * templateParams;
777 struct __ecereNameSpace__ecere__sys__OldList templatedClasses;
778 struct Context * ctx;
780 struct Expression * propCategory;
781 } __attribute__ ((gcc_struct));
783 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Type;
792 struct Symbol * _class;
795 struct __ecereNameSpace__ecere__sys__OldList members;
797 } __attribute__ ((gcc_struct)) __anon1;
800 struct Type * returnType;
801 struct __ecereNameSpace__ecere__sys__OldList params;
802 struct Symbol * thisClass;
803 unsigned int staticMethod;
804 struct TemplateParameter * thisClassTemplate;
805 } __attribute__ ((gcc_struct)) __anon2;
808 struct __ecereNameSpace__ecere__com__Method * method;
809 struct __ecereNameSpace__ecere__com__Class * methodClass;
810 struct __ecereNameSpace__ecere__com__Class * usedClass;
811 } __attribute__ ((gcc_struct)) __anon3;
814 struct Type * arrayType;
816 struct Expression * arraySizeExp;
817 unsigned int freeExp;
818 struct Symbol * enumClass;
819 } __attribute__ ((gcc_struct)) __anon4;
821 struct TemplateParameter * templateParameter;
822 } __attribute__ ((gcc_struct)) __anon1;
832 unsigned int isSigned : 1;
833 unsigned int constant : 1;
834 unsigned int truth : 1;
835 unsigned int byReference : 1;
836 unsigned int extraParam : 1;
837 unsigned int directClassAccess : 1;
838 unsigned int computing : 1;
839 unsigned int keepCast : 1;
840 unsigned int passAsTemplate : 1;
841 unsigned int dllExport : 1;
842 unsigned int attrStdcall : 1;
843 unsigned int declaredWithStruct : 1;
844 unsigned int typedByReference : 1;
845 unsigned int casted : 1;
846 } __attribute__ ((gcc_struct));
848 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
850 struct __ecereNameSpace__ecere__com__Class
852 struct __ecereNameSpace__ecere__com__Class * prev;
853 struct __ecereNameSpace__ecere__com__Class * next;
859 int (* Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
860 void (* Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
863 struct __ecereNameSpace__ecere__com__Class * base;
864 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
865 struct __ecereNameSpace__ecere__sys__BinaryTree members;
866 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
867 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
868 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
869 struct __ecereNameSpace__ecere__sys__OldList derivatives;
873 struct __ecereNameSpace__ecere__com__Instance * module;
874 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
875 const char * dataTypeString;
876 struct Type * dataType;
878 int defaultAlignment;
879 void (* Initialize)();
881 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
882 const char * designerClass;
883 unsigned int noExpansion;
884 const char * defaultProperty;
885 unsigned int comRedefinition;
888 unsigned int internalDecl;
890 unsigned int computeSize;
892 int destructionWatchOffset;
894 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
895 int inheritanceAccess;
896 const char * fullName;
898 struct __ecereNameSpace__ecere__sys__OldList conversions;
899 struct __ecereNameSpace__ecere__sys__OldList templateParams;
900 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
901 struct __ecereNameSpace__ecere__com__Class * templateClass;
902 struct __ecereNameSpace__ecere__sys__OldList templatized;
904 unsigned int isInstanceClass;
905 unsigned int byValueSystemClass;
906 } __attribute__ ((gcc_struct));
908 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name);
910 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value);
912 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
914 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function);
916 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
918 extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object);
920 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * ));
922 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
924 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
926 struct __ecereNameSpace__ecere__com__Instance
929 struct __ecereNameSpace__ecere__com__Class * _class;
931 } __attribute__ ((gcc_struct));
933 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
935 struct __ecereNameSpace__ecere__com__DataMember
937 struct __ecereNameSpace__ecere__com__DataMember * prev;
938 struct __ecereNameSpace__ecere__com__DataMember * next;
940 unsigned int isProperty;
943 struct __ecereNameSpace__ecere__com__Class * _class;
944 const char * dataTypeString;
945 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
946 struct Type * dataType;
950 struct __ecereNameSpace__ecere__sys__OldList members;
951 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
954 } __attribute__ ((gcc_struct));
956 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
958 struct __ecereNameSpace__ecere__com__SerialBuffer
960 unsigned char * _buffer;
964 } __attribute__ ((gcc_struct));
966 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
968 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
974 const char * dataTypeString;
975 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
976 } __attribute__ ((gcc_struct)) __anon1;
977 struct __ecereNameSpace__ecere__com__DataValue expression;
980 const char * memberString;
983 struct __ecereNameSpace__ecere__com__DataMember * member;
984 struct __ecereNameSpace__ecere__com__Property * prop;
985 struct __ecereNameSpace__ecere__com__Method * method;
986 } __attribute__ ((gcc_struct)) __anon1;
987 } __attribute__ ((gcc_struct)) __anon2;
988 } __attribute__ ((gcc_struct)) __anon1;
989 } __attribute__ ((gcc_struct));
991 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(struct __ecereNameSpace__ecere__sys__OldList * this, void * item);
993 void FreeList(struct __ecereNameSpace__ecere__sys__OldList * list, void (* FreeFunction)(void *))
995 if(list != (((void *)0)))
997 struct __ecereNameSpace__ecere__sys__Item * item;
999 while((item = list->first))
1001 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(list, item);
1004 (__ecereNameSpace__ecere__com__eSystem_Delete(list), list = 0);
1008 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedLink;
1010 struct __ecereNameSpace__ecere__sys__NamedLink
1012 struct __ecereNameSpace__ecere__sys__NamedLink * prev;
1013 struct __ecereNameSpace__ecere__sys__NamedLink * next;
1016 } __attribute__ ((gcc_struct));
1018 void FreeExpression(struct Expression * exp);
1020 void FreeType(struct Type * type)
1025 if(type->refCount <= 0)
1031 struct __ecereNameSpace__ecere__sys__NamedLink * member, * next;
1033 if(type->__anon1.__anon1.enumName)
1034 (__ecereNameSpace__ecere__com__eSystem_Delete(type->__anon1.__anon1.enumName), type->__anon1.__anon1.enumName = 0);
1035 for(member = type->__anon1.__anon1.members.first; member; member = next)
1037 next = member->next;
1038 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(&type->__anon1.__anon1.members, member);
1039 (__ecereNameSpace__ecere__com__eSystem_Delete(member->name), member->name = 0);
1040 ((member ? (__ecereClass___ecereNameSpace__ecere__sys__NamedLink->Destructor ? __ecereClass___ecereNameSpace__ecere__sys__NamedLink->Destructor((void *)member) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(member)) : 0), member = 0);
1047 struct Type * member, * next;
1049 (__ecereNameSpace__ecere__com__eSystem_Delete(type->__anon1.__anon1.enumName), type->__anon1.__anon1.enumName = 0);
1050 for(member = type->__anon1.__anon1.members.first; member; member = next)
1052 next = member->next;
1053 if(member->refCount == 1)
1054 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(&type->__anon1.__anon1.members, member);
1061 struct Type * param, * next;
1063 if(type->__anon1.__anon2.returnType)
1064 FreeType(type->__anon1.__anon2.returnType);
1065 for(param = type->__anon1.__anon2.params.first; param; param = next)
1073 if(type->__anon1.__anon4.freeExp && type->__anon1.__anon4.arraySizeExp)
1074 FreeExpression(type->__anon1.__anon4.arraySizeExp);
1076 if(type->__anon1.type)
1077 FreeType(type->__anon1.type);
1080 (__ecereNameSpace__ecere__com__eSystem_Delete(type->name), type->name = 0);
1081 (__ecereNameSpace__ecere__com__eSystem_Delete(type->typeName), type->typeName = 0);
1082 ((type ? (__ecereClass_Type->Destructor ? __ecereClass_Type->Destructor((void *)type) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(type)) : 0), type = 0);
1087 void FreeTemplateParameter(struct TemplateParameter * param);
1089 void FreeContext(struct Context * context);
1091 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete(struct __ecereNameSpace__ecere__sys__OldList * this, void * item);
1093 void FreeSymbol(struct Symbol * symbol)
1095 struct __ecereNameSpace__ecere__sys__OldLink * link;
1097 if(symbol->propCategory)
1098 FreeExpression(symbol->propCategory);
1099 FreeType(symbol->type);
1100 while((link = symbol->templatedClasses.first))
1101 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete(&symbol->templatedClasses, link);
1102 (__ecereNameSpace__ecere__com__eSystem_Delete(symbol->string), symbol->string = 0);
1103 if(symbol->templateParams)
1104 FreeList(symbol->templateParams, FreeTemplateParameter);
1105 (__ecereNameSpace__ecere__com__eSystem_Delete(symbol->constructorName), symbol->constructorName = 0);
1106 (__ecereNameSpace__ecere__com__eSystem_Delete(symbol->structName), symbol->structName = 0);
1107 (__ecereNameSpace__ecere__com__eSystem_Delete(symbol->className), symbol->className = 0);
1108 (__ecereNameSpace__ecere__com__eSystem_Delete(symbol->destructorName), symbol->destructorName = 0);
1109 (__ecereNameSpace__ecere__com__eSystem_Delete(symbol->shortName), symbol->shortName = 0);
1112 FreeContext(symbol->ctx);
1113 ((symbol->ctx ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)symbol->ctx) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(symbol->ctx)) : 0), symbol->ctx = 0);
1115 ((symbol ? (__ecereClass_Symbol->Destructor ? __ecereClass_Symbol->Destructor((void *)symbol) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(symbol)) : 0), symbol = 0);
1118 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_MethodImport;
1122 struct MethodImport * prev;
1123 struct MethodImport * next;
1125 unsigned int isVirtual;
1126 } __attribute__ ((gcc_struct));
1128 void FreeMethodImport(struct MethodImport * imp)
1130 (__ecereNameSpace__ecere__com__eSystem_Delete(imp->name), imp->name = 0);
1133 void FreePropertyImport(struct MethodImport * imp)
1135 (__ecereNameSpace__ecere__com__eSystem_Delete(imp->name), imp->name = 0);
1138 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(struct __ecereNameSpace__ecere__sys__OldList * this, void (* freeFn)(void * ));
1140 void FreeClassImport(struct ClassImport * imp)
1142 (__ecereNameSpace__ecere__com__eSystem_Delete(imp->name), imp->name = 0);
1143 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(&imp->methods, FreeMethodImport);
1144 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(&imp->properties, FreePropertyImport);
1147 void FreeFunctionImport(struct ClassImport * imp)
1149 (__ecereNameSpace__ecere__com__eSystem_Delete(imp->name), imp->name = 0);
1152 void FreeModuleImport(struct ModuleImport * imp)
1154 (__ecereNameSpace__ecere__com__eSystem_Delete(imp->name), imp->name = 0);
1155 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(&imp->classes, FreeClassImport);
1156 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(&imp->functions, FreeFunctionImport);
1159 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Definition;
1163 struct Definition * prev;
1164 struct Definition * next;
1167 } __attribute__ ((gcc_struct));
1169 void FreeModuleDefine(struct Definition * def)
1171 (__ecereNameSpace__ecere__com__eSystem_Delete(def->name), def->name = 0);
1174 void FreeExcludedSymbols(struct __ecereNameSpace__ecere__sys__OldList * excludedSymbols)
1176 struct Symbol * symbol;
1178 while((symbol = excludedSymbols->first))
1180 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(excludedSymbols, symbol);
1185 void FreeIdentifier(struct Identifier * id);
1187 void FreeTemplateDataType(struct TemplateDatatype * type);
1189 void FreeTemplateArgument(struct TemplateArgument * arg)
1194 if(arg->__anon1.expression)
1195 FreeExpression(arg->__anon1.expression);
1198 if(arg->__anon1.identifier)
1199 FreeIdentifier(arg->__anon1.identifier);
1202 if(arg->__anon1.templateDatatype)
1203 FreeTemplateDataType(arg->__anon1.templateDatatype);
1207 FreeIdentifier(arg->name);
1208 ((arg ? (__ecereClass_TemplateArgument->Destructor ? __ecereClass_TemplateArgument->Destructor((void *)arg) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(arg)) : 0), arg = 0);
1211 void FreeDeclarator(struct Declarator * decl);
1213 void FreeSpecifier(struct Specifier * spec);
1215 void FreeTemplateDataType(struct TemplateDatatype * type)
1218 FreeDeclarator(type->decl);
1219 if(type->specifiers)
1220 FreeList(type->specifiers, FreeSpecifier);
1221 ((type ? (__ecereClass_TemplateDatatype->Destructor ? __ecereClass_TemplateDatatype->Destructor((void *)type) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(type)) : 0), type = 0);
1224 void FreeTemplateParameter(struct TemplateParameter * param)
1226 if(param->identifier)
1228 FreeIdentifier(param->identifier);
1230 if(param->type == 0 || param->type == 2)
1232 if(param->__anon1.dataType)
1233 FreeTemplateDataType(param->__anon1.dataType);
1235 if(param->defaultArgument)
1236 FreeTemplateArgument(param->defaultArgument);
1238 FreeType(param->baseType);
1239 ((param ? (__ecereClass_TemplateParameter->Destructor ? __ecereClass_TemplateParameter->Destructor((void *)param) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(param)) : 0), param = 0);
1242 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplatedType;
1244 void FreeTemplateType(struct TemplatedType * type)
1246 ((type ? (__ecereClass_TemplatedType->Destructor ? __ecereClass_TemplatedType->Destructor((void *)type) : 0, __ecereClass___ecereNameSpace__ecere__sys__BTNode->Destructor ? __ecereClass___ecereNameSpace__ecere__sys__BTNode->Destructor((void *)type) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(type)) : 0), type = 0);
1249 extern struct Context * curContext;
1251 extern struct Context * globalContext;
1253 void __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(struct __ecereNameSpace__ecere__sys__BinaryTree * this, struct __ecereNameSpace__ecere__sys__BTNode * node);
1255 void FreeContext(struct Context * context)
1257 struct Symbol * symbol;
1259 if(context == curContext)
1260 curContext = globalContext;
1261 while((symbol = (struct Symbol *)context->types.root))
1263 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&context->types, (struct __ecereNameSpace__ecere__sys__BTNode *)symbol);
1266 while((symbol = (struct Symbol *)context->classes.root))
1268 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&context->classes, (struct __ecereNameSpace__ecere__sys__BTNode *)symbol);
1271 while((symbol = (struct Symbol *)context->symbols.root))
1273 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)symbol);
1276 while((symbol = (struct Symbol *)context->structSymbols.root))
1278 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&context->structSymbols, (struct __ecereNameSpace__ecere__sys__BTNode *)symbol);
1281 while((symbol = (struct Symbol *)context->templateTypes.root))
1283 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&context->templateTypes, (struct __ecereNameSpace__ecere__sys__BTNode *)symbol);
1284 FreeTemplateType((struct TemplatedType *)symbol);
1286 context->nextID = 0;
1287 context->simpleID = 0;
1288 context->parent = (((void *)0));
1291 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Enumerator;
1295 struct Enumerator * prev;
1296 struct Enumerator * next;
1297 struct Location loc;
1298 struct Identifier * id;
1299 struct Expression * exp;
1300 } __attribute__ ((gcc_struct));
1302 void FreeEnumerator(struct Enumerator * enumerator)
1305 FreeIdentifier(enumerator->id);
1307 FreeExpression(enumerator->exp);
1308 ((enumerator ? (__ecereClass_Enumerator->Destructor ? __ecereClass_Enumerator->Destructor((void *)enumerator) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(enumerator)) : 0), enumerator = 0);
1311 void FreeSpecifierContents(struct Specifier * spec);
1313 void FreeSpecifier(struct Specifier * spec)
1317 FreeSpecifierContents(spec);
1318 ((spec ? (__ecereClass_Specifier->Destructor ? __ecereClass_Specifier->Destructor((void *)spec) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(spec)) : 0), spec = 0);
1322 void FreeExtDecl(struct ExtDecl * extDecl);
1324 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassFunction;
1326 struct ClassFunction
1328 struct ClassFunction * prev;
1329 struct ClassFunction * next;
1330 struct Location loc;
1331 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1332 struct Declarator * declarator;
1333 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1334 struct Statement * body;
1335 struct __ecereNameSpace__ecere__com__Class * _class;
1336 struct __ecereNameSpace__ecere__sys__OldList attached;
1339 struct Symbol * propSet;
1340 unsigned int isVirtual;
1341 unsigned int isConstructor;
1342 unsigned int isDestructor;
1343 unsigned int dontMangle;
1346 } __attribute__ ((gcc_struct));
1348 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyDef;
1352 struct PropertyDef * prev;
1353 struct PropertyDef * next;
1354 struct Location loc;
1355 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1356 struct Declarator * declarator;
1357 struct Identifier * id;
1358 struct Statement * getStmt;
1359 struct Statement * setStmt;
1360 struct Statement * issetStmt;
1361 struct Symbol * symbol;
1362 struct Expression * category;
1365 unsigned int conversion : 1;
1366 unsigned int isWatchable : 1;
1367 unsigned int isDBProp : 1;
1368 } __attribute__ ((gcc_struct)) __anon1;
1369 } __attribute__ ((gcc_struct));
1371 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyWatch;
1373 struct PropertyWatch
1375 struct PropertyWatch * prev;
1376 struct PropertyWatch * next;
1377 struct Location loc;
1378 struct Statement * compound;
1379 struct __ecereNameSpace__ecere__sys__OldList * properties;
1380 unsigned int deleteWatch;
1381 } __attribute__ ((gcc_struct));
1383 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDef;
1387 struct ClassDef * prev;
1388 struct ClassDef * next;
1389 struct Location loc;
1393 struct Declaration * decl;
1394 struct ClassFunction * function;
1395 struct __ecereNameSpace__ecere__sys__OldList * defProperties;
1396 struct PropertyDef * propertyDef;
1397 struct PropertyWatch * propertyWatch;
1399 struct Identifier * defaultProperty;
1402 struct Identifier * id;
1403 struct Initializer * initializer;
1404 } __attribute__ ((gcc_struct)) __anon1;
1405 } __attribute__ ((gcc_struct)) __anon1;
1408 } __attribute__ ((gcc_struct));
1410 void FreeClassDef(struct ClassDef * def);
1412 void FreeSpecifierContents(struct Specifier * spec)
1417 (__ecereNameSpace__ecere__com__eSystem_Delete(spec->__anon1.__anon1.name), spec->__anon1.__anon1.name = 0);
1418 if(spec->__anon1.__anon1.templateArgs)
1420 FreeList(spec->__anon1.__anon1.templateArgs, FreeTemplateArgument);
1421 spec->__anon1.__anon1.templateArgs = (((void *)0));
1425 if(spec->__anon1.__anon1.extDecl)
1427 FreeExtDecl(spec->__anon1.__anon1.extDecl);
1428 spec->__anon1.__anon1.extDecl = (((void *)0));
1432 if(spec->__anon1.__anon2.baseSpecs)
1434 FreeList(spec->__anon1.__anon2.baseSpecs, FreeSpecifier);
1435 spec->__anon1.__anon2.baseSpecs = (((void *)0));
1437 if(spec->__anon1.__anon2.id)
1439 FreeIdentifier(spec->__anon1.__anon2.id);
1440 spec->__anon1.__anon2.id = (((void *)0));
1442 if(spec->__anon1.__anon2.list)
1444 FreeList(spec->__anon1.__anon2.list, FreeEnumerator);
1445 spec->__anon1.__anon2.list = (((void *)0));
1447 if(spec->__anon1.__anon2.definitions)
1449 FreeList(spec->__anon1.__anon2.definitions, FreeClassDef);
1450 spec->__anon1.__anon2.definitions = (((void *)0));
1455 if(spec->__anon1.__anon2.id)
1457 FreeIdentifier(spec->__anon1.__anon2.id);
1458 spec->__anon1.__anon2.id = (((void *)0));
1460 if(spec->__anon1.__anon2.definitions)
1462 FreeList(spec->__anon1.__anon2.definitions, FreeClassDef);
1463 spec->__anon1.__anon2.definitions = (((void *)0));
1465 if(spec->__anon1.__anon2.baseSpecs)
1467 FreeList(spec->__anon1.__anon2.baseSpecs, FreeSpecifier);
1468 spec->__anon1.__anon2.baseSpecs = (((void *)0));
1470 if(spec->__anon1.__anon2.extDeclStruct)
1472 FreeExtDecl(spec->__anon1.__anon2.extDeclStruct);
1473 spec->__anon1.__anon2.extDeclStruct = (((void *)0));
1475 if(spec->__anon1.__anon2.ctx)
1477 FreeContext(spec->__anon1.__anon2.ctx);
1478 ((spec->__anon1.__anon2.ctx ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)spec->__anon1.__anon2.ctx) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(spec->__anon1.__anon2.ctx)) : 0), spec->__anon1.__anon2.ctx = 0);
1482 if(spec->__anon1._class)
1484 FreeSpecifier(spec->__anon1._class);
1485 spec->__anon1._class = (((void *)0));
1491 void FreeIdentifier(struct Identifier * id)
1494 FreeIdentifier(id->badID);
1495 (__ecereNameSpace__ecere__com__eSystem_Delete(id->string), id->string = 0);
1497 FreeSpecifier(id->_class);
1498 ((id ? (__ecereClass_Identifier->Destructor ? __ecereClass_Identifier->Destructor((void *)id) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(id)) : 0), id = 0);
1501 void FreeTypeName(struct TypeName * typeName)
1503 if(typeName->qualifiers)
1504 FreeList(typeName->qualifiers, FreeSpecifier);
1505 if(typeName->declarator)
1506 FreeDeclarator(typeName->declarator);
1507 if(typeName->bitCount)
1508 FreeExpression(typeName->bitCount);
1509 ((typeName ? (__ecereClass_TypeName->Destructor ? __ecereClass_TypeName->Destructor((void *)typeName) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(typeName)) : 0), typeName = 0);
1512 static void _FreeExpression(struct Expression * exp, unsigned int freePointer);
1514 void FreeExpContents(struct Expression * exp)
1516 _FreeExpression(exp, 0x0);
1519 void FreeExpression(struct Expression * exp)
1521 _FreeExpression(exp, 0x1);
1524 void FreeInstance(struct Instantiation * inst);
1526 void FreeStatement(struct Statement * stmt);
1528 void FreeInitializer(struct Initializer * initializer);
1530 static void _FreeExpression(struct Expression * exp, unsigned int freePointer)
1536 FreeExpression(exp->__anon1._new.size);
1537 FreeTypeName(exp->__anon1._new.typeName);
1541 FreeExpression(exp->__anon1._renew.exp);
1542 FreeExpression(exp->__anon1._renew.size);
1543 FreeTypeName(exp->__anon1._renew.typeName);
1546 (__ecereNameSpace__ecere__com__eSystem_Delete(exp->__anon1.__anon1.constant), exp->__anon1.__anon1.constant = 0);
1549 if(exp->__anon1.__anon1.identifier)
1550 FreeIdentifier(exp->__anon1.__anon1.identifier);
1553 if(exp->__anon1.instance)
1555 FreeInstance(exp->__anon1.instance);
1556 exp->__anon1.instance = (((void *)0));
1560 (__ecereNameSpace__ecere__com__eSystem_Delete(exp->__anon1.__anon2.string), exp->__anon1.__anon2.string = 0);
1563 if(exp->__anon1.op.exp1)
1564 FreeExpression(exp->__anon1.op.exp1);
1565 if(exp->__anon1.op.exp2)
1566 FreeExpression(exp->__anon1.op.exp2);
1570 FreeList(exp->__anon1.list, FreeExpression);
1575 if(exp->__anon1.index.exp)
1576 FreeExpression(exp->__anon1.index.exp);
1577 if(exp->__anon1.index.index)
1578 FreeList(exp->__anon1.index.index, FreeExpression);
1583 if(exp->__anon1.call.exp)
1584 FreeExpression(exp->__anon1.call.exp);
1585 if(exp->__anon1.call.arguments)
1586 FreeList(exp->__anon1.call.arguments, FreeExpression);
1591 if(exp->__anon1.member.exp)
1592 FreeExpression(exp->__anon1.member.exp);
1593 if(exp->__anon1.member.member)
1594 FreeIdentifier(exp->__anon1.member.member);
1597 FreeTypeName(exp->__anon1._new.typeName);
1600 FreeTypeName(exp->__anon1._new.typeName);
1603 if(exp->__anon1.cast.exp)
1604 FreeExpression(exp->__anon1.cast.exp);
1605 FreeTypeName(exp->__anon1.cast.typeName);
1609 if(exp->__anon1.cond.cond)
1610 FreeExpression(exp->__anon1.cond.cond);
1611 if(exp->__anon1.cond.exp)
1612 FreeList(exp->__anon1.cond.exp, FreeExpression);
1613 if(exp->__anon1.cond.elseExp)
1614 FreeExpression(exp->__anon1.cond.elseExp);
1619 if(exp->__anon1.compound)
1620 FreeStatement(exp->__anon1.compound);
1625 if(exp->__anon1.list)
1626 FreeList(exp->__anon1.list, FreeExpression);
1631 if(exp->__anon1.initializer.typeName)
1632 FreeTypeName(exp->__anon1.initializer.typeName);
1633 if(exp->__anon1.initializer.initializer)
1634 FreeInitializer(exp->__anon1.initializer.initializer);
1640 if(exp->__anon1._classExp.specifiers)
1641 FreeList(exp->__anon1._classExp.specifiers, FreeSpecifier);
1642 if(exp->__anon1._classExp.decl)
1643 FreeDeclarator(exp->__anon1._classExp.decl);
1648 if(exp->__anon1.db.id)
1649 FreeIdentifier(exp->__anon1.db.id);
1650 (__ecereNameSpace__ecere__com__eSystem_Delete(exp->__anon1.db.table), exp->__anon1.db.table = 0);
1653 if(exp->__anon1.dbopen.ds)
1654 FreeExpression(exp->__anon1.dbopen.ds);
1655 if(exp->__anon1.dbopen.name)
1656 FreeExpression(exp->__anon1.dbopen.name);
1659 if(exp->__anon1.vaArg.exp)
1660 FreeExpression(exp->__anon1.vaArg.exp);
1661 if(exp->__anon1.vaArg.typeName)
1662 FreeTypeName(exp->__anon1.vaArg.typeName);
1665 if(exp->__anon1.list)
1666 FreeList(exp->__anon1.list, FreeExpression);
1669 if(exp->__anon1._class)
1670 FreeSpecifier(exp->__anon1._class);
1673 if(exp->__anon1.classData.id)
1674 FreeIdentifier(exp->__anon1.classData.id);
1677 if(exp->__anon1.__anon1.identifier)
1678 FreeIdentifier(exp->__anon1.__anon1.identifier);
1681 (__ecereNameSpace__ecere__com__eSystem_Delete(exp->__anon1.__anon1.constant), exp->__anon1.__anon1.constant = 0);
1685 if(exp->__anon1.member.exp)
1686 FreeExpression(exp->__anon1.member.exp);
1687 if(exp->__anon1.member.member)
1688 FreeIdentifier(exp->__anon1.member.member);
1691 if(exp->__anon1.call.exp)
1692 FreeExpression(exp->__anon1.call.exp);
1693 if(exp->__anon1.call.arguments)
1694 FreeList(exp->__anon1.call.arguments, FreeExpression);
1704 FreeType(exp->expType);
1706 FreeType(exp->destType);
1707 ((exp ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor((void *)exp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(exp)) : 0), exp = 0);
1711 void FreePointer(struct Pointer * pointer)
1713 if(pointer->pointer)
1714 FreePointer(pointer->pointer);
1715 if(pointer->qualifiers)
1716 FreeList(pointer->qualifiers, FreeSpecifier);
1717 ((pointer ? (__ecereClass_Pointer->Destructor ? __ecereClass_Pointer->Destructor((void *)pointer) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(pointer)) : 0), pointer = 0);
1720 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Attribute;
1724 struct Attribute * prev;
1725 struct Attribute * next;
1726 struct Location loc;
1728 struct Expression * exp;
1729 } __attribute__ ((gcc_struct));
1731 void FreeAttribute(struct Attribute * attr);
1733 void FreeAttrib(struct Attrib * attr)
1736 FreeList(attr->attribs, FreeAttribute);
1737 ((attr ? (__ecereClass_Attrib->Destructor ? __ecereClass_Attrib->Destructor((void *)attr) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(attr)) : 0), attr = 0);
1740 void FreeAttribute(struct Attribute * attr)
1742 (__ecereNameSpace__ecere__com__eSystem_Delete(attr->attr), attr->attr = 0);
1744 FreeExpression(attr->exp);
1745 ((attr ? (__ecereClass_Attribute->Destructor ? __ecereClass_Attribute->Destructor((void *)attr) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(attr)) : 0), attr = 0);
1748 void FreeExtDecl(struct ExtDecl * extDecl)
1750 if(extDecl->type == 1 && extDecl->__anon1.attr)
1751 FreeAttrib(extDecl->__anon1.attr);
1752 else if(extDecl->type == 0)
1753 (__ecereNameSpace__ecere__com__eSystem_Delete(extDecl->__anon1.s), extDecl->__anon1.s = 0);
1754 ((extDecl ? (__ecereClass_ExtDecl->Destructor ? __ecereClass_ExtDecl->Destructor((void *)extDecl) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(extDecl)) : 0), extDecl = 0);
1757 void FreeDeclarator(struct Declarator * decl)
1759 if(decl->declarator)
1760 FreeDeclarator(decl->declarator);
1764 if(decl->__anon1.structDecl.exp)
1765 FreeExpression(decl->__anon1.structDecl.exp);
1766 if(decl->__anon1.structDecl.posExp)
1767 FreeExpression(decl->__anon1.structDecl.posExp);
1768 if(decl->__anon1.structDecl.attrib)
1769 FreeAttrib(decl->__anon1.structDecl.attrib);
1772 FreeIdentifier(decl->__anon1.identifier);
1777 if(decl->__anon1.array.exp)
1778 FreeExpression(decl->__anon1.array.exp);
1779 if(decl->__anon1.array.enumClass)
1780 FreeSpecifier(decl->__anon1.array.enumClass);
1783 FreeList(decl->__anon1.function.parameters, FreeTypeName);
1786 if(decl->__anon1.pointer.pointer)
1787 FreePointer(decl->__anon1.pointer.pointer);
1791 if(decl->__anon1.extended.extended)
1792 FreeExtDecl(decl->__anon1.extended.extended);
1795 ((decl ? (__ecereClass_Declarator->Destructor ? __ecereClass_Declarator->Destructor((void *)decl) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(decl)) : 0), decl = 0);
1798 void FreePropertyWatch(struct PropertyWatch * watcher)
1800 if(watcher->properties)
1801 FreeList(watcher->properties, FreeIdentifier);
1802 if(watcher->compound)
1803 FreeStatement(watcher->compound);
1804 ((watcher ? (__ecereClass_PropertyWatch->Destructor ? __ecereClass_PropertyWatch->Destructor((void *)watcher) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(watcher)) : 0), watcher = 0);
1807 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_AsmField;
1811 struct AsmField * prev;
1812 struct AsmField * next;
1813 struct Location loc;
1815 struct Expression * expression;
1816 struct Identifier * symbolic;
1817 } __attribute__ ((gcc_struct));
1819 void FreeAsmField(struct AsmField * field)
1821 if(field->expression)
1822 FreeExpression(field->expression);
1824 FreeIdentifier(field->symbolic);
1825 (__ecereNameSpace__ecere__com__eSystem_Delete(field->command), field->command = 0);
1826 ((field ? (__ecereClass_AsmField->Destructor ? __ecereClass_AsmField->Destructor((void *)field) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(field)) : 0), field = 0);
1829 void FreeDeclaration(struct Declaration * decl);
1831 void FreeStatement(struct Statement * stmt)
1837 if(stmt->__anon1.asmStmt.spec)
1838 FreeSpecifier(stmt->__anon1.asmStmt.spec);
1839 if(stmt->__anon1.asmStmt.inputFields)
1840 FreeList(stmt->__anon1.asmStmt.inputFields, FreeAsmField);
1841 if(stmt->__anon1.asmStmt.outputFields)
1842 FreeList(stmt->__anon1.asmStmt.outputFields, FreeAsmField);
1843 if(stmt->__anon1.asmStmt.clobberedFields)
1844 FreeList(stmt->__anon1.asmStmt.clobberedFields, FreeAsmField);
1845 (__ecereNameSpace__ecere__com__eSystem_Delete(stmt->__anon1.asmStmt.statements), stmt->__anon1.asmStmt.statements = 0);
1849 if(stmt->__anon1.labeled.stmt)
1850 FreeStatement(stmt->__anon1.labeled.stmt);
1853 if(stmt->__anon1.caseStmt.exp)
1854 FreeExpression(stmt->__anon1.caseStmt.exp);
1855 if(stmt->__anon1.caseStmt.stmt)
1856 FreeStatement(stmt->__anon1.caseStmt.stmt);
1859 if(stmt->__anon1.decl)
1860 FreeDeclaration(stmt->__anon1.decl);
1864 if(stmt->__anon1.compound.declarations)
1865 FreeList(stmt->__anon1.compound.declarations, FreeDeclaration);
1866 if(stmt->__anon1.compound.statements)
1867 FreeList(stmt->__anon1.compound.statements, FreeStatement);
1868 if(stmt->__anon1.compound.context)
1870 FreeContext(stmt->__anon1.compound.context);
1871 ((stmt->__anon1.compound.context ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)stmt->__anon1.compound.context) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(stmt->__anon1.compound.context)) : 0), stmt->__anon1.compound.context = 0);
1877 if(stmt->__anon1.expressions)
1878 FreeList(stmt->__anon1.expressions, FreeExpression);
1883 if(stmt->__anon1.ifStmt.exp)
1884 FreeList(stmt->__anon1.ifStmt.exp, FreeExpression);
1885 if(stmt->__anon1.ifStmt.stmt)
1886 FreeStatement(stmt->__anon1.ifStmt.stmt);
1887 if(stmt->__anon1.ifStmt.elseStmt)
1888 FreeStatement(stmt->__anon1.ifStmt.elseStmt);
1893 if(stmt->__anon1.switchStmt.exp)
1894 FreeList(stmt->__anon1.switchStmt.exp, FreeExpression);
1895 if(stmt->__anon1.switchStmt.stmt)
1896 FreeStatement(stmt->__anon1.switchStmt.stmt);
1901 if(stmt->__anon1.whileStmt.exp)
1902 FreeList(stmt->__anon1.whileStmt.exp, FreeExpression);
1903 if(stmt->__anon1.whileStmt.stmt)
1904 FreeStatement(stmt->__anon1.whileStmt.stmt);
1909 if(stmt->__anon1.doWhile.stmt)
1910 FreeStatement(stmt->__anon1.doWhile.stmt);
1911 if(stmt->__anon1.doWhile.exp)
1912 FreeList(stmt->__anon1.doWhile.exp, FreeExpression);
1917 if(stmt->__anon1.forStmt.init)
1918 FreeStatement(stmt->__anon1.forStmt.init);
1919 if(stmt->__anon1.forStmt.check)
1920 FreeStatement(stmt->__anon1.forStmt.check);
1921 if(stmt->__anon1.forStmt.increment)
1922 FreeList(stmt->__anon1.forStmt.increment, FreeExpression);
1923 if(stmt->__anon1.forStmt.stmt)
1924 FreeStatement(stmt->__anon1.forStmt.stmt);
1929 if(stmt->__anon1.forEachStmt.id)
1930 FreeIdentifier(stmt->__anon1.forEachStmt.id);
1931 if(stmt->__anon1.forEachStmt.exp)
1932 FreeList(stmt->__anon1.forEachStmt.exp, FreeExpression);
1933 if(stmt->__anon1.forEachStmt.filter)
1934 FreeList(stmt->__anon1.forEachStmt.filter, FreeExpression);
1935 if(stmt->__anon1.forEachStmt.stmt)
1936 FreeStatement(stmt->__anon1.forEachStmt.stmt);
1946 if(stmt->__anon1.expressions)
1947 FreeList(stmt->__anon1.expressions, FreeExpression);
1953 if(stmt->__anon1._watch.watcher)
1954 FreeExpression(stmt->__anon1._watch.watcher);
1955 if(stmt->__anon1._watch.object)
1956 FreeExpression(stmt->__anon1._watch.object);
1957 if(stmt->__anon1._watch.watches)
1958 FreeList(stmt->__anon1._watch.watches, (stmt->type == 17) ? FreePropertyWatch : FreeIdentifier);
1962 ((stmt ? (__ecereClass_Statement->Destructor ? __ecereClass_Statement->Destructor((void *)stmt) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(stmt)) : 0), stmt = 0);
1965 void FreeInitializer(struct Initializer * initializer)
1967 switch(initializer->type)
1971 FreeList(initializer->__anon1.list, FreeInitializer);
1975 if(initializer->__anon1.exp)
1976 FreeExpression(initializer->__anon1.exp);
1978 FreeIdentifier(initializer->id);
1981 ((initializer ? (__ecereClass_Initializer->Destructor ? __ecereClass_Initializer->Destructor((void *)initializer) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(initializer)) : 0), initializer = 0);
1984 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_InitDeclarator;
1986 struct InitDeclarator
1988 struct InitDeclarator * prev;
1989 struct InitDeclarator * next;
1990 struct Location loc;
1991 struct Declarator * declarator;
1992 struct Initializer * initializer;
1993 } __attribute__ ((gcc_struct));
1995 void FreeInitDeclarator(struct InitDeclarator * decl)
1997 if(decl->declarator)
1998 FreeDeclarator(decl->declarator);
1999 if(decl->initializer)
2000 FreeInitializer(decl->initializer);
2001 ((decl ? (__ecereClass_InitDeclarator->Destructor ? __ecereClass_InitDeclarator->Destructor((void *)decl) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(decl)) : 0), decl = 0);
2004 void FreeDeclaration(struct Declaration * decl)
2006 if(decl->symbol && !decl->symbol->type)
2013 if(decl->__anon1.__anon1.specifiers)
2014 FreeList(decl->__anon1.__anon1.specifiers, FreeSpecifier);
2015 if(decl->__anon1.__anon1.declarators)
2016 FreeList(decl->__anon1.__anon1.declarators, FreeDeclarator);
2017 if(decl->extStorage)
2018 FreeSpecifier(decl->extStorage);
2023 if(decl->__anon1.__anon1.specifiers)
2024 FreeList(decl->__anon1.__anon1.specifiers, FreeSpecifier);
2025 if(decl->__anon1.__anon1.declarators)
2026 FreeList(decl->__anon1.__anon1.declarators, FreeInitDeclarator);
2030 if(decl->__anon1.inst)
2031 FreeInstance(decl->__anon1.inst);
2035 if(decl->__anon1.__anon2.exp)
2036 FreeExpression(decl->__anon1.__anon2.exp);
2037 if(decl->__anon1.__anon2.id)
2038 FreeIdentifier(decl->__anon1.__anon2.id);
2042 ((decl ? (__ecereClass_Declaration->Destructor ? __ecereClass_Declaration->Destructor((void *)decl) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(decl)) : 0), decl = 0);
2045 void FreeFunction(struct FunctionDefinition * func)
2048 FreeStatement(func->body);
2049 if(func->declarator)
2050 FreeDeclarator(func->declarator);
2051 if(func->specifiers)
2052 FreeList(func->specifiers, FreeSpecifier);
2053 if(func->declarations)
2054 FreeList(func->declarations, FreeDeclaration);
2056 FreeType(func->type);
2057 ((func ? (__ecereClass_FunctionDefinition->Destructor ? __ecereClass_FunctionDefinition->Destructor((void *)func) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(func)) : 0), func = 0);
2060 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_MemberInit;
2064 struct MemberInit * prev;
2065 struct MemberInit * next;
2066 struct Location loc;
2067 struct Location realLoc;
2068 struct __ecereNameSpace__ecere__sys__OldList * identifiers;
2069 struct Initializer * initializer;
2071 unsigned int variable;
2072 unsigned int takeOutExp;
2073 } __attribute__ ((gcc_struct));
2075 void FreeMemberInit(struct MemberInit * init)
2077 if(init->initializer)
2078 FreeInitializer(init->initializer);
2079 if(init->identifiers)
2080 FreeList(init->identifiers, FreeIdentifier);
2081 ((init ? (__ecereClass_MemberInit->Destructor ? __ecereClass_MemberInit->Destructor((void *)init) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(init)) : 0), init = 0);
2084 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_MembersInit;
2088 struct MembersInit * prev;
2089 struct MembersInit * next;
2090 struct Location loc;
2094 struct __ecereNameSpace__ecere__sys__OldList * dataMembers;
2095 struct ClassFunction * function;
2096 } __attribute__ ((gcc_struct)) __anon1;
2097 } __attribute__ ((gcc_struct));
2099 void FreeClassFunction(struct ClassFunction * func);
2101 void FreeMembersInit(struct MembersInit * init)
2103 if(init->type == 0 && init->__anon1.dataMembers)
2104 FreeList(init->__anon1.dataMembers, FreeMemberInit);
2105 if(init->type == 1 && init->__anon1.function)
2107 FreeClassFunction(init->__anon1.function);
2109 ((init ? (__ecereClass_MembersInit->Destructor ? __ecereClass_MembersInit->Destructor((void *)init) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(init)) : 0), init = 0);
2112 extern struct Symbol * FindClass(const char * name);
2114 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
2116 void FreeInstance(struct Instantiation * inst)
2120 FreeList(inst->members, FreeMembersInit);
2123 FreeExpression(inst->exp);
2126 struct Symbol * classSym = FindClass(inst->_class->__anon1.__anon1.name);
2127 struct __ecereNameSpace__ecere__com__Class * _class = classSym ? classSym->__anon1.registered : (((void *)0));
2131 if(_class->type == 0)
2133 struct __ecereNameSpace__ecere__com__Instance * instance = (struct __ecereNameSpace__ecere__com__Instance *)inst->data;
2135 (__ecereNameSpace__ecere__com__eInstance_DecRef(instance), instance = 0);
2137 else if(_class->type == 5)
2139 if(_class->Destructor)
2140 _class->Destructor((struct __ecereNameSpace__ecere__com__Instance *)inst->data);
2141 (__ecereNameSpace__ecere__com__eSystem_Delete(inst->data), inst->data = 0);
2143 else if(_class->type == 1)
2145 (__ecereNameSpace__ecere__com__eSystem_Delete(inst->data), inst->data = 0);
2150 struct __ecereNameSpace__ecere__com__Instance * instance = (struct __ecereNameSpace__ecere__com__Instance *)inst->data;
2152 (__ecereNameSpace__ecere__com__eInstance_DecRef(instance), instance = 0);
2156 FreeSpecifier(inst->_class);
2157 ((inst ? (__ecereClass_Instantiation->Destructor ? __ecereClass_Instantiation->Destructor((void *)inst) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(inst)) : 0), inst = 0);
2160 void FreeClassFunction(struct ClassFunction * func)
2162 if(func->declarator && func->declarator->symbol)
2166 FreeType(func->type);
2168 FreeStatement(func->body);
2169 if(func->declarator)
2170 FreeDeclarator(func->declarator);
2171 if(func->specifiers)
2172 FreeList(func->specifiers, FreeSpecifier);
2173 if(func->declarations)
2174 FreeList(func->declarations, FreeDeclaration);
2175 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(&func->attached, (((void *)0)));
2176 ((func ? (__ecereClass_ClassFunction->Destructor ? __ecereClass_ClassFunction->Destructor((void *)func) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(func)) : 0), func = 0);
2179 void FreeProperty(struct PropertyDef * def)
2182 FreeList(def->specifiers, FreeSpecifier);
2184 FreeDeclarator(def->declarator);
2186 FreeIdentifier(def->id);
2188 FreeStatement(def->getStmt);
2190 FreeStatement(def->setStmt);
2192 FreeStatement(def->issetStmt);
2194 FreeExpression(def->category);
2198 ((def ? (__ecereClass_PropertyDef->Destructor ? __ecereClass_PropertyDef->Destructor((void *)def) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(def)) : 0), def = 0);
2201 void FreeClassDef(struct ClassDef * def)
2206 if(def->__anon1.decl)
2207 FreeDeclaration(def->__anon1.decl);
2211 FreeList(def->__anon1.defProperties, FreeMemberInit);
2215 if(def->__anon1.function)
2216 FreeClassFunction(def->__anon1.function);
2219 if(def->__anon1.propertyDef)
2220 FreeProperty(def->__anon1.propertyDef);
2223 if(def->__anon1.propertyDef)
2224 FreeProperty(def->__anon1.propertyDef);
2230 if(def->__anon1.decl)
2231 FreeDeclaration(def->__anon1.decl);
2236 (__ecereNameSpace__ecere__com__eSystem_Delete(def->__anon1.designer), def->__anon1.designer = 0);
2244 if(def->__anon1.__anon1.id)
2245 FreeIdentifier(def->__anon1.__anon1.id);
2246 if(def->__anon1.__anon1.initializer)
2247 FreeInitializer(def->__anon1.__anon1.initializer);
2251 if(def->__anon1.defaultProperty)
2252 FreeIdentifier(def->__anon1.defaultProperty);
2259 if(def->__anon1.propertyWatch)
2260 FreePropertyWatch(def->__anon1.propertyWatch);
2264 ((def ? (__ecereClass_ClassDef->Destructor ? __ecereClass_ClassDef->Destructor((void *)def) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(def)) : 0), def = 0);
2267 void FreeClass(struct ClassDefinition * _class)
2269 if(_class->definitions)
2270 FreeList(_class->definitions, FreeClassDef);
2272 FreeSpecifier(_class->_class);
2273 if(_class->baseSpecs)
2274 FreeList(_class->baseSpecs, FreeSpecifier);
2275 ((_class ? (__ecereClass_ClassDefinition->Destructor ? __ecereClass_ClassDefinition->Destructor((void *)_class) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(_class)) : 0), _class = 0);
2278 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBIndexItem;
2282 struct DBIndexItem * prev;
2283 struct DBIndexItem * next;
2284 struct Identifier * id;
2286 } __attribute__ ((gcc_struct));
2288 void FreeDBIndexItem(struct DBIndexItem * item)
2291 FreeIdentifier(item->id);
2292 ((item ? (__ecereClass_DBIndexItem->Destructor ? __ecereClass_DBIndexItem->Destructor((void *)item) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(item)) : 0), item = 0);
2295 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBTableEntry;
2299 struct DBTableEntry * prev;
2300 struct DBTableEntry * next;
2302 struct Identifier * id;
2307 struct TypeName * dataType;
2309 } __attribute__ ((gcc_struct)) __anon1;
2310 struct __ecereNameSpace__ecere__sys__OldList * items;
2311 } __attribute__ ((gcc_struct)) __anon1;
2312 } __attribute__ ((gcc_struct));
2314 void FreeDBTableEntry(struct DBTableEntry * entry)
2317 FreeIdentifier(entry->id);
2321 if(entry->__anon1.__anon1.dataType)
2322 FreeTypeName(entry->__anon1.__anon1.dataType);
2323 if(entry->__anon1.__anon1.name)
2324 (__ecereNameSpace__ecere__com__eSystem_Delete(entry->__anon1.__anon1.name), entry->__anon1.__anon1.name = 0);
2327 if(entry->__anon1.items)
2328 FreeList(entry->__anon1.items, FreeDBIndexItem);
2331 ((entry ? (__ecereClass_DBTableEntry->Destructor ? __ecereClass_DBTableEntry->Destructor((void *)entry) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(entry)) : 0), entry = 0);
2334 void FreeDBTable(struct DBTableDef * table)
2336 if(table->definitions)
2337 FreeList(table->definitions, FreeDBTableEntry);
2339 (__ecereNameSpace__ecere__com__eSystem_Delete(table->name), table->name = 0);
2340 ((table ? (__ecereClass_DBTableDef->Destructor ? __ecereClass_DBTableDef->Destructor((void *)table) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(table)) : 0), table = 0);
2343 void FreeExternal(struct External * external)
2345 switch(external->type)
2348 if(external->__anon1.function)
2349 FreeFunction(external->__anon1.function);
2352 if(external->__anon1.declaration)
2353 FreeDeclaration(external->__anon1.declaration);
2356 if(external->__anon1._class)
2357 FreeClass(external->__anon1._class);
2360 (__ecereNameSpace__ecere__com__eSystem_Delete(external->__anon1.importString), external->__anon1.importString = 0);
2363 FreeIdentifier(external->__anon1.id);
2366 if(external->__anon1.table)
2367 FreeDBTable(external->__anon1.table);
2370 ((external ? (__ecereClass_External->Destructor ? __ecereClass_External->Destructor((void *)external) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(external)) : 0), external = 0);
2373 void FreeASTTree(struct __ecereNameSpace__ecere__sys__OldList * ast)
2375 if(ast != (((void *)0)))
2377 struct External * external;
2379 while((external = ast->first))
2381 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(ast, external);
2382 FreeExternal(external);
2384 (__ecereNameSpace__ecere__com__eSystem_Delete(ast), ast = 0);
2388 static void FreeDataMember(struct __ecereNameSpace__ecere__com__DataMember * parentMember)
2390 struct __ecereNameSpace__ecere__com__DataMember * dataMember;
2392 for(dataMember = parentMember->members.first; dataMember; dataMember = dataMember->next)
2394 if(dataMember->type == 2 || dataMember->type == 1)
2395 FreeDataMember(dataMember);
2396 if(dataMember->dataType)
2398 FreeType(dataMember->dataType);
2399 dataMember->dataType = (((void *)0));
2404 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassProperty;
2406 struct __ecereNameSpace__ecere__com__ClassProperty
2409 struct __ecereNameSpace__ecere__com__ClassProperty * parent;
2410 struct __ecereNameSpace__ecere__com__ClassProperty * left;
2411 struct __ecereNameSpace__ecere__com__ClassProperty * right;
2413 void (* Set)(struct __ecereNameSpace__ecere__com__Class *, long long);
2414 long long (* Get)(struct __ecereNameSpace__ecere__com__Class *);
2415 const char * dataTypeString;
2416 struct Type * dataType;
2417 unsigned int constant;
2418 } __attribute__ ((gcc_struct));
2420 static void FreeClassProperties(struct __ecereNameSpace__ecere__com__ClassProperty * classProp)
2423 FreeClassProperties(classProp->left);
2424 if(classProp->right)
2425 FreeClassProperties(classProp->right);
2426 if(classProp->dataType)
2428 FreeType(classProp->dataType);
2429 classProp->dataType = (((void *)0));
2433 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
2435 struct __ecereNameSpace__ecere__com__NameSpace
2438 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
2439 struct __ecereNameSpace__ecere__com__NameSpace * left;
2440 struct __ecereNameSpace__ecere__com__NameSpace * right;
2442 struct __ecereNameSpace__ecere__com__NameSpace * parent;
2443 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
2444 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
2445 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
2446 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
2447 } __attribute__ ((gcc_struct));
2449 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
2451 struct __ecereNameSpace__ecere__com__Module
2453 struct __ecereNameSpace__ecere__com__Instance * application;
2454 struct __ecereNameSpace__ecere__sys__OldList classes;
2455 struct __ecereNameSpace__ecere__sys__OldList defines;
2456 struct __ecereNameSpace__ecere__sys__OldList functions;
2457 struct __ecereNameSpace__ecere__sys__OldList modules;
2458 struct __ecereNameSpace__ecere__com__Instance * prev;
2459 struct __ecereNameSpace__ecere__com__Instance * next;
2465 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
2466 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
2467 } __attribute__ ((gcc_struct));
2469 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
2471 struct __ecereNameSpace__ecere__com__ClassTemplateParameter
2473 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * prev;
2474 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * next;
2479 const char * dataTypeString;
2481 } __attribute__ ((gcc_struct)) __anon1;
2482 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg;
2484 } __attribute__ ((gcc_struct));
2486 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
2488 struct __ecereNameSpace__ecere__com__GlobalFunction
2490 struct __ecereNameSpace__ecere__com__GlobalFunction * prev;
2491 struct __ecereNameSpace__ecere__com__GlobalFunction * next;
2494 struct __ecereNameSpace__ecere__com__Instance * module;
2495 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
2496 const char * dataTypeString;
2497 struct Type * dataType;
2499 } __attribute__ ((gcc_struct));
2501 extern unsigned int inCompiler;
2503 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
2505 struct __ecereNameSpace__ecere__com__IteratorPointer;
2507 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__MapIterator;
2509 struct __ecereNameSpace__ecere__com__MapIterator
2511 struct __ecereNameSpace__ecere__com__Instance * container;
2512 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
2513 } __attribute__ ((gcc_struct));
2515 extern struct __ecereNameSpace__ecere__com__Instance * loadedModules;
2517 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Iterator;
2519 struct __ecereNameSpace__ecere__com__Iterator
2521 struct __ecereNameSpace__ecere__com__Instance * container;
2522 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
2523 } __attribute__ ((gcc_struct));
2525 extern void __ecereNameSpace__ecere__com__eModule_Unload(struct __ecereNameSpace__ecere__com__Instance * fromModule, struct __ecereNameSpace__ecere__com__Instance * module);
2527 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
2529 struct __ecereNameSpace__ecere__sys__BTNode * __ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first(struct __ecereNameSpace__ecere__sys__BinaryTree * this);
2531 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__sys__BinaryTree_first;
2533 struct __ecereNameSpace__ecere__sys__BTNode * __ecereProp___ecereNameSpace__ecere__sys__BTNode_Get_next(struct __ecereNameSpace__ecere__sys__BTNode * this);
2535 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__sys__BTNode_next;
2537 struct __ecereNameSpace__ecere__com__Instance * __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_map(struct __ecereNameSpace__ecere__com__MapIterator * this);
2539 void __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(struct __ecereNameSpace__ecere__com__MapIterator * this, struct __ecereNameSpace__ecere__com__Instance * value);
2541 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__MapIterator_map;
2543 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next();
2545 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this);
2547 void __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value);
2549 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__Iterator_data;
2551 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove;
2553 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__List;
2555 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__LinkList;
2557 struct __ecereNameSpace__ecere__com__LinkList
2562 } __attribute__ ((gcc_struct));
2564 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create);
2566 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst;
2568 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map;
2570 void FreeModuleData(struct __ecereNameSpace__ecere__com__Instance * module)
2572 struct __ecereNameSpace__ecere__com__Class * _class;
2573 struct __ecereNameSpace__ecere__com__GlobalFunction * function;
2575 for(_class = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->classes.first; _class; _class = _class->next)
2577 struct __ecereNameSpace__ecere__com__DataMember * dataMember;
2578 struct __ecereNameSpace__ecere__com__Method * method;
2579 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * param;
2581 if(_class->dataType)
2583 FreeType(_class->dataType);
2584 _class->dataType = (((void *)0));
2586 for(dataMember = _class->membersAndProperties.first; dataMember; dataMember = dataMember->next)
2588 if(dataMember->isProperty)
2590 struct __ecereNameSpace__ecere__com__Property * prop = (struct __ecereNameSpace__ecere__com__Property *)dataMember;
2594 FreeSymbol(prop->symbol);
2599 if(dataMember->type == 2 || dataMember->type == 1)
2600 FreeDataMember(dataMember);
2602 if(dataMember->dataType)
2604 FreeType(dataMember->dataType);
2605 dataMember->dataType = (((void *)0));
2608 for(dataMember = _class->conversions.first; dataMember; dataMember = dataMember->next)
2610 struct __ecereNameSpace__ecere__com__Property * prop = (struct __ecereNameSpace__ecere__com__Property *)dataMember;
2614 FreeSymbol(prop->symbol);
2618 FreeType(prop->dataType);
2619 prop->dataType = (((void *)0));
2622 if(__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first(&_class->classProperties))
2623 FreeClassProperties((struct __ecereNameSpace__ecere__com__ClassProperty *)__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first(&_class->classProperties));
2624 for(method = (struct __ecereNameSpace__ecere__com__Method *)__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first(&_class->methods); method; method = (struct __ecereNameSpace__ecere__com__Method *)__ecereProp___ecereNameSpace__ecere__sys__BTNode_Get_next(((struct __ecereNameSpace__ecere__sys__BTNode *)method)))
2626 if(method->dataType)
2628 FreeType(method->dataType);
2629 method->dataType = (((void *)0));
2633 FreeSymbol(method->symbol);
2636 for(param = _class->templateParams.first; param; param = param->next)
2640 FreeTemplateParameter(param->param);
2641 param->param = (((void *)0));
2645 for(function = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->functions.first; function; function = function->next)
2647 if(function->dataType)
2648 FreeType(function->dataType);
2649 if(function->symbol)
2650 FreeSymbol(function->symbol);
2654 struct __ecereNameSpace__ecere__com__MapIterator mapIt = (mapIt.container = (void *)0, mapIt.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&mapIt, loadedModules), mapIt);
2656 while(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(&mapIt))
2658 struct __ecereNameSpace__ecere__com__Instance * list = ((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&mapIt));
2659 struct __ecereNameSpace__ecere__com__Iterator it =
2663 unsigned int found = 0x0;
2665 while(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(&it))
2667 if(((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&it)) == (uint64)(module))
2669 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
2670 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = list;
2672 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__List->_vTbl;
2673 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(list, it.pointer);
2680 if(((struct __ecereNameSpace__ecere__com__LinkList *)(((char *)list + structSize_Instance)))->count == 1)
2682 struct __ecereNameSpace__ecere__com__Instance * mod = (__extension__ ({
2683 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
2688 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(0))), 0x0);
2689 ((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&__internalIterator));
2692 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
2693 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = list;
2695 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__List->_vTbl;
2696 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(list, ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
2697 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = list;
2699 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__List->_vTbl;
2700 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst])(list));
2701 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
2702 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = loadedModules;
2704 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Map->_vTbl;
2705 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(loadedModules, mapIt.pointer);
2706 (__ecereNameSpace__ecere__com__eInstance_DecRef(list), list = 0);
2707 __ecereNameSpace__ecere__com__eModule_Unload(((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application, mod);
2715 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Application;
2717 struct __ecereNameSpace__ecere__com__Application
2720 const char * * argv;
2722 unsigned int isGUIApp;
2723 struct __ecereNameSpace__ecere__sys__OldList allModules;
2724 char * parsedCommand;
2725 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
2726 } __attribute__ ((gcc_struct));
2728 void FreeTypeData(struct __ecereNameSpace__ecere__com__Instance * privateModule)
2730 struct __ecereNameSpace__ecere__com__Instance * m;
2732 for(m = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)((struct __ecereNameSpace__ecere__com__Module *)(((char *)privateModule + structSize_Instance)))->application + structSize_Module)))->allModules.first; m; m = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)m + structSize_Instance)))->next)
2736 FreeModuleData(privateModule);
2739 extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char * name, const char * type, void * func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
2741 void __ecereRegisterModule_freeAst(struct __ecereNameSpace__ecere__com__Instance * module)
2743 struct __ecereNameSpace__ecere__com__Class * class;
2745 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeList", "void FreeList(ecere::sys::OldList list, void (* FreeFunction)(void *))", FreeList, module, 2);
2746 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeType", "void FreeType(Type type)", FreeType, module, 1);
2747 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeSymbol", "void FreeSymbol(Symbol symbol)", FreeSymbol, module, 2);
2748 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeMethodImport", "void FreeMethodImport(MethodImport imp)", FreeMethodImport, module, 2);
2749 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreePropertyImport", "void FreePropertyImport(MethodImport imp)", FreePropertyImport, module, 2);
2750 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeClassImport", "void FreeClassImport(ClassImport imp)", FreeClassImport, module, 2);
2751 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeFunctionImport", "void FreeFunctionImport(ClassImport imp)", FreeFunctionImport, module, 2);
2752 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeModuleImport", "void FreeModuleImport(ModuleImport imp)", FreeModuleImport, module, 1);
2753 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeModuleDefine", "void FreeModuleDefine(Definition def)", FreeModuleDefine, module, 1);
2754 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeExcludedSymbols", "void FreeExcludedSymbols(ecere::sys::OldList excludedSymbols)", FreeExcludedSymbols, module, 1);
2755 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeTemplateArgument", "void FreeTemplateArgument(TemplateArgument arg)", FreeTemplateArgument, module, 1);
2756 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeTemplateDataType", "void FreeTemplateDataType(TemplateDatatype type)", FreeTemplateDataType, module, 1);
2757 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeTemplateParameter", "void FreeTemplateParameter(TemplateParameter param)", FreeTemplateParameter, module, 1);
2758 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeTemplateType", "void FreeTemplateType(TemplatedType type)", FreeTemplateType, module, 1);
2759 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeContext", "void FreeContext(Context context)", FreeContext, module, 1);
2760 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeEnumerator", "void FreeEnumerator(Enumerator enumerator)", FreeEnumerator, module, 2);
2761 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeSpecifier", "void FreeSpecifier(Specifier spec)", FreeSpecifier, module, 2);
2762 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeSpecifierContents", "void FreeSpecifierContents(Specifier spec)", FreeSpecifierContents, module, 2);
2763 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeIdentifier", "void FreeIdentifier(Identifier id)", FreeIdentifier, module, 1);
2764 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeTypeName", "void FreeTypeName(TypeName typeName)", FreeTypeName, module, 2);
2765 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeExpContents", "void FreeExpContents(Expression exp)", FreeExpContents, module, 1);
2766 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeExpression", "void FreeExpression(Expression exp)", FreeExpression, module, 1);
2767 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreePointer", "void FreePointer(Pointer pointer)", FreePointer, module, 2);
2768 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeAttrib", "void FreeAttrib(Attrib attr)", FreeAttrib, module, 2);
2769 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeAttribute", "void FreeAttribute(Attribute attr)", FreeAttribute, module, 2);
2770 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeExtDecl", "void FreeExtDecl(ExtDecl extDecl)", FreeExtDecl, module, 2);
2771 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeDeclarator", "void FreeDeclarator(Declarator decl)", FreeDeclarator, module, 2);
2772 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreePropertyWatch", "void FreePropertyWatch(PropertyWatch watcher)", FreePropertyWatch, module, 2);
2773 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeAsmField", "void FreeAsmField(AsmField field)", FreeAsmField, module, 2);
2774 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeStatement", "void FreeStatement(Statement stmt)", FreeStatement, module, 2);
2775 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeInitializer", "void FreeInitializer(Initializer initializer)", FreeInitializer, module, 2);
2776 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeInitDeclarator", "void FreeInitDeclarator(InitDeclarator decl)", FreeInitDeclarator, module, 2);
2777 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeDeclaration", "void FreeDeclaration(Declaration decl)", FreeDeclaration, module, 2);
2778 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeFunction", "void FreeFunction(FunctionDefinition func)", FreeFunction, module, 2);
2779 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeMemberInit", "void FreeMemberInit(MemberInit init)", FreeMemberInit, module, 2);
2780 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeMembersInit", "void FreeMembersInit(MembersInit init)", FreeMembersInit, module, 2);
2781 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeInstance", "void FreeInstance(Instantiation inst)", FreeInstance, module, 1);
2782 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeClassFunction", "void FreeClassFunction(ClassFunction func)", FreeClassFunction, module, 1);
2783 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeProperty", "void FreeProperty(PropertyDef def)", FreeProperty, module, 2);
2784 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeClassDef", "void FreeClassDef(ClassDef def)", FreeClassDef, module, 2);
2785 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeClass", "void FreeClass(ClassDefinition _class)", FreeClass, module, 2);
2786 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeDBIndexItem", "void FreeDBIndexItem(DBIndexItem item)", FreeDBIndexItem, module, 2);
2787 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeDBTableEntry", "void FreeDBTableEntry(DBTableEntry entry)", FreeDBTableEntry, module, 2);
2788 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeDBTable", "void FreeDBTable(DBTableDef table)", FreeDBTable, module, 2);
2789 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeExternal", "void FreeExternal(External external)", FreeExternal, module, 2);
2790 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeASTTree", "void FreeASTTree(ecere::sys::OldList ast)", FreeASTTree, module, 1);
2791 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeModuleData", "void FreeModuleData(ecere::com::Module module)", FreeModuleData, module, 2);
2792 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeTypeData", "void FreeTypeData(ecere::com::Module privateModule)", FreeTypeData, module, 1);
2795 void __ecereUnregisterModule_freeAst(struct __ecereNameSpace__ecere__com__Instance * module)