1 /* Code generated from eC source file: output.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>
33 struct __ecereNameSpace__ecere__com__Instance;
35 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
37 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
39 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
41 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
43 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
45 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
47 struct __ecereNameSpace__ecere__sys__BTNode;
49 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
51 struct __ecereNameSpace__ecere__sys__BinaryTree
53 struct __ecereNameSpace__ecere__sys__BTNode * root;
55 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
56 void (* FreeKey)(void * key);
57 } __attribute__ ((gcc_struct));
59 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
61 struct __ecereNameSpace__ecere__sys__OldList
68 } __attribute__ ((gcc_struct));
70 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
72 struct __ecereNameSpace__ecere__com__Method
75 struct __ecereNameSpace__ecere__com__Method * parent;
76 struct __ecereNameSpace__ecere__com__Method * left;
77 struct __ecereNameSpace__ecere__com__Method * right;
82 struct __ecereNameSpace__ecere__com__Class * _class;
84 const char * dataTypeString;
85 struct Type * dataType;
87 } __attribute__ ((gcc_struct));
89 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
91 struct __ecereNameSpace__ecere__com__Property
93 struct __ecereNameSpace__ecere__com__Property * prev;
94 struct __ecereNameSpace__ecere__com__Property * next;
96 unsigned int isProperty;
99 struct __ecereNameSpace__ecere__com__Class * _class;
100 const char * dataTypeString;
101 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
102 struct Type * dataType;
103 void (* Set)(void * , int);
104 int (* Get)(void * );
105 unsigned int (* IsSet)(void * );
109 unsigned int conversion;
110 unsigned int watcherOffset;
111 const char * category;
112 unsigned int compiled;
113 unsigned int selfWatchable;
114 unsigned int isWatchable;
115 } __attribute__ ((gcc_struct));
117 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_CodePosition;
125 } __attribute__ ((gcc_struct));
127 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Location;
131 struct CodePosition start;
132 struct CodePosition end;
133 } __attribute__ ((gcc_struct));
135 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Attrib;
141 struct __ecereNameSpace__ecere__sys__OldList * attribs;
142 } __attribute__ ((gcc_struct));
144 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ExtDecl;
153 struct Attrib * attr;
154 } __attribute__ ((gcc_struct)) __anon1;
155 } __attribute__ ((gcc_struct));
157 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
159 struct ClassDefinition
161 struct ClassDefinition * prev;
162 struct ClassDefinition * next;
164 struct Specifier * _class;
165 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
166 struct __ecereNameSpace__ecere__sys__OldList * definitions;
167 struct Symbol * symbol;
168 struct Location blockStart;
169 struct Location nameLoc;
172 unsigned int deleteWatchable;
173 } __attribute__ ((gcc_struct));
175 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
179 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Instantiation;
183 struct Instantiation * prev;
184 struct Instantiation * next;
186 struct Specifier * _class;
187 struct Expression * exp;
188 struct __ecereNameSpace__ecere__sys__OldList * members;
189 struct Symbol * symbol;
190 unsigned int fullSet;
191 unsigned int isConstant;
192 unsigned char * data;
193 struct Location nameLoc;
194 struct Location insideLoc;
196 } __attribute__ ((gcc_struct));
198 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declaration;
202 struct Declaration * prev;
203 struct Declaration * next;
210 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
211 struct __ecereNameSpace__ecere__sys__OldList * declarators;
212 } __attribute__ ((gcc_struct)) __anon1;
213 struct Instantiation * inst;
216 struct Identifier * id;
217 struct Expression * exp;
218 } __attribute__ ((gcc_struct)) __anon2;
219 } __attribute__ ((gcc_struct)) __anon1;
220 struct Specifier * extStorage;
221 struct Symbol * symbol;
223 } __attribute__ ((gcc_struct));
225 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Statement;
229 struct Statement * prev;
230 struct Statement * next;
235 struct __ecereNameSpace__ecere__sys__OldList * expressions;
238 struct Identifier * id;
239 struct Statement * stmt;
240 } __attribute__ ((gcc_struct)) labeled;
243 struct Expression * exp;
244 struct Statement * stmt;
245 } __attribute__ ((gcc_struct)) caseStmt;
248 struct __ecereNameSpace__ecere__sys__OldList * declarations;
249 struct __ecereNameSpace__ecere__sys__OldList * statements;
250 struct Context * context;
251 unsigned int isSwitch;
252 } __attribute__ ((gcc_struct)) compound;
255 struct __ecereNameSpace__ecere__sys__OldList * exp;
256 struct Statement * stmt;
257 struct Statement * elseStmt;
258 } __attribute__ ((gcc_struct)) ifStmt;
261 struct __ecereNameSpace__ecere__sys__OldList * exp;
262 struct Statement * stmt;
263 } __attribute__ ((gcc_struct)) switchStmt;
266 struct __ecereNameSpace__ecere__sys__OldList * exp;
267 struct Statement * stmt;
268 } __attribute__ ((gcc_struct)) whileStmt;
271 struct __ecereNameSpace__ecere__sys__OldList * exp;
272 struct Statement * stmt;
273 } __attribute__ ((gcc_struct)) doWhile;
276 struct Statement * init;
277 struct Statement * check;
278 struct __ecereNameSpace__ecere__sys__OldList * increment;
279 struct Statement * stmt;
280 } __attribute__ ((gcc_struct)) forStmt;
283 struct Identifier * id;
284 } __attribute__ ((gcc_struct)) gotoStmt;
287 struct Specifier * spec;
289 struct __ecereNameSpace__ecere__sys__OldList * inputFields;
290 struct __ecereNameSpace__ecere__sys__OldList * outputFields;
291 struct __ecereNameSpace__ecere__sys__OldList * clobberedFields;
292 } __attribute__ ((gcc_struct)) asmStmt;
295 struct Expression * watcher;
296 struct Expression * object;
297 struct __ecereNameSpace__ecere__sys__OldList * watches;
298 } __attribute__ ((gcc_struct)) _watch;
301 struct Identifier * id;
302 struct __ecereNameSpace__ecere__sys__OldList * exp;
303 struct __ecereNameSpace__ecere__sys__OldList * filter;
304 struct Statement * stmt;
305 } __attribute__ ((gcc_struct)) forEachStmt;
306 struct Declaration * decl;
307 } __attribute__ ((gcc_struct)) __anon1;
308 } __attribute__ ((gcc_struct));
310 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TypeName;
314 struct TypeName * prev;
315 struct TypeName * next;
317 struct __ecereNameSpace__ecere__sys__OldList * qualifiers;
318 struct Declarator * declarator;
320 struct Expression * bitCount;
321 } __attribute__ ((gcc_struct));
323 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Initializer;
327 struct Initializer * prev;
328 struct Initializer * next;
333 struct Expression * exp;
334 struct __ecereNameSpace__ecere__sys__OldList * list;
335 } __attribute__ ((gcc_struct)) __anon1;
336 unsigned int isConstant;
337 struct Identifier * id;
338 } __attribute__ ((gcc_struct));
340 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
342 struct __ecereNameSpace__ecere__com__DataValue
357 } __attribute__ ((gcc_struct)) __anon1;
358 } __attribute__ ((gcc_struct));
360 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Expression;
364 struct Expression * prev;
365 struct Expression * next;
373 struct Identifier * identifier;
374 } __attribute__ ((gcc_struct)) __anon1;
375 struct Statement * compound;
376 struct Instantiation * instance;
380 unsigned int intlString;
381 } __attribute__ ((gcc_struct)) __anon2;
382 struct __ecereNameSpace__ecere__sys__OldList * list;
385 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
386 struct Declarator * decl;
387 } __attribute__ ((gcc_struct)) _classExp;
390 struct Identifier * id;
391 } __attribute__ ((gcc_struct)) classData;
394 struct Expression * exp;
395 struct __ecereNameSpace__ecere__sys__OldList * arguments;
396 struct Location argLoc;
397 } __attribute__ ((gcc_struct)) call;
400 struct Expression * exp;
401 struct __ecereNameSpace__ecere__sys__OldList * index;
402 } __attribute__ ((gcc_struct)) index;
405 struct Expression * exp;
406 struct Identifier * member;
408 unsigned int thisPtr;
409 } __attribute__ ((gcc_struct)) member;
413 struct Expression * exp1;
414 struct Expression * exp2;
415 } __attribute__ ((gcc_struct)) op;
416 struct TypeName * typeName;
417 struct Specifier * _class;
420 struct TypeName * typeName;
421 struct Expression * exp;
422 } __attribute__ ((gcc_struct)) cast;
425 struct Expression * cond;
426 struct __ecereNameSpace__ecere__sys__OldList * exp;
427 struct Expression * elseExp;
428 } __attribute__ ((gcc_struct)) cond;
431 struct TypeName * typeName;
432 struct Expression * size;
433 } __attribute__ ((gcc_struct)) _new;
436 struct TypeName * typeName;
437 struct Expression * size;
438 struct Expression * exp;
439 } __attribute__ ((gcc_struct)) _renew;
443 struct Identifier * id;
444 } __attribute__ ((gcc_struct)) db;
447 struct Expression * ds;
448 struct Expression * name;
449 } __attribute__ ((gcc_struct)) dbopen;
452 struct TypeName * typeName;
453 struct Initializer * initializer;
454 } __attribute__ ((gcc_struct)) initializer;
457 struct Expression * exp;
458 struct TypeName * typeName;
459 } __attribute__ ((gcc_struct)) vaArg;
460 } __attribute__ ((gcc_struct)) __anon1;
461 unsigned int debugValue;
462 struct __ecereNameSpace__ecere__com__DataValue val;
464 unsigned int hasAddress;
465 struct Type * expType;
466 struct Type * destType;
469 unsigned int byReference;
470 unsigned int isConstant;
471 unsigned int addedThis;
472 unsigned int needCast;
473 unsigned int thisPtr;
474 unsigned int opDestType;
475 unsigned int needTemplateCast;
476 } __attribute__ ((gcc_struct));
478 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateDatatype;
480 struct TemplateDatatype
482 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
483 struct Declarator * decl;
484 } __attribute__ ((gcc_struct));
486 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateArgument;
488 struct TemplateArgument;
490 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
492 struct TemplateParameter
494 struct TemplateParameter * prev;
495 struct TemplateParameter * next;
498 struct Identifier * identifier;
501 struct TemplateDatatype * dataType;
503 } __attribute__ ((gcc_struct)) __anon1;
504 struct TemplateArgument * defaultArgument;
505 const char * dataTypeString;
506 struct Type * baseType;
507 } __attribute__ ((gcc_struct));
509 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Specifier;
513 struct Specifier * prev;
514 struct Specifier * next;
522 struct ExtDecl * extDecl;
524 struct Symbol * symbol;
525 struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
526 } __attribute__ ((gcc_struct)) __anon1;
529 struct Identifier * id;
530 struct __ecereNameSpace__ecere__sys__OldList * list;
531 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
532 struct __ecereNameSpace__ecere__sys__OldList * definitions;
533 unsigned int addNameSpace;
534 struct Context * ctx;
535 struct ExtDecl * extDeclStruct;
536 } __attribute__ ((gcc_struct)) __anon2;
537 struct Expression * expression;
538 struct Specifier * _class;
539 struct TemplateParameter * templateParameter;
540 } __attribute__ ((gcc_struct)) __anon1;
541 } __attribute__ ((gcc_struct));
543 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Identifier;
547 struct Identifier * prev;
548 struct Identifier * next;
550 struct Symbol * classSym;
551 struct Specifier * _class;
553 struct Identifier * badID;
554 } __attribute__ ((gcc_struct));
556 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Pointer;
560 struct Pointer * prev;
561 struct Pointer * next;
563 struct __ecereNameSpace__ecere__sys__OldList * qualifiers;
564 struct Pointer * pointer;
565 } __attribute__ ((gcc_struct));
567 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declarator;
571 struct Declarator * prev;
572 struct Declarator * next;
575 struct Symbol * symbol;
576 struct Declarator * declarator;
579 struct Identifier * identifier;
582 struct Expression * exp;
583 struct Expression * posExp;
584 struct Attrib * attrib;
585 } __attribute__ ((gcc_struct)) structDecl;
588 struct Expression * exp;
589 struct Specifier * enumClass;
590 } __attribute__ ((gcc_struct)) array;
593 struct __ecereNameSpace__ecere__sys__OldList * parameters;
594 } __attribute__ ((gcc_struct)) function;
597 struct Pointer * pointer;
598 } __attribute__ ((gcc_struct)) pointer;
601 struct ExtDecl * extended;
602 } __attribute__ ((gcc_struct)) extended;
603 } __attribute__ ((gcc_struct)) __anon1;
604 } __attribute__ ((gcc_struct));
606 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_FunctionDefinition;
608 struct FunctionDefinition
610 struct FunctionDefinition * prev;
611 struct FunctionDefinition * next;
613 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
614 struct Declarator * declarator;
615 struct __ecereNameSpace__ecere__sys__OldList * declarations;
616 struct Statement * body;
617 struct __ecereNameSpace__ecere__com__Class * _class;
618 struct __ecereNameSpace__ecere__sys__OldList attached;
621 struct Symbol * propSet;
623 unsigned int propertyNoThis;
624 } __attribute__ ((gcc_struct));
626 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBTableDef;
630 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_External;
634 struct External * prev;
635 struct External * next;
638 struct Symbol * symbol;
641 struct FunctionDefinition * function;
642 struct ClassDefinition * _class;
643 struct Declaration * declaration;
645 struct Identifier * id;
646 struct DBTableDef * table;
647 } __attribute__ ((gcc_struct)) __anon1;
649 } __attribute__ ((gcc_struct));
651 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ModuleImport;
655 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassImport;
659 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Symbol;
664 struct Symbol * parent;
665 struct Symbol * left;
666 struct Symbol * right;
671 struct __ecereNameSpace__ecere__com__Method * method;
672 struct __ecereNameSpace__ecere__com__Property * _property;
673 struct __ecereNameSpace__ecere__com__Class * registered;
674 } __attribute__ ((gcc_struct)) __anon1;
681 struct External * pointerExternal;
682 struct External * structExternal;
683 } __attribute__ ((gcc_struct)) __anon1;
686 struct External * externalGet;
687 struct External * externalSet;
688 struct External * externalPtr;
689 struct External * externalIsSet;
690 } __attribute__ ((gcc_struct)) __anon2;
693 struct External * methodExternal;
694 struct External * methodCodeExternal;
695 } __attribute__ ((gcc_struct)) __anon3;
696 } __attribute__ ((gcc_struct)) __anon2;
697 unsigned int imported;
698 unsigned int declaredStructSym;
699 struct __ecereNameSpace__ecere__com__Class * _class;
700 unsigned int declaredStruct;
701 unsigned int needConstructor;
702 unsigned int needDestructor;
703 char * constructorName;
706 char * destructorName;
707 struct ModuleImport * module;
708 struct ClassImport * _import;
709 struct Location nameLoc;
710 unsigned int isParam;
711 unsigned int isRemote;
712 unsigned int isStruct;
713 unsigned int fireWatchersDone;
715 unsigned int classData;
716 unsigned int isStatic;
718 struct __ecereNameSpace__ecere__sys__OldList * templateParams;
719 struct __ecereNameSpace__ecere__sys__OldList templatedClasses;
720 struct Context * ctx;
722 struct Expression * propCategory;
723 } __attribute__ ((gcc_struct));
725 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Type;
734 struct Symbol * _class;
737 struct __ecereNameSpace__ecere__sys__OldList members;
739 } __attribute__ ((gcc_struct)) __anon1;
742 struct Type * returnType;
743 struct __ecereNameSpace__ecere__sys__OldList params;
744 struct Symbol * thisClass;
745 unsigned int staticMethod;
746 struct TemplateParameter * thisClassTemplate;
747 } __attribute__ ((gcc_struct)) __anon2;
750 struct __ecereNameSpace__ecere__com__Method * method;
751 struct __ecereNameSpace__ecere__com__Class * methodClass;
752 struct __ecereNameSpace__ecere__com__Class * usedClass;
753 } __attribute__ ((gcc_struct)) __anon3;
756 struct Type * arrayType;
758 struct Expression * arraySizeExp;
759 unsigned int freeExp;
760 struct Symbol * enumClass;
761 } __attribute__ ((gcc_struct)) __anon4;
763 struct TemplateParameter * templateParameter;
764 } __attribute__ ((gcc_struct)) __anon1;
774 unsigned int isSigned : 1;
775 unsigned int constant : 1;
776 unsigned int truth : 1;
777 unsigned int byReference : 1;
778 unsigned int extraParam : 1;
779 unsigned int directClassAccess : 1;
780 unsigned int computing : 1;
781 unsigned int keepCast : 1;
782 unsigned int passAsTemplate : 1;
783 unsigned int dllExport : 1;
784 unsigned int attrStdcall : 1;
785 unsigned int declaredWithStruct : 1;
786 unsigned int typedByReference : 1;
787 unsigned int casted : 1;
788 } __attribute__ ((gcc_struct));
790 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
792 struct __ecereNameSpace__ecere__com__Class
794 struct __ecereNameSpace__ecere__com__Class * prev;
795 struct __ecereNameSpace__ecere__com__Class * next;
801 int (* Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
802 void (* Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
805 struct __ecereNameSpace__ecere__com__Class * base;
806 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
807 struct __ecereNameSpace__ecere__sys__BinaryTree members;
808 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
809 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
810 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
811 struct __ecereNameSpace__ecere__sys__OldList derivatives;
815 struct __ecereNameSpace__ecere__com__Instance * module;
816 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
817 const char * dataTypeString;
818 struct Type * dataType;
820 int defaultAlignment;
821 void (* Initialize)();
823 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
824 const char * designerClass;
825 unsigned int noExpansion;
826 const char * defaultProperty;
827 unsigned int comRedefinition;
830 unsigned int internalDecl;
832 unsigned int computeSize;
834 int destructionWatchOffset;
836 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
837 int inheritanceAccess;
838 const char * fullName;
840 struct __ecereNameSpace__ecere__sys__OldList conversions;
841 struct __ecereNameSpace__ecere__sys__OldList templateParams;
842 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
843 struct __ecereNameSpace__ecere__com__Class * templateClass;
844 struct __ecereNameSpace__ecere__sys__OldList templatized;
846 unsigned int isInstanceClass;
847 unsigned int byValueSystemClass;
848 } __attribute__ ((gcc_struct));
850 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name);
852 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value);
854 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
856 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function);
858 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
860 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);
862 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * ));
864 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
866 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
868 struct __ecereNameSpace__ecere__com__Instance
871 struct __ecereNameSpace__ecere__com__Class * _class;
873 } __attribute__ ((gcc_struct));
875 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
877 struct __ecereNameSpace__ecere__com__DataMember
879 struct __ecereNameSpace__ecere__com__DataMember * prev;
880 struct __ecereNameSpace__ecere__com__DataMember * next;
882 unsigned int isProperty;
885 struct __ecereNameSpace__ecere__com__Class * _class;
886 const char * dataTypeString;
887 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
888 struct Type * dataType;
892 struct __ecereNameSpace__ecere__sys__OldList members;
893 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
896 } __attribute__ ((gcc_struct));
898 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
900 struct __ecereNameSpace__ecere__com__SerialBuffer
902 unsigned char * _buffer;
906 } __attribute__ ((gcc_struct));
908 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
910 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
916 const char * dataTypeString;
917 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
918 } __attribute__ ((gcc_struct)) __anon1;
919 struct __ecereNameSpace__ecere__com__DataValue expression;
922 const char * memberString;
925 struct __ecereNameSpace__ecere__com__DataMember * member;
926 struct __ecereNameSpace__ecere__com__Property * prop;
927 struct __ecereNameSpace__ecere__com__Method * method;
928 } __attribute__ ((gcc_struct)) __anon1;
929 } __attribute__ ((gcc_struct)) __anon2;
930 } __attribute__ ((gcc_struct)) __anon1;
931 } __attribute__ ((gcc_struct));
935 IDENTIFIER = 258, CONSTANT = 259, STRING_LITERAL = 260, SIZEOF = 261, PTR_OP = 262, INC_OP = 263, DEC_OP = 264, LEFT_OP = 265, RIGHT_OP = 266, LE_OP = 267, GE_OP = 268, EQ_OP = 269, NE_OP = 270, AND_OP = 271, OR_OP = 272, MUL_ASSIGN = 273, DIV_ASSIGN = 274, MOD_ASSIGN = 275, ADD_ASSIGN = 276, SUB_ASSIGN = 277, LEFT_ASSIGN = 278, RIGHT_ASSIGN = 279, AND_ASSIGN = 280, XOR_ASSIGN = 281, OR_ASSIGN = 282, TYPE_NAME = 283, TYPEDEF = 284, EXTERN = 285, STATIC = 286, AUTO = 287, REGISTER = 288, CHAR = 289, SHORT = 290, INT = 291, UINT = 292, INT64 = 293, LONG = 294, SIGNED = 295, UNSIGNED = 296, FLOAT = 297, DOUBLE = 298, CONST = 299, VOLATILE = 300, VOID = 301, VALIST = 302, STRUCT = 303, UNION = 304, ENUM = 305, ELLIPSIS = 306, CASE = 307, DEFAULT = 308, IF = 309, SWITCH = 310, WHILE = 311, DO = 312, FOR = 313, GOTO = 314, CONTINUE = 315, BREAK = 316, RETURN = 317, IFX = 318, ELSE = 319, CLASS = 320, THISCLASS = 321, CLASS_NAME = 322, PROPERTY = 323, SETPROP = 324, GETPROP = 325, NEWOP = 326, RENEW = 327, DELETE = 328, EXT_DECL = 329, EXT_STORAGE = 330, IMPORT = 331, DEFINE = 332, VIRTUAL = 333, ATTRIB = 334, PUBLIC = 335, PRIVATE = 336, TYPED_OBJECT = 337, ANY_OBJECT = 338, _INCREF = 339, EXTENSION = 340, ASM = 341, TYPEOF = 342, WATCH = 343, STOPWATCHING = 344, FIREWATCHERS = 345, WATCHABLE = 346, CLASS_DESIGNER = 347, CLASS_NO_EXPANSION = 348, CLASS_FIXED = 349, ISPROPSET = 350, CLASS_DEFAULT_PROPERTY = 351, PROPERTY_CATEGORY = 352, CLASS_DATA = 353, CLASS_PROPERTY = 354, SUBCLASS = 355, NAMESPACE = 356, NEW0OP = 357, RENEW0 = 358, VAARG = 359, DBTABLE = 360, DBFIELD = 361, DBINDEX = 362, DATABASE_OPEN = 363, ALIGNOF = 364, ATTRIB_DEP = 365, __ATTRIB = 366, BOOL = 367, _BOOL = 368, _COMPLEX = 369, _IMAGINARY = 370, RESTRICT = 371, THREAD = 372
938 typedef union YYSTYPE
943 struct Identifier * id;
944 struct Expression * exp;
945 struct Specifier * specifier;
946 struct __ecereNameSpace__ecere__sys__OldList * list;
947 struct Enumerator * enumerator;
948 struct Declarator * declarator;
949 struct Pointer * pointer;
950 struct Initializer * initializer;
951 struct InitDeclarator * initDeclarator;
952 struct TypeName * typeName;
953 struct Declaration * declaration;
954 struct Statement * stmt;
955 struct FunctionDefinition * function;
956 struct External * external;
957 struct Context * context;
958 struct AsmField * asmField;
959 struct Attrib * attrib;
960 struct ExtDecl * extDecl;
961 struct Attribute * attribute;
962 struct Instantiation * instance;
963 struct MembersInit * membersInit;
964 struct MemberInit * memberInit;
965 struct ClassFunction * classFunction;
966 struct ClassDefinition * _class;
967 struct ClassDef * classDef;
968 struct PropertyDef * prop;
970 struct Symbol * symbol;
971 struct PropertyWatch * propertyWatch;
972 struct TemplateParameter * templateParameter;
973 struct TemplateArgument * templateArgument;
974 struct TemplateDatatype * templateDatatype;
975 struct DBTableEntry * dbtableEntry;
976 struct DBIndexItem * dbindexItem;
977 struct DBTableDef * dbtableDef;
978 } __attribute__ ((gcc_struct)) YYSTYPE;
980 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Enumerator;
984 struct Enumerator * prev;
985 struct Enumerator * next;
987 struct Identifier * id;
988 struct Expression * exp;
989 } __attribute__ ((gcc_struct));
991 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_InitDeclarator;
993 struct InitDeclarator
995 struct InitDeclarator * prev;
996 struct InitDeclarator * next;
998 struct Declarator * declarator;
999 struct Initializer * initializer;
1000 } __attribute__ ((gcc_struct));
1002 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_AsmField;
1006 struct AsmField * prev;
1007 struct AsmField * next;
1008 struct Location loc;
1010 struct Expression * expression;
1011 struct Identifier * symbolic;
1012 } __attribute__ ((gcc_struct));
1014 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Attribute;
1018 struct Attribute * prev;
1019 struct Attribute * next;
1020 struct Location loc;
1022 struct Expression * exp;
1023 } __attribute__ ((gcc_struct));
1025 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassFunction;
1027 struct ClassFunction
1029 struct ClassFunction * prev;
1030 struct ClassFunction * next;
1031 struct Location loc;
1032 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1033 struct Declarator * declarator;
1034 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1035 struct Statement * body;
1036 struct __ecereNameSpace__ecere__com__Class * _class;
1037 struct __ecereNameSpace__ecere__sys__OldList attached;
1040 struct Symbol * propSet;
1041 unsigned int isVirtual;
1042 unsigned int isConstructor;
1043 unsigned int isDestructor;
1044 unsigned int dontMangle;
1047 } __attribute__ ((gcc_struct));
1049 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_MembersInit;
1053 struct MembersInit * prev;
1054 struct MembersInit * next;
1055 struct Location loc;
1059 struct __ecereNameSpace__ecere__sys__OldList * dataMembers;
1060 struct ClassFunction * function;
1061 } __attribute__ ((gcc_struct)) __anon1;
1062 } __attribute__ ((gcc_struct));
1064 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_MemberInit;
1068 struct MemberInit * prev;
1069 struct MemberInit * next;
1070 struct Location loc;
1071 struct Location realLoc;
1072 struct __ecereNameSpace__ecere__sys__OldList * identifiers;
1073 struct Initializer * initializer;
1075 unsigned int variable;
1076 unsigned int takeOutExp;
1077 } __attribute__ ((gcc_struct));
1079 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyDef;
1083 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyWatch;
1085 struct PropertyWatch;
1087 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDef;
1091 struct ClassDef * prev;
1092 struct ClassDef * next;
1093 struct Location loc;
1097 struct Declaration * decl;
1098 struct ClassFunction * function;
1099 struct __ecereNameSpace__ecere__sys__OldList * defProperties;
1100 struct PropertyDef * propertyDef;
1101 struct PropertyWatch * propertyWatch;
1103 struct Identifier * defaultProperty;
1106 struct Identifier * id;
1107 struct Initializer * initializer;
1108 } __attribute__ ((gcc_struct)) __anon1;
1109 } __attribute__ ((gcc_struct)) __anon1;
1112 } __attribute__ ((gcc_struct));
1114 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBTableEntry;
1116 struct DBTableEntry;
1118 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBIndexItem;
1122 extern YYSTYPE yylval;
1124 extern struct Location yylloc;
1128 unsigned int memoryGuard = 0x0;
1130 void SetMemoryGuard(unsigned int b)
1135 unsigned int GetMemoryGuard()
1140 extern int strcmp(const char * , const char * );
1142 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts;
1144 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
1146 static void OutputIdentifier(struct Identifier * id, struct __ecereNameSpace__ecere__com__Instance * f)
1152 if(id->_class->type == 8)
1154 if(id->_class->__anon1.templateParameter && id->_class->__anon1.templateParameter->identifier && id->_class->__anon1.templateParameter->identifier->string)
1155 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1156 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1158 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1159 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, id->_class->__anon1.templateParameter->identifier->string);
1163 if(id->_class->__anon1.__anon1.name)
1165 if(!strcmp(id->_class->__anon1.__anon1.name, "class"))
1166 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1167 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1169 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1170 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "typed_object");
1172 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1173 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1175 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1176 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, id->_class->__anon1.__anon1.name);
1179 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1180 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1182 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1183 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "::");
1186 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1187 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1189 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1190 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, (id && id->string) ? id->string : "(null identifier)");
1193 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Putc;
1195 static void OutputOperator(int op, struct __ecereNameSpace__ecere__com__Instance * f)
1200 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1201 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1203 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1204 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "++");
1207 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1208 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1210 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1211 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "--");
1214 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1215 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1217 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1218 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "sizeof ");
1221 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1222 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1224 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1225 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "<<");
1228 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1229 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1231 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1232 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ">>");
1235 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1236 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1238 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1239 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "<=");
1242 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1243 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1245 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1246 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ">=");
1249 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1250 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1252 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1253 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "==");
1256 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1257 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1259 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1260 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "!=");
1263 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1264 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1266 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1267 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "&&");
1270 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1271 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1273 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1274 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "||");
1277 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1278 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1280 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1281 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "*=");
1284 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1285 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1287 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1288 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "/=");
1291 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1292 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1294 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1295 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "%=");
1298 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1299 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1301 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1302 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "+=");
1305 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1306 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1308 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1309 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "-=");
1312 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1313 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1315 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1316 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "<<=");
1319 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1320 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1322 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1323 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ">>=");
1326 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1327 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1329 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1330 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "&=");
1333 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1334 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1336 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1337 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "^=");
1340 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1341 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1343 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1344 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "|=");
1359 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char ch))__extension__ ({
1360 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1362 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1363 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Putc])(f, (char)op);
1366 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1367 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1369 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1370 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "delete ");
1375 static void OutputSpecifier(struct Specifier * spec, struct __ecereNameSpace__ecere__com__Instance * f, unsigned int typeName);
1377 static void OutputDeclarator(struct Declarator * decl, struct __ecereNameSpace__ecere__com__Instance * f);
1379 void OutputTypeName(struct TypeName * type, struct __ecereNameSpace__ecere__com__Instance * f, unsigned int typeName)
1381 if(type->qualifiers)
1383 struct Specifier * spec;
1385 for(spec = (*type->qualifiers).first; spec; spec = spec->next)
1387 OutputSpecifier(spec, f, typeName);
1389 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1390 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1392 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1393 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1396 if(type->declarator)
1398 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1399 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1401 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1402 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1403 OutputDeclarator(type->declarator, f);
1405 if(!type->qualifiers && !type->declarator)
1406 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1407 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1409 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1410 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "...");
1413 static void OutputStatement(struct Statement * stmt, struct __ecereNameSpace__ecere__com__Instance * f);
1415 extern unsigned int inCompiler;
1417 extern unsigned int outputLineNumbers;
1419 static void GetSourceName(char * name, const char * src);
1421 extern char * GetIncludeFileFromID(int id);
1423 static void OutputInstance(struct Instantiation * inst, struct __ecereNameSpace__ecere__com__Instance * f);
1425 static void OutputInitializer(struct Initializer * initializer, struct __ecereNameSpace__ecere__com__Instance * f);
1427 int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, const char * format, ...);
1429 void OutputExpression(struct Expression * exp, struct __ecereNameSpace__ecere__com__Instance * f)
1434 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1435 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1437 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1438 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "class(");
1439 if(exp->__anon1._classExp.specifiers)
1441 struct Specifier * spec;
1443 for(spec = (*exp->__anon1._classExp.specifiers).first; spec; spec = spec->next)
1445 OutputSpecifier(spec, f, 0x0);
1447 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1448 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1450 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1451 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1453 if(exp->__anon1._classExp.decl)
1455 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1456 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1458 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1459 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1460 OutputDeclarator(exp->__anon1._classExp.decl, f);
1462 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1463 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1465 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1466 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
1470 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1471 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1473 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1474 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__extension__ (");
1475 OutputStatement(exp->__anon1.compound, f);
1476 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1477 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1479 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1480 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
1481 if(inCompiler && outputLineNumbers && exp->loc.end.line)
1483 char name[274] = "";
1485 GetSourceName(name, exp->loc.end.included ? GetIncludeFileFromID(exp->loc.end.included) : (((void *)0)));
1486 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", exp->loc.end.line, name);
1491 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1492 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1494 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1495 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "new ");
1496 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1497 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1499 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1500 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1501 OutputTypeName(exp->__anon1._renew.typeName, f, 0x0);
1502 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1503 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1505 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1506 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
1507 OutputExpression(exp->__anon1._renew.size, f);
1508 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1509 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1511 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1512 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
1515 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1516 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1518 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1519 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "new0 ");
1520 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1521 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1523 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1524 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1525 OutputTypeName(exp->__anon1._renew.typeName, f, 0x0);
1526 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1527 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1529 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1530 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
1531 OutputExpression(exp->__anon1._renew.size, f);
1532 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1533 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1535 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1536 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
1539 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1540 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1542 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1543 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "renew ");
1544 OutputExpression(exp->__anon1._renew.exp, f);
1545 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1546 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1548 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1549 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1550 OutputTypeName(exp->__anon1._renew.typeName, f, 0x0);
1551 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1552 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1554 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1555 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
1556 OutputExpression(exp->__anon1._renew.size, f);
1557 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1558 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1560 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1561 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
1564 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1565 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1567 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1568 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "renew0 ");
1569 OutputExpression(exp->__anon1._renew.exp, f);
1570 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1571 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1573 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1574 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1575 OutputTypeName(exp->__anon1._renew.typeName, f, 0x0);
1576 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1577 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1579 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1580 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
1581 OutputExpression(exp->__anon1._renew.size, f);
1582 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1583 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1585 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1586 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
1589 if(exp->__anon1.__anon1.identifier)
1590 OutputIdentifier(exp->__anon1.__anon1.identifier, f);
1593 if(exp->__anon1.instance)
1594 OutputInstance(exp->__anon1.instance, f);
1597 if(exp->__anon1.__anon1.constant)
1598 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1599 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1601 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1602 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, exp->__anon1.__anon1.constant);
1605 if(exp->__anon1.__anon2.string)
1606 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1607 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1609 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1610 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, exp->__anon1.__anon2.string);
1613 if(exp->__anon1.op.exp1)
1615 OutputExpression(exp->__anon1.op.exp1, f);
1616 if(exp->__anon1.op.exp2)
1617 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1618 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1620 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1621 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1623 OutputOperator(exp->__anon1.op.op, f);
1624 if(exp->__anon1.op.exp2)
1626 if(exp->__anon1.op.exp1 || (exp->__anon1.op.exp2->type == 4 && !exp->__anon1.op.exp2->__anon1.op.exp1 && exp->__anon1.op.exp2->__anon1.op.op == exp->__anon1.op.op))
1627 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1628 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1630 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1631 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1632 OutputExpression(exp->__anon1.op.exp2, f);
1638 struct Expression * expression;
1641 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1642 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1644 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1645 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__extension__ (");
1646 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1647 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1649 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1650 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
1651 if(exp->__anon1.list)
1653 for(expression = (*exp->__anon1.list).first; expression; expression = expression->next)
1655 OutputExpression(expression, f);
1656 if(expression->next)
1657 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1658 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1660 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1661 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
1664 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1665 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1667 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1668 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
1673 struct Expression * expression;
1675 if(exp->__anon1.index.exp)
1676 OutputExpression(exp->__anon1.index.exp, f);
1677 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1678 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1680 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1681 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
1682 if(exp->__anon1.index.index)
1683 for(expression = (*exp->__anon1.index.index).first; expression; expression = expression->next)
1685 OutputExpression(expression, f);
1686 if(expression->next)
1687 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1688 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1690 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1691 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
1693 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1694 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1696 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1697 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
1702 OutputExpression(exp->__anon1.call.exp, f);
1703 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1704 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1706 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1707 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
1708 if(exp->__anon1.call.arguments)
1710 struct Expression * expression;
1712 for(expression = (*exp->__anon1.call.arguments).first; expression; expression = expression->next)
1714 OutputExpression(expression, f);
1715 if(expression->next)
1716 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1717 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1719 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1720 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
1723 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1724 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1726 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1727 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
1731 if(exp->__anon1.member.exp)
1732 OutputExpression(exp->__anon1.member.exp, f);
1733 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1734 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1736 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1737 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ".");
1738 if(exp->__anon1.member.member)
1739 OutputIdentifier(exp->__anon1.member.member, f);
1742 OutputExpression(exp->__anon1.member.exp, f);
1743 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1744 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1746 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1747 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "->");
1748 OutputIdentifier(exp->__anon1.member.member, f);
1751 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1752 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1754 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1755 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "sizeof(");
1756 OutputTypeName(exp->__anon1.typeName, f, 0x0);
1757 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1758 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1760 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1761 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
1764 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1765 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1767 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1768 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__alignof__(");
1769 OutputTypeName(exp->__anon1.typeName, f, 0x0);
1770 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1771 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1773 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1774 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
1777 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1778 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1780 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1781 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__extension__ (");
1782 if(exp->__anon1.initializer.typeName)
1783 OutputTypeName(exp->__anon1.initializer.typeName, f, 0x0);
1784 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1785 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1787 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1788 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
1789 if(exp->__anon1.initializer.initializer)
1790 OutputInitializer(exp->__anon1.initializer.initializer, f);
1793 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1794 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1796 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1797 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
1798 OutputTypeName(exp->__anon1.cast.typeName, f, 0x0);
1799 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1800 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1802 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1803 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
1804 if(exp->__anon1.cast.exp)
1805 OutputExpression(exp->__anon1.cast.exp, f);
1808 OutputExpression(exp->__anon1.cond.cond, f);
1809 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1810 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1812 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1813 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ? ");
1815 struct Expression * expression;
1817 for(expression = (*exp->__anon1.cond.exp).first; expression; expression = expression->next)
1819 OutputExpression(expression, f);
1820 if(expression->next)
1821 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1822 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1824 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1825 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
1828 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1829 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1831 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1832 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " : ");
1833 if(exp->__anon1.cond.elseExp)
1834 OutputExpression(exp->__anon1.cond.elseExp, f);
1837 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1838 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1840 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1841 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__builtin_va_arg(");
1842 OutputExpression(exp->__anon1.vaArg.exp, f);
1843 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1844 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1846 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1847 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
1848 OutputTypeName(exp->__anon1.vaArg.typeName, f, 0x0);
1849 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1850 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1852 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1853 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
1856 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1857 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1859 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1860 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
1861 if(exp->__anon1.list)
1863 struct Expression * expression;
1865 for(expression = (*exp->__anon1.list).first; expression; expression = expression->next)
1867 OutputExpression(expression, f);
1868 if(expression->next)
1869 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1870 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1872 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1873 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
1876 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1877 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1879 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1880 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
1885 static void OutputAsmField(struct AsmField * field, struct __ecereNameSpace__ecere__com__Instance * f)
1889 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1890 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1892 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1893 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
1894 OutputIdentifier(field->symbolic, f);
1895 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1896 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1898 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1899 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
1901 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1902 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1904 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1905 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, field->command);
1906 if(field->expression)
1908 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1909 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1911 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1912 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
1913 OutputExpression(field->expression, f);
1914 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1915 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1917 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1918 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
1922 extern char * strchr(const char * , int);
1924 extern char * __ecereNameSpace__ecere__sys__StripLastDirectory(const char * string, char * output);
1926 extern const char * sourceFile;
1928 extern char * __ecereNameSpace__ecere__sys__PathCat(char * string, const char * addedPath);
1930 extern void __ecereNameSpace__ecere__sys__ChangeCh(char * string, char ch1, char ch2);
1932 static void GetSourceName(char * name, const char * src)
1937 if(!strchr(src, '/') && !strchr(src, '\\'))
1938 __ecereNameSpace__ecere__sys__StripLastDirectory(sourceFile, name);
1939 __ecereNameSpace__ecere__sys__PathCat(name, src);
1942 __ecereNameSpace__ecere__sys__PathCat(name, sourceFile);
1943 __ecereNameSpace__ecere__sys__ChangeCh(name, '\\', '/');
1946 extern const char * outputFile;
1948 static void OutputDeclaration(struct Declaration * decl, struct __ecereNameSpace__ecere__com__Instance * f);
1950 extern struct __ecereNameSpace__ecere__sys__OldList * MkList(void);
1952 extern struct Declarator * SpecDeclFromString(const char * string, struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * baseDecl);
1954 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
1956 extern struct Identifier * MkIdentifier(const char * string);
1958 extern struct __ecereNameSpace__ecere__sys__OldList * CopyList(struct __ecereNameSpace__ecere__sys__OldList * source, void * (* CopyFunction)(void * ));
1960 extern struct Specifier * CopySpecifier(struct Specifier * spec);
1962 extern struct Declarator * PlugDeclarator(struct Declarator * decl, struct Declarator * baseDecl);
1964 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void * item);
1966 extern struct Specifier * MkSpecifierName(const char * name);
1968 extern void PrintType(struct Type * type, char * string, unsigned int printName, unsigned int fullName);
1970 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
1972 extern void InstDeclPassTypeName(struct TypeName * type, unsigned int param);
1974 extern void FreeTypeName(struct TypeName * typeName);
1976 static void OutputStatement(struct Statement * stmt, struct __ecereNameSpace__ecere__com__Instance * f)
1978 char name[274] = "";
1979 char origName[274] = "";
1983 GetSourceName(name, stmt->loc.start.included ? GetIncludeFileFromID(stmt->loc.start.included) : (((void *)0)));
1984 __ecereNameSpace__ecere__sys__PathCat(origName, outputFile);
1985 __ecereNameSpace__ecere__sys__ChangeCh(origName, '\\', '/');
1987 if(inCompiler && outputLineNumbers && stmt->loc.start.line)
1989 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", stmt->loc.start.line, name);
1995 OutputDeclaration(stmt->__anon1.decl, f);
1998 OutputIdentifier(stmt->__anon1.labeled.id, f);
1999 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2000 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2002 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2003 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":\n");
2005 if(stmt->__anon1.labeled.stmt)
2007 if(stmt->__anon1.labeled.stmt->type == 14)
2008 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2009 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2011 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2012 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "; ");
2013 OutputStatement(stmt->__anon1.labeled.stmt, f);
2017 if(stmt->__anon1.caseStmt.exp)
2019 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2020 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2022 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2023 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "case ");
2024 OutputExpression(stmt->__anon1.caseStmt.exp, f);
2025 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2026 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2028 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2029 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":\n");
2034 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2035 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2037 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2038 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "default:\n");
2041 if(stmt->__anon1.caseStmt.stmt)
2043 if(stmt->__anon1.caseStmt.stmt->type == 14)
2044 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2045 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2047 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2048 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "; ");
2049 OutputStatement(stmt->__anon1.caseStmt.stmt, f);
2054 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2055 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2057 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2058 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "{\n");
2060 if(stmt->__anon1.compound.declarations)
2062 struct Declaration * decl;
2064 for(decl = (*stmt->__anon1.compound.declarations).first; decl; decl = decl->next)
2066 OutputDeclaration(decl, f);
2069 if(stmt->__anon1.compound.statements)
2071 struct Statement * statement;
2073 if(stmt->__anon1.compound.declarations)
2075 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2076 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2078 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2079 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
2082 for(statement = (*stmt->__anon1.compound.statements).first; statement; statement = statement->next)
2084 OutputStatement(statement, f);
2085 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2086 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2088 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2089 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
2093 if(inCompiler && outputLineNumbers && stmt->loc.end.line)
2095 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", stmt->loc.end.line, name);
2098 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2099 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2101 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2102 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "}");
2107 if(stmt->__anon1.expressions)
2109 struct Expression * exp;
2111 for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
2113 OutputExpression(exp, f);
2115 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2116 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2118 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2119 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2122 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2123 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2125 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2126 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";");
2131 struct Expression * exp;
2133 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2134 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2136 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2137 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "if(");
2138 for(exp = (*stmt->__anon1.ifStmt.exp).first; exp; exp = exp->next)
2140 OutputExpression(exp, f);
2142 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2143 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2145 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2146 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2148 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2149 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2151 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2152 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")\n");
2154 if(stmt->__anon1.ifStmt.stmt)
2155 OutputStatement(stmt->__anon1.ifStmt.stmt, f);
2156 if(stmt->__anon1.ifStmt.elseStmt)
2158 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2159 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2161 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2162 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
2164 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2165 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2167 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2168 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "else");
2169 if(stmt->__anon1.ifStmt.elseStmt->type != 4)
2171 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2172 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2174 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2175 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
2179 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2180 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2182 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2183 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2184 OutputStatement(stmt->__anon1.ifStmt.elseStmt, f);
2190 struct Expression * exp;
2192 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2193 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2195 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2196 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "switch(");
2197 if(stmt->__anon1.switchStmt.exp)
2199 for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
2201 OutputExpression(exp, f);
2203 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2204 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2206 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2207 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2210 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2211 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2213 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2214 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")\n");
2216 OutputStatement(stmt->__anon1.switchStmt.stmt, f);
2221 struct Expression * exp;
2223 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2224 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2226 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2227 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "while(");
2228 if(stmt->__anon1.switchStmt.exp)
2230 for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
2232 OutputExpression(exp, f);
2234 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2235 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2237 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2238 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2241 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2242 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2244 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2245 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")\n");
2247 OutputStatement(stmt->__anon1.whileStmt.stmt, f);
2252 struct Expression * exp;
2254 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2255 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2257 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2258 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "do\n");
2260 OutputStatement(stmt->__anon1.whileStmt.stmt, f);
2261 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2262 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2264 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2265 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "while(");
2266 for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
2268 OutputExpression(exp, f);
2270 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2271 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2273 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2274 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2276 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2277 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2279 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2280 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ");");
2285 struct Expression * exp;
2287 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2288 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2290 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2291 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "for(");
2292 OutputStatement(stmt->__anon1.forStmt.init, f);
2293 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2294 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2296 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2297 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2298 OutputStatement(stmt->__anon1.forStmt.check, f);
2299 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2300 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2302 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2303 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2304 if(stmt->__anon1.forStmt.increment)
2306 if(inCompiler && outputLineNumbers && stmt->loc.end.line)
2308 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", stmt->loc.end.line, name);
2311 for(exp = (*stmt->__anon1.forStmt.increment).first; exp; exp = exp->next)
2313 OutputExpression(exp, f);
2315 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2316 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2318 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2319 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2322 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2323 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2325 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2326 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")\n");
2328 OutputStatement(stmt->__anon1.forStmt.stmt, f);
2333 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2334 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2336 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2337 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "goto ");
2338 OutputIdentifier(stmt->__anon1.gotoStmt.id, f);
2339 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2340 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2342 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2343 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";");
2347 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2348 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2350 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2351 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "continue;");
2354 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2355 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2357 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2358 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "break;");
2362 struct Expression * exp;
2364 if(inCompiler && memoryGuard)
2366 struct Expression * exp = stmt->__anon1.expressions ? (*stmt->__anon1.expressions).last : (((void *)0));
2367 struct Type * returnType = exp ? (exp->destType ? exp->destType : exp->expType) : (((void *)0));
2369 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "{ ");
2370 if(returnType && returnType->kind != 0)
2372 char string[1024] = "";
2373 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
2374 struct Declarator * decl;
2375 struct TypeName * typeName;
2377 if(returnType->kind == 20)
2379 if(returnType->__anon1.templateParameter->dataTypeString)
2380 decl = SpecDeclFromString(returnType->__anon1.templateParameter->dataTypeString, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal")));
2381 else if(returnType->__anon1.templateParameter->__anon1.dataType)
2383 (__ecereNameSpace__ecere__com__eSystem_Delete(specs), specs = 0);
2384 specs = CopyList(returnType->__anon1.templateParameter->__anon1.dataType->specifiers, CopySpecifier);
2385 decl = PlugDeclarator(returnType->__anon1.templateParameter->__anon1.dataType->decl, MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal")));
2389 ListAdd(specs, MkSpecifierName("uint64"));
2390 decl = MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal"));
2395 PrintType(returnType, string, returnType->kind == 18 ? 0x1 : 0x0, 0x1);
2396 decl = SpecDeclFromString(string, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal")));
2398 typeName = MkTypeName(specs, decl);
2399 InstDeclPassTypeName(typeName, 0x0);
2400 OutputTypeName(typeName, f, 0x0);
2401 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ";");
2402 FreeTypeName(typeName);
2406 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2407 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2409 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2410 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "return ");
2413 struct Expression * exp = stmt->__anon1.expressions ? (*stmt->__anon1.expressions).last : (((void *)0));
2415 if(exp && exp->expType && exp->expType->kind != 0)
2416 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "__ecereReturnVal = ");
2418 if(stmt->__anon1.expressions)
2420 for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
2422 OutputExpression(exp, f);
2424 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2425 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2427 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2428 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2431 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2432 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2434 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2435 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";");
2436 if(inCompiler && memoryGuard)
2438 struct Expression * exp = stmt->__anon1.expressions ? (struct Expression *)(*stmt->__anon1.expressions).last : (((void *)0));
2440 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereNameSpace__ecere__com__MemoryGuard_PopLoc();");
2441 if(exp && exp->expType && exp->expType->kind != 0)
2442 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "return __ecereReturnVal;");
2444 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "return;");
2445 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "}");
2451 struct AsmField * field;
2453 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2454 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2456 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2457 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__asm__ ");
2458 if(stmt->__anon1.asmStmt.spec)
2459 OutputSpecifier(stmt->__anon1.asmStmt.spec, f, 0x0);
2460 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2461 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2463 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2464 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
2465 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2466 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2468 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2469 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, stmt->__anon1.asmStmt.statements);
2470 if(stmt->__anon1.asmStmt.inputFields || stmt->__anon1.asmStmt.outputFields || stmt->__anon1.asmStmt.clobberedFields)
2472 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2473 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2475 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2476 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":");
2477 if(stmt->__anon1.asmStmt.inputFields)
2479 for(field = (*stmt->__anon1.asmStmt.inputFields).first; field; field = field->next)
2482 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2483 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2485 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2486 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ",");
2487 OutputAsmField(field, f);
2491 if(stmt->__anon1.asmStmt.outputFields || stmt->__anon1.asmStmt.clobberedFields)
2493 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2494 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2496 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2497 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":");
2498 if(stmt->__anon1.asmStmt.outputFields)
2500 for(field = (*stmt->__anon1.asmStmt.outputFields).first; field; field = field->next)
2503 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2504 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2506 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2507 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ",");
2508 OutputAsmField(field, f);
2512 if(stmt->__anon1.asmStmt.clobberedFields)
2514 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2515 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2517 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2518 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":");
2519 for(field = (*stmt->__anon1.asmStmt.clobberedFields).first; field; field = field->next)
2522 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2523 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2525 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2526 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ",");
2527 OutputAsmField(field, f);
2530 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2531 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2533 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2534 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ");\n");
2539 if(inCompiler && outputLineNumbers && stmt->loc.start.line)
2541 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", outputLine + 2, origName);
2546 static void OutputPointer(struct Pointer * ptr, struct __ecereNameSpace__ecere__com__Instance * f)
2548 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2549 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2551 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2552 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "*");
2555 struct Specifier * spec;
2557 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2558 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2560 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2561 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2562 for(spec = (*ptr->qualifiers).first; spec; spec = spec->next)
2564 OutputSpecifier(spec, f, 0x0);
2566 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2567 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2569 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2570 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2575 OutputPointer(ptr->pointer, f);
2579 static void OutputAttrib(struct Attrib * attr, struct __ecereNameSpace__ecere__com__Instance * f);
2581 static void OutputExtDecl(struct ExtDecl * extDecl, struct __ecereNameSpace__ecere__com__Instance * f);
2583 extern void ProcessExpressionType(struct Expression * exp);
2585 extern void ComputeExpression(struct Expression * exp);
2587 static void OutputDeclarator(struct Declarator * decl, struct __ecereNameSpace__ecere__com__Instance * f)
2592 if(decl->declarator)
2594 OutputDeclarator(decl->declarator, f);
2596 if(decl->__anon1.structDecl.exp)
2598 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2599 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2601 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2602 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " : ");
2603 OutputExpression(decl->__anon1.structDecl.exp, f);
2605 if(decl->__anon1.structDecl.posExp)
2607 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2608 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2610 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2611 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " : ");
2612 OutputExpression(decl->__anon1.structDecl.posExp, f);
2614 if(decl->__anon1.structDecl.attrib)
2616 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2617 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2619 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2620 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2621 OutputAttrib(decl->__anon1.structDecl.attrib, f);
2625 OutputIdentifier(decl->__anon1.identifier, f);
2628 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2629 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2631 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2632 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
2633 OutputDeclarator(decl->declarator, f);
2634 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2635 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2637 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2638 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
2641 if(decl->__anon1.extended.extended)
2642 OutputExtDecl(decl->__anon1.extended.extended, f);
2643 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2644 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2646 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2647 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2648 OutputDeclarator(decl->declarator, f);
2651 OutputDeclarator(decl->declarator, f);
2652 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2653 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2655 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2656 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2657 if(decl->__anon1.extended.extended)
2658 OutputExtDecl(decl->__anon1.extended.extended, f);
2661 if(decl->declarator)
2663 OutputDeclarator(decl->declarator, f);
2665 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2666 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2668 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2669 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
2670 if(decl->__anon1.array.exp)
2672 ProcessExpressionType(decl->__anon1.array.exp);
2673 ComputeExpression(decl->__anon1.array.exp);
2674 OutputExpression(decl->__anon1.array.exp, f);
2676 else if(decl->__anon1.array.enumClass)
2678 struct Symbol * _class = decl->__anon1.array.enumClass->__anon1.__anon1.symbol;
2680 if(_class && _class->__anon1.registered)
2682 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%d", (int)__ecereNameSpace__ecere__com__eClass_GetProperty(_class->__anon1.registered, "enumSize"));
2685 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2686 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2688 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2689 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
2693 struct TypeName * param;
2695 if(decl->declarator)
2696 OutputDeclarator(decl->declarator, f);
2697 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2698 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2700 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2701 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
2702 if(decl->__anon1.function.parameters && (*decl->__anon1.function.parameters).first)
2704 for(param = (*decl->__anon1.function.parameters).first; param; param = param->next)
2706 OutputTypeName(param, f, 0x0);
2708 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2709 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2711 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2712 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2715 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2716 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2718 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2719 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
2723 if(decl->__anon1.pointer.pointer)
2724 OutputPointer(decl->__anon1.pointer.pointer, f);
2725 if(decl->declarator)
2727 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2728 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2730 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2731 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2732 OutputDeclarator(decl->declarator, f);
2738 static void OutputEnumerator(struct Enumerator * enumerator, struct __ecereNameSpace__ecere__com__Instance * f)
2740 OutputIdentifier(enumerator->id, f);
2743 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2744 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2746 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2747 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " = ");
2748 OutputExpression(enumerator->exp, f);
2752 static void OutputAttribute(struct Attribute * attr, struct __ecereNameSpace__ecere__com__Instance * f)
2755 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2756 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2758 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2759 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, attr->attr);
2762 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2763 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2765 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2766 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2767 OutputExpression(attr->exp, f);
2771 static void OutputAttrib(struct Attrib * attr, struct __ecereNameSpace__ecere__com__Instance * f)
2776 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2777 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2779 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2780 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__attribute__((");
2783 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2784 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2786 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2787 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__attribute((");
2790 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2791 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2793 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2794 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__attribute_deprecated__((");
2799 struct Attribute * attrib;
2801 for(attrib = (*attr->attribs).first; attrib; attrib = attrib->next)
2804 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2805 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2807 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2808 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2809 OutputAttribute(attrib, f);
2812 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2813 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2815 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2816 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "))");
2819 static void OutputExtDecl(struct ExtDecl * extDecl, struct __ecereNameSpace__ecere__com__Instance * f)
2821 if(extDecl->type == 0 && extDecl->__anon1.s)
2822 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2823 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2825 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2826 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, extDecl->__anon1.s);
2827 else if(extDecl->type == 1)
2828 OutputAttrib(extDecl->__anon1.attr, f);
2831 extern struct Symbol * FindClass(const char * name);
2833 static void OutputClassDef(struct ClassDef * def, struct __ecereNameSpace__ecere__com__Instance * f);
2835 static void OutputSpecifier(struct Specifier * spec, struct __ecereNameSpace__ecere__com__Instance * f, unsigned int typeName)
2840 switch(spec->__anon1.specifier)
2843 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2844 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2846 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2847 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "typedef");
2850 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2851 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2853 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2854 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "extern");
2857 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2858 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2860 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2861 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "static");
2864 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2865 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2867 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2868 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "auto");
2871 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2872 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2874 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2875 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "register");
2878 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2879 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2881 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2882 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__thread");
2885 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2886 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2888 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2889 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "const");
2892 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2893 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2895 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2896 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "volatile");
2899 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2900 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2902 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2903 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "void");
2906 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2907 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2909 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2910 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "char");
2914 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2915 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2917 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2918 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "_Bool");
2921 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2922 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2924 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2925 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "_Complex");
2928 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2929 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2931 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2932 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "_Imaginary");
2935 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2936 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2938 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2939 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "restrict");
2942 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2943 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2945 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2946 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "short");
2949 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2950 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2952 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2953 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "int");
2956 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2957 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2959 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2960 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, typeName ? "uint" : "unsigned int");
2963 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2964 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2966 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2967 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, typeName ? "int64" : "long long");
2970 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2971 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2973 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2974 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__builtin_va_list");
2977 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2978 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2980 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2981 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "long");
2984 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2985 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2987 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2988 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "float");
2991 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2992 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2994 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2995 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "double");
2998 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2999 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3001 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3002 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "signed");
3005 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3006 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3008 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3009 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "unsigned");
3012 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3013 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3015 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3016 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "typed_object");
3019 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3020 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3022 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3023 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "any_object");
3026 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3027 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3029 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3030 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "class");
3033 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3034 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3036 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3037 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "thisclass");
3042 if(spec->__anon1.__anon1.extDecl)
3043 OutputExtDecl(spec->__anon1.__anon1.extDecl, f);
3046 if(spec->__anon1.__anon1.name && !strcmp(spec->__anon1.__anon1.name, "class"))
3048 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3049 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3051 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3052 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "typed_object");
3056 struct Symbol * symbol = spec->__anon1.__anon1.symbol;
3058 if(!symbol && spec->__anon1.__anon1.name)
3059 symbol = FindClass(spec->__anon1.__anon1.name);
3062 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3063 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3065 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3066 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, symbol->string ? symbol->string : "(null)");
3068 else if(spec->__anon1.__anon1.name)
3069 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3070 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3072 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3073 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, spec->__anon1.__anon1.name);
3078 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3079 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3081 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3082 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "enum");
3083 if(spec->__anon1.__anon2.id)
3085 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3086 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3088 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3089 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3090 OutputIdentifier(spec->__anon1.__anon2.id, f);
3092 if(spec->__anon1.__anon2.list)
3094 struct Enumerator * enumerator;
3096 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3097 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3099 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3100 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n{\n");
3102 for(enumerator = (*spec->__anon1.__anon2.list).first; enumerator; enumerator = enumerator->next)
3104 OutputEnumerator(enumerator, f);
3105 if(enumerator->next)
3106 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3107 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3109 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3110 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3112 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3113 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3115 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3116 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n}");
3124 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3125 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3127 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3128 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, (spec->type == 3) ? "struct" : "union");
3129 if(spec->__anon1.__anon2.extDeclStruct)
3131 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3132 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3134 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3135 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3136 OutputExtDecl(spec->__anon1.__anon2.extDeclStruct, f);
3138 if(spec->__anon1.__anon2.id)
3140 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3141 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3143 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3144 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3145 OutputIdentifier(spec->__anon1.__anon2.id, f);
3147 if(spec->__anon1.__anon2.definitions)
3149 struct ClassDef * def;
3151 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3152 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3154 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3155 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n{\n");
3157 for(def = (*spec->__anon1.__anon2.definitions).first; def; def = def->next)
3159 OutputClassDef(def, f);
3161 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3162 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3164 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3165 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "} __attribute__ ((gcc_struct))");
3170 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3171 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3173 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3174 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__typeof(");
3175 OutputExpression(spec->__anon1.expression, f);
3176 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3177 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3179 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3180 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
3183 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3184 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3186 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3187 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "subclass(");
3188 OutputSpecifier(spec->__anon1._class, f, 0x0);
3189 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3190 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3192 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3193 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
3196 OutputIdentifier(spec->__anon1.templateParameter->identifier, f);
3201 static void OutputInitializer(struct Initializer * initializer, struct __ecereNameSpace__ecere__com__Instance * f)
3203 char name[274] = "";
3204 char origName[274] = "";
3208 GetSourceName(name, initializer->loc.start.included ? GetIncludeFileFromID(initializer->loc.start.included) : (((void *)0)));
3209 __ecereNameSpace__ecere__sys__PathCat(origName, outputFile);
3210 __ecereNameSpace__ecere__sys__ChangeCh(origName, '\\', '/');
3212 if(initializer->type == 1)
3213 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3214 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3216 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3217 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3220 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3221 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3223 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3224 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ".");
3225 OutputIdentifier(initializer->id, f);
3226 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3227 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3229 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3230 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " =");
3232 switch(initializer->type)
3236 struct Initializer * init;
3239 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3240 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3242 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3243 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3244 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3245 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3247 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3248 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "{\n");
3250 if(inCompiler && outputLineNumbers && initializer->loc.start.line)
3252 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", initializer->loc.start.line, name);
3255 for(init = (*initializer->__anon1.list).first; init; init = init->next)
3257 OutputInitializer(init, f);
3259 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3260 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3262 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3263 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, init->next->type == 1 ? "," : ", ");
3265 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3266 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3268 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3269 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n}");
3270 if(inCompiler && outputLineNumbers && initializer->loc.start.line)
3272 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", initializer->loc.start.line, name);
3280 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3281 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3283 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3284 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3285 if(initializer->__anon1.exp)
3286 OutputExpression(initializer->__anon1.exp, f);
3291 static void OutputInitDeclarator(struct InitDeclarator * decl, struct __ecereNameSpace__ecere__com__Instance * f)
3293 OutputDeclarator(decl->declarator, f);
3294 if(decl->initializer)
3296 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3297 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3299 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3300 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " =");
3301 if(decl->initializer->type == 0)
3302 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3303 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3305 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3306 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3307 OutputInitializer(decl->initializer, f);
3311 extern char * strcpy(char * , const char * );
3313 static void OutputDeclaration(struct Declaration * decl, struct __ecereNameSpace__ecere__com__Instance * f)
3315 struct Specifier * spec;
3321 strcpy(origName, outputFile);
3322 __ecereNameSpace__ecere__sys__ChangeCh(origName, '\\', '/');
3324 GetSourceName(name, decl->loc.start.included ? GetIncludeFileFromID(decl->loc.start.included) : (((void *)0)));
3325 if(inCompiler && outputLineNumbers && decl->loc.start.line)
3327 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", decl->loc.start.line, name);
3334 struct InitDeclarator * d;
3336 if(decl->__anon1.__anon1.specifiers)
3338 unsigned int inTypeDef = 0x0;
3340 for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
3342 if(spec->type == 0 && spec->__anon1.specifier == TYPEDEF)
3344 OutputSpecifier(spec, f, inTypeDef && !spec->next);
3346 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3347 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3349 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3350 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3353 if(decl->__anon1.__anon1.declarators && (*decl->__anon1.__anon1.declarators).first)
3355 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3356 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3358 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3359 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3360 for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
3362 OutputInitDeclarator(d, f);
3364 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3365 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3367 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3368 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3375 if(decl->__anon1.__anon1.specifiers)
3377 for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
3379 OutputSpecifier(spec, f, 0x0);
3381 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3382 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3384 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3385 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3388 if(decl->__anon1.__anon1.declarators)
3390 struct Declarator * d;
3392 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3393 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3395 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3396 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3397 for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
3399 OutputDeclarator(d, f);
3401 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3402 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3404 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3405 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3408 if(decl->extStorage)
3410 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3411 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3413 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3414 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3415 OutputSpecifier(decl->extStorage, f, 0x0);
3420 if(decl->__anon1.inst)
3422 OutputInstance(decl->__anon1.inst, f);
3428 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3429 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3431 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3432 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";\n");
3434 if(inCompiler && outputLineNumbers && decl->loc.start.line)
3436 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", outputLine + 2, origName);
3441 static struct FunctionDefinition * curFunction;
3443 extern struct Identifier * GetDeclId(struct Declarator * decl);
3445 static void OutputFunction(struct FunctionDefinition * func, struct __ecereNameSpace__ecere__com__Instance * f)
3447 struct FunctionDefinition * oldFunc = curFunction;
3450 if(func->specifiers)
3452 struct Specifier * spec;
3454 for(spec = (*func->specifiers).first; spec; spec = spec->next)
3456 OutputSpecifier(spec, f, 0x0);
3458 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3459 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3461 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3462 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3464 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3465 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3467 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3468 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3470 if(func->declarator)
3471 OutputDeclarator(func->declarator, f);
3472 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3473 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3475 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3476 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3478 if(func->declarations)
3480 struct Declaration * decl;
3482 for(decl = (*func->declarations).first; decl; decl = decl->next)
3484 OutputDeclaration(decl, f);
3486 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3487 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3489 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3490 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3495 if(inCompiler && memoryGuard)
3497 char name[1024] = "";
3498 struct Identifier * id = GetDeclId(func->declarator);
3500 GetSourceName(name, func->loc.start.included ? GetIncludeFileFromID(func->loc.start.included) : (((void *)0)));
3501 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "{\n");
3502 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereNameSpace__ecere__com__MemoryGuard_PushLoc(\"%s:%s\");\n", name, id->string);
3505 OutputStatement(func->body, f);
3506 if(inCompiler && memoryGuard)
3508 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereNameSpace__ecere__com__MemoryGuard_PopLoc();\n");
3509 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "}\n");
3512 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3513 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3515 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3516 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3519 curFunction = oldFunc;
3522 static void OutputMemberInit(struct MemberInit * init, struct __ecereNameSpace__ecere__com__Instance * f)
3524 if(init->identifiers)
3526 if((*init->identifiers).count > 1)
3528 struct Identifier * id;
3530 for(id = (*init->identifiers).first; id; id = id->next)
3532 OutputIdentifier(id, f);
3534 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3535 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3537 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3538 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ".");
3541 else if((*init->identifiers).first)
3542 OutputIdentifier((*init->identifiers).first, f);
3543 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3544 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3546 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3547 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " =");
3548 if(init->initializer && init->initializer->type == 0)
3549 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3550 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3552 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3553 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3555 if(init->initializer)
3556 OutputInitializer(init->initializer, f);
3559 static void OutputClassFunction(struct ClassFunction * func, struct __ecereNameSpace__ecere__com__Instance * f);
3561 static void OutputMembersInit(struct MembersInit * init, struct __ecereNameSpace__ecere__com__Instance * f)
3567 struct MemberInit * member;
3569 if(init->__anon1.dataMembers)
3571 for(member = (*init->__anon1.dataMembers).first; member; member = member->next)
3573 OutputMemberInit(member, f);
3575 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3576 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3578 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3579 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3585 OutputClassFunction(init->__anon1.function, f);
3590 static void OutputInstance(struct Instantiation * inst, struct __ecereNameSpace__ecere__com__Instance * f)
3593 OutputSpecifier(inst->_class, f, 0x0);
3596 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3597 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3599 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3600 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3601 OutputExpression(inst->exp, f);
3603 if(inst->members && (*inst->members).count > 1)
3605 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3606 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3608 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3609 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n{\n");
3612 else if(inst->members)
3613 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3614 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3616 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3617 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " { ");
3619 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3620 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3622 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3623 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "{");
3626 struct MembersInit * init;
3628 for(init = (*inst->members).first; init; init = init->next)
3630 OutputMembersInit(init, f);
3631 if(init->type == 0 && init->next)
3633 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3634 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3636 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3637 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";\n");
3643 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3644 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3646 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3647 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " }");
3649 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3650 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3652 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3653 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "}");
3656 static void OutputClassFunction(struct ClassFunction * func, struct __ecereNameSpace__ecere__com__Instance * f)
3658 if(func->specifiers)
3660 struct Specifier * spec;
3662 for(spec = (*func->specifiers).first; spec; spec = spec->next)
3664 OutputSpecifier(spec, f, 0x0);
3666 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3667 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3669 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3670 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3672 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3673 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3675 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3676 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3678 if(func->declarator)
3679 OutputDeclarator(func->declarator, f);
3680 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3681 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3683 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3684 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3686 if(func->declarations)
3688 struct Declaration * decl;
3690 for(decl = (*func->declarations).first; decl; decl = decl->next)
3692 OutputDeclaration(decl, f);
3694 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3695 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3697 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3698 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3703 OutputStatement(func->body, f);
3704 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3705 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3707 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3708 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3712 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3713 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3715 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3716 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";");
3719 static void OutputClassDef(struct ClassDef * def, struct __ecereNameSpace__ecere__com__Instance * f)
3724 if(def->__anon1.decl)
3726 OutputDeclaration(def->__anon1.decl, f);
3727 if(def->next && def->next->type != 2)
3729 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3730 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3732 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3733 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3740 struct MemberInit * init;
3742 for(init = (*def->__anon1.defProperties).first; init; init = init->next)
3744 OutputMemberInit(init, f);
3746 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3747 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3749 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3750 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3752 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3753 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3755 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3756 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";\n\n");
3761 OutputClassFunction(def->__anon1.function, f);
3762 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3763 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3765 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3766 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3772 static void OutputClass(struct ClassDefinition * _class, struct __ecereNameSpace__ecere__com__Instance * f)
3774 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3775 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3777 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3778 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "class ");
3779 OutputSpecifier(_class->_class, f, 0x0);
3780 if(_class->baseSpecs)
3782 struct Specifier * spec;
3784 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3785 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3787 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3788 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " : ");
3789 for(spec = (*_class->baseSpecs).first; spec; spec = spec->next)
3791 OutputSpecifier(spec, f, 0x0);
3794 if(_class->definitions)
3796 struct ClassDef * def;
3798 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3799 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3801 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3802 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n{\n");
3804 for(def = (*_class->definitions).first; def; def = def->next)
3806 OutputClassDef(def, f);
3808 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3809 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3811 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3812 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "}\n");
3816 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3817 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3819 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3820 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";");
3823 void OutputTree(struct __ecereNameSpace__ecere__sys__OldList * ast, struct __ecereNameSpace__ecere__com__Instance * f)
3825 struct External * external;
3828 for(external = ast->first; external; external = external->next)
3830 switch(external->type)
3833 OutputFunction(external->__anon1.function, f);
3834 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3835 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3837 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3838 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3842 if(external->__anon1.declaration)
3843 OutputDeclaration(external->__anon1.declaration, f);
3844 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3845 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3847 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3848 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3852 OutputClass(external->__anon1._class, f);
3853 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3854 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3856 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3857 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3864 extern char * __ecereNameSpace__ecere__sys__TrimRSpaces(const char * string, char * output);
3866 extern void * __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
3868 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
3870 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize;
3872 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
3874 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
3876 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
3878 char * StringFromSpecDecl(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl)
3881 struct TypeName * typeName = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TypeName);
3882 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__TempFile);
3885 typeName->qualifiers = specs;
3886 typeName->declarator = decl;
3887 OutputTypeName(typeName, f, 0x1);
3888 ((typeName ? (__ecereClass_TypeName->Destructor ? __ecereClass_TypeName->Destructor((void *)typeName) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(typeName)) : 0), typeName = 0);
3889 size = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
3890 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3892 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3893 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize])(f);
3894 string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (size + 1));
3895 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3896 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3898 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3899 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, 0, 0);
3900 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
3901 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3903 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3904 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, string, 1, (unsigned int)size);
3905 string[size] = '\0';
3906 __ecereNameSpace__ecere__sys__TrimRSpaces(string, string);
3907 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
3911 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
3913 struct __ecereNameSpace__ecere__com__GlobalFunction;
3915 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);
3917 void __ecereRegisterModule_output(struct __ecereNameSpace__ecere__com__Instance * module)
3919 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
3921 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetMemoryGuard", "void SetMemoryGuard(bool b)", SetMemoryGuard, module, 1);
3922 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetMemoryGuard", "bool GetMemoryGuard(void)", GetMemoryGuard, module, 1);
3923 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OutputTypeName", "void OutputTypeName(TypeName type, ecere::sys::File f, bool typeName)", OutputTypeName, module, 1);
3924 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OutputExpression", "void OutputExpression(Expression exp, ecere::sys::File f)", OutputExpression, module, 1);
3925 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OutputTree", "void OutputTree(ecere::sys::OldList ast, ecere::sys::File f)", OutputTree, module, 1);
3926 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("StringFromSpecDecl", "char * StringFromSpecDecl(ecere::sys::OldList specs, Declarator decl)", StringFromSpecDecl, module, 1);
3929 void __ecereUnregisterModule_output(struct __ecereNameSpace__ecere__com__Instance * module)