1 /* Code generated from eC source file: output.ec */
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
7 #define __runtimePlatform 2
10 typedef long long int64;
11 typedef unsigned long long uint64;
15 #elif defined(__TINYC__)
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
27 typedef long long int64;
28 typedef unsigned long long uint64;
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
34 #define __ENDIAN_PAD(x) (8 - (x))
36 #define __ENDIAN_PAD(x) 0
39 #include <sys/types.h>
42 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, WIDE_STRING_LITERAL = 373
47 unsigned int memoryGuard = 0;
49 extern unsigned int inCompiler;
51 extern unsigned int outputLineNumbers;
53 extern const char * sourceFile;
55 extern const char * outputFile;
57 struct __ecereNameSpace__ecere__sys__OldList
64 } __attribute__ ((gcc_struct));
66 struct __ecereNameSpace__ecere__sys__BTNode;
68 struct __ecereNameSpace__ecere__com__DataValue
83 } __attribute__ ((gcc_struct)) __anon1;
84 } __attribute__ ((gcc_struct));
86 struct __ecereNameSpace__ecere__com__SerialBuffer
88 unsigned char * _buffer;
92 } __attribute__ ((gcc_struct));
94 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
96 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
98 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
100 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
102 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
108 struct PropertyWatch;
110 struct TemplateArgument;
124 } __attribute__ ((gcc_struct));
126 extern int strcmp(const char * , const char * );
128 extern char * GetIncludeFileFromID(int id);
130 extern char * strchr(const char * , int);
132 extern char * __ecereNameSpace__ecere__sys__StripLastDirectory(const char * string, char * output);
134 extern char * __ecereNameSpace__ecere__sys__PathCat(char * string, const char * addedPath);
136 extern void __ecereNameSpace__ecere__sys__ChangeCh(char * string, char ch1, char ch2);
138 extern char * strcpy(char * , const char * );
144 struct __ecereNameSpace__ecere__com__LinkList
149 } __attribute__ ((gcc_struct));
151 extern char * __ecereNameSpace__ecere__sys__TrimRSpaces(const char * string, char * output);
153 struct __ecereNameSpace__ecere__com__GlobalFunction;
155 void SetMemoryGuard(unsigned int b)
160 unsigned int GetMemoryGuard()
165 extern struct __ecereNameSpace__ecere__sys__OldList * MkList(void);
167 extern struct __ecereNameSpace__ecere__sys__OldList * CopyList(struct __ecereNameSpace__ecere__sys__OldList * source, void * (* CopyFunction)(void * ));
169 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void * item);
173 struct CodePosition start;
174 struct CodePosition end;
175 } __attribute__ ((gcc_struct));
177 static void GetSourceName(char * name, const char * src)
182 if(!strchr(src, '/') && !strchr(src, '\\'))
183 __ecereNameSpace__ecere__sys__StripLastDirectory(sourceFile, name);
184 __ecereNameSpace__ecere__sys__PathCat(name, src);
187 __ecereNameSpace__ecere__sys__PathCat(name, sourceFile);
188 __ecereNameSpace__ecere__sys__ChangeCh(name, '\\', '/');
191 extern struct Location yylloc;
197 struct __ecereNameSpace__ecere__sys__OldList * attribs;
198 } __attribute__ ((gcc_struct));
207 struct Attrib * attr;
208 } __attribute__ ((gcc_struct)) __anon1;
209 } __attribute__ ((gcc_struct));
213 extern void ProcessExpressionType(struct Expression * exp);
215 extern void ComputeExpression(struct Expression * exp);
217 struct FunctionDefinition;
219 static struct FunctionDefinition * curFunction;
221 struct __ecereNameSpace__ecere__com__Class;
223 struct __ecereNameSpace__ecere__com__Instance
226 struct __ecereNameSpace__ecere__com__Class * _class;
228 } __attribute__ ((gcc_struct));
230 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name);
232 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value);
234 extern void * __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
236 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function);
238 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
240 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts;
242 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Putc;
244 int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, const char * format, ...);
246 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize;
248 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
250 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
252 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
254 struct __ecereNameSpace__ecere__com__Property;
256 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
258 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);
260 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * ));
262 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
266 extern struct Identifier * MkIdentifier(const char * string);
270 extern struct Specifier * CopySpecifier(struct Specifier * spec);
272 extern struct Specifier * MkSpecifierName(const char * name);
276 extern struct Declarator * SpecDeclFromString(const char * string, struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * baseDecl);
278 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
280 struct TemplateDatatype
282 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
283 struct Declarator * decl;
284 } __attribute__ ((gcc_struct));
286 extern struct Declarator * PlugDeclarator(struct Declarator * decl, struct Declarator * baseDecl);
288 extern struct Identifier * GetDeclId(struct Declarator * decl);
292 struct __ecereNameSpace__ecere__com__Property
294 struct __ecereNameSpace__ecere__com__Property * prev;
295 struct __ecereNameSpace__ecere__com__Property * next;
297 unsigned int isProperty;
300 struct __ecereNameSpace__ecere__com__Class * _class;
301 const char * dataTypeString;
302 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
303 struct Type * dataType;
304 void (* Set)(void * , int);
305 int (* Get)(void * );
306 unsigned int (* IsSet)(void * );
310 unsigned int conversion;
311 unsigned int watcherOffset;
312 const char * category;
313 unsigned int compiled;
314 unsigned int selfWatchable;
315 unsigned int isWatchable;
316 } __attribute__ ((gcc_struct));
318 extern void PrintType(struct Type * type, char * string, unsigned int printName, unsigned int fullName);
324 struct TypeName * prev;
325 struct TypeName * next;
327 struct __ecereNameSpace__ecere__sys__OldList * qualifiers;
328 struct Declarator * declarator;
330 struct Expression * bitCount;
331 } __attribute__ ((gcc_struct));
333 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
335 extern void InstDeclPassTypeName(struct TypeName * type, unsigned int param);
337 extern void FreeTypeName(struct TypeName * typeName);
343 struct Identifier * prev;
344 struct Identifier * next;
346 struct Symbol * classSym;
347 struct Specifier * _class;
349 struct Identifier * badID;
350 } __attribute__ ((gcc_struct));
352 extern struct Symbol * FindClass(const char * name);
354 struct __ecereNameSpace__ecere__sys__BinaryTree;
356 struct __ecereNameSpace__ecere__sys__BinaryTree
358 struct __ecereNameSpace__ecere__sys__BTNode * root;
360 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
361 void (* FreeKey)(void * key);
362 } __attribute__ ((gcc_struct));
368 struct Pointer * prev;
369 struct Pointer * next;
371 struct __ecereNameSpace__ecere__sys__OldList * qualifiers;
372 struct Pointer * pointer;
373 } __attribute__ ((gcc_struct));
377 struct Declarator * prev;
378 struct Declarator * next;
381 struct Symbol * symbol;
382 struct Declarator * declarator;
385 struct Identifier * identifier;
388 struct Expression * exp;
389 struct Expression * posExp;
390 struct Attrib * attrib;
391 } __attribute__ ((gcc_struct)) structDecl;
394 struct Expression * exp;
395 struct Specifier * enumClass;
396 } __attribute__ ((gcc_struct)) array;
399 struct __ecereNameSpace__ecere__sys__OldList * parameters;
400 } __attribute__ ((gcc_struct)) function;
403 struct Pointer * pointer;
404 } __attribute__ ((gcc_struct)) pointer;
407 struct ExtDecl * extended;
408 } __attribute__ ((gcc_struct)) extended;
409 } __attribute__ ((gcc_struct)) __anon1;
410 } __attribute__ ((gcc_struct));
420 struct Attribute * prev;
421 struct Attribute * next;
424 struct Expression * exp;
425 } __attribute__ ((gcc_struct));
427 struct __ecereNameSpace__ecere__com__Module;
429 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);
431 struct __ecereNameSpace__ecere__com__DataMember;
433 struct __ecereNameSpace__ecere__com__DataMember
435 struct __ecereNameSpace__ecere__com__DataMember * prev;
436 struct __ecereNameSpace__ecere__com__DataMember * next;
438 unsigned int isProperty;
441 struct __ecereNameSpace__ecere__com__Class * _class;
442 const char * dataTypeString;
443 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
444 struct Type * dataType;
448 struct __ecereNameSpace__ecere__sys__OldList members;
449 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
451 short structAlignment;
452 short pointerAlignment;
453 } __attribute__ ((gcc_struct));
459 struct AsmField * prev;
460 struct AsmField * next;
463 struct Expression * expression;
464 struct Identifier * symbolic;
465 } __attribute__ ((gcc_struct));
471 struct Enumerator * prev;
472 struct Enumerator * next;
474 struct Identifier * id;
475 struct Expression * exp;
476 } __attribute__ ((gcc_struct));
484 struct Initializer * prev;
485 struct Initializer * next;
490 struct Expression * exp;
491 struct __ecereNameSpace__ecere__sys__OldList * list;
492 } __attribute__ ((gcc_struct)) __anon1;
493 unsigned int isConstant;
494 struct Identifier * id;
495 } __attribute__ ((gcc_struct));
499 struct MemberInit * prev;
500 struct MemberInit * next;
502 struct Location realLoc;
503 struct __ecereNameSpace__ecere__sys__OldList * identifiers;
504 struct Initializer * initializer;
506 unsigned int variable;
507 unsigned int takeOutExp;
508 } __attribute__ ((gcc_struct));
512 struct FunctionDefinition
514 struct FunctionDefinition * prev;
515 struct FunctionDefinition * next;
517 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
518 struct Declarator * declarator;
519 struct __ecereNameSpace__ecere__sys__OldList * declarations;
520 struct Statement * body;
521 struct __ecereNameSpace__ecere__com__Class * _class;
522 struct __ecereNameSpace__ecere__sys__OldList attached;
525 struct Symbol * propSet;
527 unsigned int propertyNoThis;
528 } __attribute__ ((gcc_struct));
530 struct __ecereNameSpace__ecere__com__Method;
532 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
538 const char * dataTypeString;
539 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
540 } __attribute__ ((gcc_struct)) __anon1;
541 struct __ecereNameSpace__ecere__com__DataValue expression;
544 const char * memberString;
547 struct __ecereNameSpace__ecere__com__DataMember * member;
548 struct __ecereNameSpace__ecere__com__Property * prop;
549 struct __ecereNameSpace__ecere__com__Method * method;
550 } __attribute__ ((gcc_struct)) __anon1;
551 } __attribute__ ((gcc_struct)) __anon2;
552 } __attribute__ ((gcc_struct)) __anon1;
553 } __attribute__ ((gcc_struct));
555 struct __ecereNameSpace__ecere__com__Method
558 struct __ecereNameSpace__ecere__com__Method * parent;
559 struct __ecereNameSpace__ecere__com__Method * left;
560 struct __ecereNameSpace__ecere__com__Method * right;
565 struct __ecereNameSpace__ecere__com__Class * _class;
567 const char * dataTypeString;
568 struct Type * dataType;
570 } __attribute__ ((gcc_struct));
572 struct TemplateParameter;
576 struct Specifier * prev;
577 struct Specifier * next;
585 struct ExtDecl * extDecl;
587 struct Symbol * symbol;
588 struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
589 struct Specifier * nsSpec;
590 } __attribute__ ((gcc_struct)) __anon1;
593 struct Identifier * id;
594 struct __ecereNameSpace__ecere__sys__OldList * list;
595 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
596 struct __ecereNameSpace__ecere__sys__OldList * definitions;
597 unsigned int addNameSpace;
598 struct Context * ctx;
599 struct ExtDecl * extDeclStruct;
600 } __attribute__ ((gcc_struct)) __anon2;
601 struct Expression * expression;
602 struct Specifier * _class;
603 struct TemplateParameter * templateParameter;
604 } __attribute__ ((gcc_struct)) __anon1;
605 } __attribute__ ((gcc_struct));
607 struct TemplateParameter
609 struct TemplateParameter * prev;
610 struct TemplateParameter * next;
613 struct Identifier * identifier;
616 struct TemplateDatatype * dataType;
618 } __attribute__ ((gcc_struct)) __anon1;
619 struct TemplateArgument * defaultArgument;
620 const char * dataTypeString;
621 struct Type * baseType;
622 } __attribute__ ((gcc_struct));
631 struct Symbol * _class;
634 struct __ecereNameSpace__ecere__sys__OldList members;
636 } __attribute__ ((gcc_struct)) __anon1;
639 struct Type * returnType;
640 struct __ecereNameSpace__ecere__sys__OldList params;
641 struct Symbol * thisClass;
642 unsigned int staticMethod;
643 struct TemplateParameter * thisClassTemplate;
644 } __attribute__ ((gcc_struct)) __anon2;
647 struct __ecereNameSpace__ecere__com__Method * method;
648 struct __ecereNameSpace__ecere__com__Class * methodClass;
649 struct __ecereNameSpace__ecere__com__Class * usedClass;
650 } __attribute__ ((gcc_struct)) __anon3;
653 struct Type * arrayType;
655 struct Expression * arraySizeExp;
656 unsigned int freeExp;
657 struct Symbol * enumClass;
658 } __attribute__ ((gcc_struct)) __anon4;
660 struct TemplateParameter * templateParameter;
661 } __attribute__ ((gcc_struct)) __anon1;
666 struct __ecereNameSpace__ecere__com__Class * thisClassFrom;
672 unsigned int isSigned : 1;
673 unsigned int constant : 1;
674 unsigned int truth : 1;
675 unsigned int byReference : 1;
676 unsigned int extraParam : 1;
677 unsigned int directClassAccess : 1;
678 unsigned int computing : 1;
679 unsigned int keepCast : 1;
680 unsigned int passAsTemplate : 1;
681 unsigned int dllExport : 1;
682 unsigned int attrStdcall : 1;
683 unsigned int declaredWithStruct : 1;
684 unsigned int typedByReference : 1;
685 unsigned int casted : 1;
686 unsigned int pointerAlignment : 1;
687 } __attribute__ ((gcc_struct));
693 struct Statement * prev;
694 struct Statement * next;
699 struct __ecereNameSpace__ecere__sys__OldList * expressions;
702 struct Identifier * id;
703 struct Statement * stmt;
704 } __attribute__ ((gcc_struct)) labeled;
707 struct Expression * exp;
708 struct Statement * stmt;
709 } __attribute__ ((gcc_struct)) caseStmt;
712 struct __ecereNameSpace__ecere__sys__OldList * declarations;
713 struct __ecereNameSpace__ecere__sys__OldList * statements;
714 struct Context * context;
715 unsigned int isSwitch;
716 } __attribute__ ((gcc_struct)) compound;
719 struct __ecereNameSpace__ecere__sys__OldList * exp;
720 struct Statement * stmt;
721 struct Statement * elseStmt;
722 } __attribute__ ((gcc_struct)) ifStmt;
725 struct __ecereNameSpace__ecere__sys__OldList * exp;
726 struct Statement * stmt;
727 } __attribute__ ((gcc_struct)) switchStmt;
730 struct __ecereNameSpace__ecere__sys__OldList * exp;
731 struct Statement * stmt;
732 } __attribute__ ((gcc_struct)) whileStmt;
735 struct __ecereNameSpace__ecere__sys__OldList * exp;
736 struct Statement * stmt;
737 } __attribute__ ((gcc_struct)) doWhile;
740 struct Statement * init;
741 struct Statement * check;
742 struct __ecereNameSpace__ecere__sys__OldList * increment;
743 struct Statement * stmt;
744 } __attribute__ ((gcc_struct)) forStmt;
747 struct Identifier * id;
748 } __attribute__ ((gcc_struct)) gotoStmt;
751 struct Specifier * spec;
753 struct __ecereNameSpace__ecere__sys__OldList * inputFields;
754 struct __ecereNameSpace__ecere__sys__OldList * outputFields;
755 struct __ecereNameSpace__ecere__sys__OldList * clobberedFields;
756 } __attribute__ ((gcc_struct)) asmStmt;
759 struct Expression * watcher;
760 struct Expression * object;
761 struct __ecereNameSpace__ecere__sys__OldList * watches;
762 } __attribute__ ((gcc_struct)) _watch;
765 struct Identifier * id;
766 struct __ecereNameSpace__ecere__sys__OldList * exp;
767 struct __ecereNameSpace__ecere__sys__OldList * filter;
768 struct Statement * stmt;
769 } __attribute__ ((gcc_struct)) forEachStmt;
770 struct Declaration * decl;
771 } __attribute__ ((gcc_struct)) __anon1;
772 } __attribute__ ((gcc_struct));
774 struct Instantiation;
778 struct Expression * prev;
779 struct Expression * next;
787 struct Identifier * identifier;
788 } __attribute__ ((gcc_struct)) __anon1;
789 struct Statement * compound;
790 struct Instantiation * instance;
794 unsigned int intlString;
795 unsigned int wideString;
796 } __attribute__ ((gcc_struct)) __anon2;
797 struct __ecereNameSpace__ecere__sys__OldList * list;
800 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
801 struct Declarator * decl;
802 } __attribute__ ((gcc_struct)) _classExp;
805 struct Identifier * id;
806 } __attribute__ ((gcc_struct)) classData;
809 struct Expression * exp;
810 struct __ecereNameSpace__ecere__sys__OldList * arguments;
811 struct Location argLoc;
812 } __attribute__ ((gcc_struct)) call;
815 struct Expression * exp;
816 struct __ecereNameSpace__ecere__sys__OldList * index;
817 } __attribute__ ((gcc_struct)) index;
820 struct Expression * exp;
821 struct Identifier * member;
823 unsigned int thisPtr;
824 } __attribute__ ((gcc_struct)) member;
828 struct Expression * exp1;
829 struct Expression * exp2;
830 } __attribute__ ((gcc_struct)) op;
831 struct TypeName * typeName;
832 struct Specifier * _class;
835 struct TypeName * typeName;
836 struct Expression * exp;
837 } __attribute__ ((gcc_struct)) cast;
840 struct Expression * cond;
841 struct __ecereNameSpace__ecere__sys__OldList * exp;
842 struct Expression * elseExp;
843 } __attribute__ ((gcc_struct)) cond;
846 struct TypeName * typeName;
847 struct Expression * size;
848 } __attribute__ ((gcc_struct)) _new;
851 struct TypeName * typeName;
852 struct Expression * size;
853 struct Expression * exp;
854 } __attribute__ ((gcc_struct)) _renew;
858 struct Identifier * id;
859 } __attribute__ ((gcc_struct)) db;
862 struct Expression * ds;
863 struct Expression * name;
864 } __attribute__ ((gcc_struct)) dbopen;
867 struct TypeName * typeName;
868 struct Initializer * initializer;
869 } __attribute__ ((gcc_struct)) initializer;
872 struct Expression * exp;
873 struct TypeName * typeName;
874 } __attribute__ ((gcc_struct)) vaArg;
875 } __attribute__ ((gcc_struct)) __anon1;
876 unsigned int debugValue;
877 struct __ecereNameSpace__ecere__com__DataValue val;
879 unsigned int hasAddress;
880 struct Type * expType;
881 struct Type * destType;
884 unsigned int byReference;
885 unsigned int isConstant;
886 unsigned int addedThis;
887 unsigned int needCast;
888 unsigned int thisPtr;
889 unsigned int opDestType;
890 unsigned int needTemplateCast;
891 } __attribute__ ((gcc_struct));
895 struct Declaration * prev;
896 struct Declaration * next;
903 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
904 struct __ecereNameSpace__ecere__sys__OldList * declarators;
905 } __attribute__ ((gcc_struct)) __anon1;
906 struct Instantiation * inst;
909 struct Identifier * id;
910 struct Expression * exp;
911 } __attribute__ ((gcc_struct)) __anon2;
912 } __attribute__ ((gcc_struct)) __anon1;
913 struct Specifier * extStorage;
914 struct Symbol * symbol;
916 } __attribute__ ((gcc_struct));
920 struct Instantiation * prev;
921 struct Instantiation * next;
923 struct Specifier * _class;
924 struct Expression * exp;
925 struct __ecereNameSpace__ecere__sys__OldList * members;
926 struct Symbol * symbol;
927 unsigned int fullSet;
928 unsigned int isConstant;
929 unsigned char * data;
930 struct Location nameLoc;
931 struct Location insideLoc;
933 } __attribute__ ((gcc_struct));
935 struct ClassDefinition;
937 struct ClassDefinition
939 struct ClassDefinition * prev;
940 struct ClassDefinition * next;
942 struct Specifier * _class;
943 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
944 struct __ecereNameSpace__ecere__sys__OldList * definitions;
945 struct Symbol * symbol;
946 struct Location blockStart;
947 struct Location nameLoc;
949 unsigned int deleteWatchable;
950 } __attribute__ ((gcc_struct));
952 struct __ecereNameSpace__ecere__com__NameSpace;
954 struct __ecereNameSpace__ecere__com__NameSpace
957 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
958 struct __ecereNameSpace__ecere__com__NameSpace * left;
959 struct __ecereNameSpace__ecere__com__NameSpace * right;
961 struct __ecereNameSpace__ecere__com__NameSpace * parent;
962 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
963 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
964 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
965 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
966 } __attribute__ ((gcc_struct));
968 struct __ecereNameSpace__ecere__com__Class
970 struct __ecereNameSpace__ecere__com__Class * prev;
971 struct __ecereNameSpace__ecere__com__Class * next;
977 unsigned int (* Constructor)(void * );
978 void (* Destructor)(void * );
981 struct __ecereNameSpace__ecere__com__Class * base;
982 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
983 struct __ecereNameSpace__ecere__sys__BinaryTree members;
984 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
985 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
986 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
987 struct __ecereNameSpace__ecere__sys__OldList derivatives;
991 struct __ecereNameSpace__ecere__com__Instance * module;
992 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
993 const char * dataTypeString;
994 struct Type * dataType;
996 int defaultAlignment;
997 void (* Initialize)();
999 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
1000 const char * designerClass;
1001 unsigned int noExpansion;
1002 const char * defaultProperty;
1003 unsigned int comRedefinition;
1006 unsigned int internalDecl;
1008 unsigned int computeSize;
1009 short structAlignment;
1010 short pointerAlignment;
1011 int destructionWatchOffset;
1013 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
1014 int inheritanceAccess;
1015 const char * fullName;
1017 struct __ecereNameSpace__ecere__sys__OldList conversions;
1018 struct __ecereNameSpace__ecere__sys__OldList templateParams;
1019 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
1020 struct __ecereNameSpace__ecere__com__Class * templateClass;
1021 struct __ecereNameSpace__ecere__sys__OldList templatized;
1023 unsigned int isInstanceClass;
1024 unsigned int byValueSystemClass;
1025 } __attribute__ ((gcc_struct));
1027 struct __ecereNameSpace__ecere__com__Application
1030 const char * * argv;
1032 unsigned int isGUIApp;
1033 struct __ecereNameSpace__ecere__sys__OldList allModules;
1034 char * parsedCommand;
1035 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
1036 } __attribute__ ((gcc_struct));
1038 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TypeName;
1040 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
1042 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
1044 struct __ecereNameSpace__ecere__com__Module
1046 struct __ecereNameSpace__ecere__com__Instance * application;
1047 struct __ecereNameSpace__ecere__sys__OldList classes;
1048 struct __ecereNameSpace__ecere__sys__OldList defines;
1049 struct __ecereNameSpace__ecere__sys__OldList functions;
1050 struct __ecereNameSpace__ecere__sys__OldList modules;
1051 struct __ecereNameSpace__ecere__com__Instance * prev;
1052 struct __ecereNameSpace__ecere__com__Instance * next;
1058 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
1059 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
1060 } __attribute__ ((gcc_struct));
1062 static void OutputIdentifier(struct Identifier * id, struct __ecereNameSpace__ecere__com__Instance * f)
1068 if(id->_class->type == 8)
1070 if(id->_class->__anon1.templateParameter && id->_class->__anon1.templateParameter->identifier && id->_class->__anon1.templateParameter->identifier->string)
1071 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1072 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1074 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1075 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, id->_class->__anon1.templateParameter->identifier->string);
1079 if(id->_class->__anon1.__anon1.name)
1081 if(!strcmp(id->_class->__anon1.__anon1.name, "class"))
1082 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1083 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1085 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1086 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "typed_object");
1088 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1089 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1091 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1092 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, id->_class->__anon1.__anon1.name);
1095 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1096 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1098 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1099 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "::");
1102 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1103 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1105 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1106 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, (id && id->string) ? id->string : "(null identifier)");
1109 static void OutputOperator(int op, struct __ecereNameSpace__ecere__com__Instance * f)
1114 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1115 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1117 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1118 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "++");
1121 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1122 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1124 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1125 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "--");
1128 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1129 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1131 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1132 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "sizeof ");
1135 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1136 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1138 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1139 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "<<");
1142 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1143 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1145 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1146 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ">>");
1149 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1150 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1152 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1153 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "<=");
1156 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1157 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1159 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1160 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ">=");
1163 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1164 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1166 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1167 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "==");
1170 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1171 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1173 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1174 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "!=");
1177 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1178 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1180 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1181 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "&&");
1184 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1185 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1187 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1188 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "||");
1191 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1192 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1194 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1195 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "*=");
1198 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1199 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1201 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1202 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "/=");
1205 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1206 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1208 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1209 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "%=");
1212 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1213 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1215 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1216 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "+=");
1219 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1220 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1222 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1223 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "-=");
1226 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1227 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1229 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1230 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "<<=");
1233 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1234 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1236 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1237 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ">>=");
1240 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1241 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1243 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1244 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "&=");
1247 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1248 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1250 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1251 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "^=");
1254 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1255 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1257 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1258 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "|=");
1273 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char ch))__extension__ ({
1274 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1276 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1277 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Putc])(f, (char)op);
1280 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1281 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1283 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1284 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "delete ");
1289 void __ecereUnregisterModule_output(struct __ecereNameSpace__ecere__com__Instance * module)
1294 struct ClassFunction;
1298 struct ClassDef * prev;
1299 struct ClassDef * next;
1300 struct Location loc;
1304 struct Declaration * decl;
1305 struct ClassFunction * function;
1306 struct __ecereNameSpace__ecere__sys__OldList * defProperties;
1307 struct PropertyDef * propertyDef;
1308 struct PropertyWatch * propertyWatch;
1310 struct Identifier * defaultProperty;
1313 struct Identifier * id;
1314 struct Initializer * initializer;
1315 } __attribute__ ((gcc_struct)) __anon1;
1316 } __attribute__ ((gcc_struct)) __anon1;
1319 } __attribute__ ((gcc_struct));
1323 struct MembersInit * prev;
1324 struct MembersInit * next;
1325 struct Location loc;
1329 struct __ecereNameSpace__ecere__sys__OldList * dataMembers;
1330 struct ClassFunction * function;
1331 } __attribute__ ((gcc_struct)) __anon1;
1332 } __attribute__ ((gcc_struct));
1334 struct ClassFunction
1336 struct ClassFunction * prev;
1337 struct ClassFunction * next;
1338 struct Location loc;
1339 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1340 struct Declarator * declarator;
1341 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1342 struct Statement * body;
1343 struct __ecereNameSpace__ecere__com__Class * _class;
1344 struct __ecereNameSpace__ecere__sys__OldList attached;
1347 struct Symbol * propSet;
1348 unsigned int isVirtual;
1349 unsigned int isConstructor;
1350 unsigned int isDestructor;
1351 unsigned int dontMangle;
1354 } __attribute__ ((gcc_struct));
1356 struct InitDeclarator;
1358 struct InitDeclarator
1360 struct InitDeclarator * prev;
1361 struct InitDeclarator * next;
1362 struct Location loc;
1363 struct Declarator * declarator;
1364 struct Initializer * initializer;
1365 } __attribute__ ((gcc_struct));
1369 typedef union YYSTYPE
1374 struct Identifier * id;
1375 struct Expression * exp;
1376 struct Specifier * specifier;
1377 struct __ecereNameSpace__ecere__sys__OldList * list;
1378 struct Enumerator * enumerator;
1379 struct Declarator * declarator;
1380 struct Pointer * pointer;
1381 struct Initializer * initializer;
1382 struct InitDeclarator * initDeclarator;
1383 struct TypeName * typeName;
1384 struct Declaration * declaration;
1385 struct Statement * stmt;
1386 struct FunctionDefinition * function;
1387 struct External * external;
1388 struct Context * context;
1389 struct AsmField * asmField;
1390 struct Attrib * attrib;
1391 struct ExtDecl * extDecl;
1392 struct Attribute * attribute;
1393 struct Instantiation * instance;
1394 struct MembersInit * membersInit;
1395 struct MemberInit * memberInit;
1396 struct ClassFunction * classFunction;
1397 struct ClassDefinition * _class;
1398 struct ClassDef * classDef;
1399 struct PropertyDef * prop;
1401 struct Symbol * symbol;
1402 struct PropertyWatch * propertyWatch;
1403 struct TemplateParameter * templateParameter;
1404 struct TemplateArgument * templateArgument;
1405 struct TemplateDatatype * templateDatatype;
1406 struct DBTableEntry * dbtableEntry;
1407 struct DBIndexItem * dbindexItem;
1408 struct DBTableDef * dbtableDef;
1409 } __attribute__ ((gcc_struct)) YYSTYPE;
1411 extern YYSTYPE yylval;
1416 struct Symbol * parent;
1417 struct Symbol * left;
1418 struct Symbol * right;
1423 struct __ecereNameSpace__ecere__com__Method * method;
1424 struct __ecereNameSpace__ecere__com__Property * _property;
1425 struct __ecereNameSpace__ecere__com__Class * registered;
1426 } __attribute__ ((gcc_struct)) __anon1;
1427 unsigned int notYetDeclared;
1432 struct External * pointerExternal;
1433 struct External * structExternal;
1434 } __attribute__ ((gcc_struct)) __anon1;
1437 struct External * externalGet;
1438 struct External * externalSet;
1439 struct External * externalPtr;
1440 struct External * externalIsSet;
1441 } __attribute__ ((gcc_struct)) __anon2;
1444 struct External * methodExternal;
1445 struct External * methodCodeExternal;
1446 } __attribute__ ((gcc_struct)) __anon3;
1447 } __attribute__ ((gcc_struct)) __anon2;
1448 unsigned int imported;
1449 unsigned int declaredStructSym;
1450 struct __ecereNameSpace__ecere__com__Class * _class;
1451 unsigned int declaredStruct;
1452 unsigned int needConstructor;
1453 unsigned int needDestructor;
1454 char * constructorName;
1457 char * destructorName;
1458 struct ModuleImport * module;
1459 struct ClassImport * _import;
1460 struct Location nameLoc;
1461 unsigned int isParam;
1462 unsigned int isRemote;
1463 unsigned int isStruct;
1464 unsigned int fireWatchersDone;
1466 unsigned int classData;
1467 unsigned int isStatic;
1469 struct __ecereNameSpace__ecere__sys__OldList * templateParams;
1470 struct __ecereNameSpace__ecere__sys__OldList templatedClasses;
1471 struct Context * ctx;
1473 struct Expression * propCategory;
1474 unsigned int mustRegister;
1475 } __attribute__ ((gcc_struct));
1479 struct External * prev;
1480 struct External * next;
1481 struct Location loc;
1483 struct Symbol * symbol;
1486 struct FunctionDefinition * function;
1487 struct ClassDefinition * _class;
1488 struct Declaration * declaration;
1489 char * importString;
1490 struct Identifier * id;
1491 struct DBTableDef * table;
1492 } __attribute__ ((gcc_struct)) __anon1;
1494 struct External * fwdDecl;
1495 struct __ecereNameSpace__ecere__com__Instance * outgoing;
1496 struct __ecereNameSpace__ecere__com__Instance * incoming;
1497 int nonBreakableIncoming;
1498 } __attribute__ ((gcc_struct));
1500 static void OutputSpecifier(struct Specifier * spec, struct __ecereNameSpace__ecere__com__Instance * f, unsigned int typeName);
1502 static void OutputPointer(struct Pointer * ptr, struct __ecereNameSpace__ecere__com__Instance * f)
1504 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1505 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1507 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1508 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "*");
1511 struct Specifier * spec;
1513 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1514 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1516 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1517 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1518 for(spec = (*ptr->qualifiers).first; spec; spec = spec->next)
1520 OutputSpecifier(spec, f, 0);
1522 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1523 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1525 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1526 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1531 OutputPointer(ptr->pointer, f);
1535 void OutputExpression(struct Expression * exp, struct __ecereNameSpace__ecere__com__Instance * f);
1537 static void OutputAsmField(struct AsmField * field, struct __ecereNameSpace__ecere__com__Instance * f)
1541 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1542 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1544 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1545 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
1546 OutputIdentifier(field->symbolic, f);
1547 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1548 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1550 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1551 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
1553 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1554 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1556 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1557 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, field->command);
1558 if(field->expression)
1560 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1561 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1563 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1564 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
1565 OutputExpression(field->expression, f);
1566 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1567 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1569 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1570 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
1574 static void OutputEnumerator(struct Enumerator * enumerator, struct __ecereNameSpace__ecere__com__Instance * f)
1576 OutputIdentifier(enumerator->id, f);
1579 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1580 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1582 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1583 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " = ");
1584 OutputExpression(enumerator->exp, f);
1588 static void OutputAttribute(struct Attribute * attr, struct __ecereNameSpace__ecere__com__Instance * f)
1591 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1592 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1594 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1595 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, attr->attr);
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, " ");
1603 OutputExpression(attr->exp, f);
1607 static void OutputInitializer(struct Initializer * initializer, struct __ecereNameSpace__ecere__com__Instance * f)
1609 char name[274] = "";
1610 char origName[274] = "";
1614 GetSourceName(name, initializer->loc.start.included ? GetIncludeFileFromID(initializer->loc.start.included) : (((void *)0)));
1615 __ecereNameSpace__ecere__sys__PathCat(origName, outputFile);
1616 __ecereNameSpace__ecere__sys__ChangeCh(origName, '\\', '/');
1618 if(initializer->type == 1)
1619 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1620 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1622 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1623 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
1626 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1627 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1629 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1630 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ".");
1631 OutputIdentifier(initializer->id, f);
1632 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1633 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1635 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1636 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " =");
1638 switch(initializer->type)
1642 struct Initializer * init;
1645 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1646 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1648 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1649 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1650 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1651 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1653 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1654 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "{\n");
1656 if(inCompiler && outputLineNumbers && initializer->loc.start.line)
1658 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", initializer->loc.start.line, name);
1661 for(init = (*initializer->__anon1.list).first; init; init = init->next)
1663 OutputInitializer(init, f);
1665 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1666 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1668 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1669 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, init->next->type == 1 ? "," : ", ");
1671 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1672 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1674 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1675 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n}");
1676 if(inCompiler && outputLineNumbers && initializer->loc.start.line)
1678 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", initializer->loc.start.line, name);
1686 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1687 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1689 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1690 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1691 if(initializer->__anon1.exp)
1692 OutputExpression(initializer->__anon1.exp, f);
1697 static void OutputAttrib(struct Attrib * attr, struct __ecereNameSpace__ecere__com__Instance * f)
1702 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1703 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1705 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1706 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__attribute__((");
1709 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1710 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1712 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1713 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__attribute((");
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, "__attribute_deprecated__((");
1725 struct Attribute * attrib;
1727 for(attrib = (*attr->attribs).first; attrib; attrib = attrib->next)
1730 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1731 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1733 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1734 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1735 OutputAttribute(attrib, f);
1738 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1739 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1741 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1742 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "))");
1745 static void OutputMemberInit(struct MemberInit * init, struct __ecereNameSpace__ecere__com__Instance * f)
1747 if(init->identifiers)
1749 if((*init->identifiers).count > 1)
1751 struct Identifier * id;
1753 for(id = (*init->identifiers).first; id; id = id->next)
1755 OutputIdentifier(id, f);
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 else if((*init->identifiers).first)
1765 OutputIdentifier((*init->identifiers).first, f);
1766 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1767 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1769 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1770 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " =");
1771 if(init->initializer && init->initializer->type == 0)
1772 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1773 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1775 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1776 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1778 if(init->initializer)
1779 OutputInitializer(init->initializer, f);
1782 static void OutputExtDecl(struct ExtDecl * extDecl, struct __ecereNameSpace__ecere__com__Instance * f)
1784 if(extDecl->type == 0 && extDecl->__anon1.s)
1785 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1786 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1788 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1789 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, extDecl->__anon1.s);
1790 else if(extDecl->type == 1)
1791 OutputAttrib(extDecl->__anon1.attr, f);
1794 void OutputTypeName(struct TypeName * type, struct __ecereNameSpace__ecere__com__Instance * f, unsigned int typeName);
1796 static void OutputDeclarator(struct Declarator * decl, struct __ecereNameSpace__ecere__com__Instance * f)
1801 if(decl->declarator)
1803 OutputDeclarator(decl->declarator, f);
1805 if(decl->__anon1.structDecl.exp)
1807 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1808 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1810 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1811 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " : ");
1812 OutputExpression(decl->__anon1.structDecl.exp, f);
1814 if(decl->__anon1.structDecl.posExp)
1816 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1817 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1819 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1820 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " : ");
1821 OutputExpression(decl->__anon1.structDecl.posExp, f);
1823 if(decl->__anon1.structDecl.attrib)
1825 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1826 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1828 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1829 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1830 OutputAttrib(decl->__anon1.structDecl.attrib, f);
1834 OutputIdentifier(decl->__anon1.identifier, 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, "(");
1842 OutputDeclarator(decl->declarator, 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, ")");
1850 if(decl->__anon1.extended.extended)
1851 OutputExtDecl(decl->__anon1.extended.extended, f);
1852 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1853 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1855 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1856 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1857 OutputDeclarator(decl->declarator, f);
1860 OutputDeclarator(decl->declarator, f);
1861 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1862 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1864 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1865 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1866 if(decl->__anon1.extended.extended)
1867 OutputExtDecl(decl->__anon1.extended.extended, f);
1870 if(decl->declarator)
1872 OutputDeclarator(decl->declarator, f);
1874 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1875 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1877 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1878 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
1879 if(decl->__anon1.array.exp)
1881 ProcessExpressionType(decl->__anon1.array.exp);
1882 ComputeExpression(decl->__anon1.array.exp);
1883 OutputExpression(decl->__anon1.array.exp, f);
1885 else if(decl->__anon1.array.enumClass)
1887 struct Symbol * _class = decl->__anon1.array.enumClass->__anon1.__anon1.symbol;
1889 if(_class && _class->__anon1.registered)
1891 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%d", (int)__ecereNameSpace__ecere__com__eClass_GetProperty(_class->__anon1.registered, "enumSize"));
1894 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1895 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1897 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1898 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
1902 struct TypeName * param;
1904 if(decl->declarator)
1905 OutputDeclarator(decl->declarator, f);
1906 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1907 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1909 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1910 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
1911 if(decl->__anon1.function.parameters && (*decl->__anon1.function.parameters).first)
1913 for(param = (*decl->__anon1.function.parameters).first; param; param = param->next)
1915 OutputTypeName(param, f, 0);
1917 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1918 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1920 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1921 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
1924 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1925 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1927 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1928 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
1932 if(decl->__anon1.pointer.pointer)
1933 OutputPointer(decl->__anon1.pointer.pointer, f);
1934 if(decl->declarator)
1936 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1937 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1939 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1940 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1941 OutputDeclarator(decl->declarator, f);
1947 char * StringFromSpecDecl(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl)
1950 struct TypeName * typeName = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TypeName);
1951 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__TempFile);
1954 typeName->qualifiers = specs;
1955 typeName->declarator = decl;
1956 OutputTypeName(typeName, f, 1);
1957 ((typeName ? (__ecereClass_TypeName->Destructor ? __ecereClass_TypeName->Destructor((void *)typeName) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(typeName)) : 0), typeName = 0);
1958 size = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1959 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1961 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1962 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize])(f);
1963 string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (size + 1));
1964 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
1965 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1967 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1968 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, 0, 0);
1969 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
1970 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1972 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1973 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, string, 1, (unsigned int)size);
1974 string[size] = '\0';
1975 __ecereNameSpace__ecere__sys__TrimRSpaces(string, string);
1976 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
1980 void OutputTypeName(struct TypeName * type, struct __ecereNameSpace__ecere__com__Instance * f, unsigned int typeName)
1982 if(type->qualifiers)
1984 struct Specifier * spec;
1986 for(spec = (*type->qualifiers).first; spec; spec = spec->next)
1988 OutputSpecifier(spec, f, typeName);
1990 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1991 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1993 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1994 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
1997 if(type->declarator)
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, " ");
2004 OutputDeclarator(type->declarator, f);
2006 if(!type->qualifiers && !type->declarator)
2007 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2008 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2010 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2011 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "...");
2014 static void OutputInitDeclarator(struct InitDeclarator * decl, struct __ecereNameSpace__ecere__com__Instance * f)
2016 OutputDeclarator(decl->declarator, f);
2017 if(decl->initializer)
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, " =");
2024 if(decl->initializer->type == 0)
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, " ");
2030 OutputInitializer(decl->initializer, f);
2034 static void OutputFunction(struct FunctionDefinition * func, struct __ecereNameSpace__ecere__com__Instance * f);
2036 static void OutputClassDef(struct ClassDef * def, struct __ecereNameSpace__ecere__com__Instance * f);
2038 static void OutputSpecifier(struct Specifier * spec, struct __ecereNameSpace__ecere__com__Instance * f, unsigned int typeName)
2043 switch(spec->__anon1.specifier)
2046 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2047 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2049 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2050 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "typedef");
2053 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2054 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2056 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2057 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "extern");
2060 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2061 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2063 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2064 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "static");
2067 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2068 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2070 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2071 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "auto");
2074 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2075 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2077 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2078 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "register");
2081 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2082 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2084 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2085 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__thread");
2088 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2089 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2091 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2092 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "const");
2095 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2096 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2098 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2099 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "volatile");
2102 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2103 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2105 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2106 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "void");
2109 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2110 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2112 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2113 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "char");
2117 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2118 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2120 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2121 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "_Bool");
2124 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2125 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2127 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2128 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "_Complex");
2131 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2132 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2134 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2135 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "_Imaginary");
2138 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2139 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2141 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2142 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "restrict");
2145 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2146 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2148 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2149 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "short");
2152 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2153 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2155 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2156 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "int");
2159 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2160 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2162 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2163 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, typeName ? "uint" : "unsigned int");
2166 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2167 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2169 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2170 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, typeName ? "int64" : "long long");
2173 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2174 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2176 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2177 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__builtin_va_list");
2180 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2181 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2183 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2184 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "long");
2187 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2188 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2190 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2191 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "float");
2194 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2195 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2197 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2198 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "double");
2201 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2202 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2204 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2205 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "signed");
2208 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2209 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2211 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2212 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "unsigned");
2215 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2216 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2218 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2219 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "typed_object");
2222 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2223 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2225 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2226 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "any_object");
2229 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2230 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2232 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2233 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "class");
2236 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2237 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2239 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2240 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "thisclass");
2245 if(spec->__anon1.__anon1.extDecl)
2246 OutputExtDecl(spec->__anon1.__anon1.extDecl, f);
2249 if(spec->__anon1.__anon1.name && !strcmp(spec->__anon1.__anon1.name, "class"))
2251 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2252 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2254 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2255 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "typed_object");
2259 struct Symbol * symbol = spec->__anon1.__anon1.symbol;
2261 if(!symbol && spec->__anon1.__anon1.name)
2262 symbol = FindClass(spec->__anon1.__anon1.name);
2265 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2266 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2268 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2269 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, symbol->string ? symbol->string : "(null)");
2271 else if(spec->__anon1.__anon1.name)
2272 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2273 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2275 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2276 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, spec->__anon1.__anon1.name);
2281 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2282 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2284 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2285 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "enum");
2286 if(spec->__anon1.__anon2.id)
2288 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2289 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2291 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2292 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2293 OutputIdentifier(spec->__anon1.__anon2.id, f);
2295 if(spec->__anon1.__anon2.list)
2297 struct Enumerator * enumerator;
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, "\n{\n");
2305 for(enumerator = (*spec->__anon1.__anon2.list).first; enumerator; enumerator = enumerator->next)
2307 OutputEnumerator(enumerator, f);
2308 if(enumerator->next)
2309 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2310 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2312 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2313 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(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, "\n}");
2327 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2328 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2330 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2331 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, (spec->type == 3) ? "struct" : "union");
2332 if(spec->__anon1.__anon2.extDeclStruct)
2334 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2335 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2337 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2338 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2339 OutputExtDecl(spec->__anon1.__anon2.extDeclStruct, f);
2341 if(spec->__anon1.__anon2.id)
2343 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2344 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2346 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2347 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2348 OutputIdentifier(spec->__anon1.__anon2.id, f);
2350 if(spec->__anon1.__anon2.definitions)
2352 struct ClassDef * def;
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, "\n{\n");
2360 for(def = (*spec->__anon1.__anon2.definitions).first; def; def = def->next)
2362 OutputClassDef(def, f);
2364 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2365 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2367 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2368 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "} __attribute__ ((gcc_struct))");
2373 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2374 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2376 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2377 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__typeof(");
2378 OutputExpression(spec->__anon1.expression, f);
2379 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2380 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2382 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2383 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
2386 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2387 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2389 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2390 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "subclass(");
2391 OutputSpecifier(spec->__anon1._class, f, 0);
2392 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2393 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2395 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2396 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
2399 OutputIdentifier(spec->__anon1.templateParameter->identifier, f);
2404 static void OutputClass(struct ClassDefinition * _class, struct __ecereNameSpace__ecere__com__Instance * f)
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, "class ");
2411 OutputSpecifier(_class->_class, f, 0);
2412 if(_class->baseSpecs)
2414 struct Specifier * spec;
2416 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2417 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2419 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2420 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " : ");
2421 for(spec = (*_class->baseSpecs).first; spec; spec = spec->next)
2423 OutputSpecifier(spec, f, 0);
2426 if(_class->definitions)
2428 struct ClassDef * def;
2430 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2431 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2433 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2434 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n{\n");
2436 for(def = (*_class->definitions).first; def; def = def->next)
2438 OutputClassDef(def, f);
2440 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2441 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2443 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2444 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "}\n");
2448 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2449 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2451 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2452 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";");
2455 static void OutputMembersInit(struct MembersInit * init, struct __ecereNameSpace__ecere__com__Instance * f);
2457 static void OutputInstance(struct Instantiation * inst, struct __ecereNameSpace__ecere__com__Instance * f)
2460 OutputSpecifier(inst->_class, f, 0);
2463 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2464 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2466 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2467 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2468 OutputExpression(inst->exp, f);
2470 if(inst->members && (*inst->members).count > 1)
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, "\n{\n");
2479 else if(inst->members)
2480 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2481 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2483 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2484 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " { ");
2486 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2487 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2489 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2490 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "{");
2493 struct MembersInit * init;
2495 for(init = (*inst->members).first; init; init = init->next)
2497 OutputMembersInit(init, f);
2498 if(init->type == 0 && init->next)
2500 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2501 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2503 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2504 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";\n");
2510 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2511 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2513 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2514 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " }");
2516 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2517 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2519 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2520 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "}");
2523 static void OutputDeclaration(struct Declaration * decl, struct __ecereNameSpace__ecere__com__Instance * f)
2525 struct Specifier * spec;
2531 strcpy(origName, outputFile);
2532 __ecereNameSpace__ecere__sys__ChangeCh(origName, '\\', '/');
2534 GetSourceName(name, decl->loc.start.included ? GetIncludeFileFromID(decl->loc.start.included) : (((void *)0)));
2535 if(inCompiler && outputLineNumbers && decl->loc.start.line)
2537 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", decl->loc.start.line, name);
2544 struct InitDeclarator * d;
2546 if(decl->__anon1.__anon1.specifiers)
2548 unsigned int inTypeDef = 0;
2550 for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
2552 if(spec->type == 0 && spec->__anon1.specifier == TYPEDEF)
2554 OutputSpecifier(spec, f, inTypeDef && !spec->next);
2556 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2557 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2559 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2560 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2563 if(decl->__anon1.__anon1.declarators && (*decl->__anon1.__anon1.declarators).first)
2565 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2566 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2568 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2569 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2570 for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
2572 OutputInitDeclarator(d, f);
2574 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2575 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2577 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2578 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2585 if(decl->__anon1.__anon1.specifiers)
2587 for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
2589 OutputSpecifier(spec, f, 0);
2591 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2592 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2594 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2595 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2598 if(decl->__anon1.__anon1.declarators)
2600 struct Declarator * d;
2602 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2603 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2605 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2606 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2607 for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
2609 OutputDeclarator(d, f);
2611 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2612 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2614 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2615 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2618 if(decl->extStorage)
2620 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2621 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2623 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2624 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2625 OutputSpecifier(decl->extStorage, f, 0);
2630 if(decl->__anon1.inst)
2632 OutputInstance(decl->__anon1.inst, f);
2638 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2639 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2641 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2642 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";\n");
2644 if(inCompiler && outputLineNumbers && decl->loc.start.line)
2646 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", outputLine + 2, origName);
2651 static void OutputStatement(struct Statement * stmt, struct __ecereNameSpace__ecere__com__Instance * f)
2653 char name[274] = "";
2654 char origName[274] = "";
2658 GetSourceName(name, stmt->loc.start.included ? GetIncludeFileFromID(stmt->loc.start.included) : (((void *)0)));
2659 __ecereNameSpace__ecere__sys__PathCat(origName, outputFile);
2660 __ecereNameSpace__ecere__sys__ChangeCh(origName, '\\', '/');
2662 if(inCompiler && outputLineNumbers && stmt->loc.start.line)
2664 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", stmt->loc.start.line, name);
2670 OutputDeclaration(stmt->__anon1.decl, f);
2673 OutputIdentifier(stmt->__anon1.labeled.id, f);
2674 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2675 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2677 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2678 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":\n");
2680 if(stmt->__anon1.labeled.stmt)
2682 if(stmt->__anon1.labeled.stmt->type == 14)
2683 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2684 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2686 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2687 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "; ");
2688 OutputStatement(stmt->__anon1.labeled.stmt, f);
2692 if(stmt->__anon1.caseStmt.exp)
2694 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2695 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2697 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2698 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "case ");
2699 OutputExpression(stmt->__anon1.caseStmt.exp, f);
2700 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2701 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2703 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2704 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":\n");
2709 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2710 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2712 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2713 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "default:\n");
2716 if(stmt->__anon1.caseStmt.stmt)
2718 if(stmt->__anon1.caseStmt.stmt->type == 14)
2719 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2720 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2722 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2723 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "; ");
2724 OutputStatement(stmt->__anon1.caseStmt.stmt, f);
2729 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2730 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2732 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2733 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "{\n");
2735 if(stmt->__anon1.compound.declarations)
2737 struct Declaration * decl;
2739 for(decl = (*stmt->__anon1.compound.declarations).first; decl; decl = decl->next)
2741 OutputDeclaration(decl, f);
2744 if(stmt->__anon1.compound.statements)
2746 struct Statement * statement;
2748 if(stmt->__anon1.compound.declarations)
2750 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2751 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2753 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2754 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
2757 for(statement = (*stmt->__anon1.compound.statements).first; statement; statement = statement->next)
2759 OutputStatement(statement, f);
2760 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2761 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2763 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2764 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
2768 if(inCompiler && outputLineNumbers && stmt->loc.end.line)
2770 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", stmt->loc.end.line, name);
2773 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2774 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2776 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2777 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "}");
2782 if(stmt->__anon1.expressions)
2784 struct Expression * exp;
2786 for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
2788 OutputExpression(exp, f);
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, ", ");
2797 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2798 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2800 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2801 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";");
2806 struct Expression * exp;
2808 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2809 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2811 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2812 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "if(");
2813 for(exp = (*stmt->__anon1.ifStmt.exp).first; exp; exp = exp->next)
2815 OutputExpression(exp, f);
2817 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2818 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2820 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2821 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2823 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2824 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2826 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2827 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")\n");
2829 if(stmt->__anon1.ifStmt.stmt)
2830 OutputStatement(stmt->__anon1.ifStmt.stmt, f);
2831 if(stmt->__anon1.ifStmt.elseStmt)
2833 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2834 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2836 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2837 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
2839 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2840 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2842 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2843 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "else");
2844 if(stmt->__anon1.ifStmt.elseStmt->type != 4)
2846 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2847 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2849 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2850 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
2854 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2855 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2857 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2858 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2859 OutputStatement(stmt->__anon1.ifStmt.elseStmt, f);
2865 struct Expression * exp;
2867 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2868 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2870 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2871 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "switch(");
2872 if(stmt->__anon1.switchStmt.exp)
2874 for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
2876 OutputExpression(exp, f);
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, ", ");
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, ")\n");
2891 OutputStatement(stmt->__anon1.switchStmt.stmt, f);
2896 struct Expression * exp;
2898 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2899 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2901 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2902 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "while(");
2903 if(stmt->__anon1.switchStmt.exp)
2905 for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
2907 OutputExpression(exp, f);
2909 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2910 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2912 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2913 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2916 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2917 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2919 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2920 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")\n");
2922 OutputStatement(stmt->__anon1.whileStmt.stmt, f);
2927 struct Expression * exp;
2929 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2930 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2932 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2933 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "do\n");
2935 OutputStatement(stmt->__anon1.whileStmt.stmt, f);
2936 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2937 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2939 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2940 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "while(");
2941 for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
2943 OutputExpression(exp, f);
2945 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2946 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2948 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2949 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2951 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2952 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2954 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2955 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ");");
2960 struct Expression * exp;
2962 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2963 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2965 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2966 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "for(");
2967 OutputStatement(stmt->__anon1.forStmt.init, f);
2968 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2969 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2971 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2972 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2973 OutputStatement(stmt->__anon1.forStmt.check, f);
2974 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2975 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2977 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2978 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
2979 if(stmt->__anon1.forStmt.increment)
2981 if(inCompiler && outputLineNumbers && stmt->loc.end.line)
2983 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", stmt->loc.end.line, name);
2986 for(exp = (*stmt->__anon1.forStmt.increment).first; exp; exp = exp->next)
2988 OutputExpression(exp, f);
2990 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2991 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2993 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2994 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
2997 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2998 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3000 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3001 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")\n");
3003 OutputStatement(stmt->__anon1.forStmt.stmt, f);
3008 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3009 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3011 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3012 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "goto ");
3013 OutputIdentifier(stmt->__anon1.gotoStmt.id, f);
3014 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3015 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3017 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3018 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";");
3022 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3023 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3025 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3026 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "continue;");
3029 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3030 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3032 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3033 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "break;");
3037 struct Expression * exp;
3039 if(inCompiler && memoryGuard)
3041 struct Expression * exp = stmt->__anon1.expressions ? (*stmt->__anon1.expressions).last : (((void *)0));
3042 struct Type * returnType = exp ? (exp->destType ? exp->destType : exp->expType) : (((void *)0));
3044 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "{ ");
3045 if(returnType && returnType->kind != 0)
3047 char string[1024] = "";
3048 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
3049 struct Declarator * decl;
3050 struct TypeName * typeName;
3052 if(returnType->kind == 20)
3054 if(returnType->__anon1.templateParameter->dataTypeString)
3055 decl = SpecDeclFromString(returnType->__anon1.templateParameter->dataTypeString, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal")));
3056 else if(returnType->__anon1.templateParameter->__anon1.dataType)
3058 (__ecereNameSpace__ecere__com__eSystem_Delete(specs), specs = 0);
3059 specs = CopyList(returnType->__anon1.templateParameter->__anon1.dataType->specifiers, (void *)(CopySpecifier));
3060 decl = PlugDeclarator(returnType->__anon1.templateParameter->__anon1.dataType->decl, MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal")));
3064 ListAdd(specs, MkSpecifierName("uint64"));
3065 decl = MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal"));
3070 if(returnType->passAsTemplate)
3071 strcpy(string, "uint64");
3073 PrintType(returnType, string, returnType->kind == 18 ? 1 : 0, 1);
3074 decl = SpecDeclFromString(string, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal")));
3076 typeName = MkTypeName(specs, decl);
3077 InstDeclPassTypeName(typeName, 0);
3078 OutputTypeName(typeName, f, 0);
3079 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ";");
3080 FreeTypeName(typeName);
3084 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3085 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3087 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3088 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "return ");
3091 struct Expression * exp = stmt->__anon1.expressions ? (*stmt->__anon1.expressions).last : (((void *)0));
3093 if(exp && exp->expType && exp->expType->kind != 0)
3094 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "__ecereReturnVal = ");
3096 if(stmt->__anon1.expressions)
3098 for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
3100 OutputExpression(exp, f);
3102 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3103 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3105 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3106 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3109 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3110 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3112 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3113 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";");
3114 if(inCompiler && memoryGuard)
3116 struct Expression * exp = stmt->__anon1.expressions ? (struct Expression *)(*stmt->__anon1.expressions).last : (((void *)0));
3118 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereNameSpace__ecere__com__MemoryGuard_PopLoc();");
3119 if(exp && exp->expType && exp->expType->kind != 0)
3120 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "return __ecereReturnVal;");
3122 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "return;");
3123 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "}");
3129 struct AsmField * field;
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, "__asm__ ");
3136 if(stmt->__anon1.asmStmt.spec)
3137 OutputSpecifier(stmt->__anon1.asmStmt.spec, f, 0);
3138 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3139 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3141 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3142 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
3143 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3144 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3146 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3147 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, stmt->__anon1.asmStmt.statements);
3148 if(stmt->__anon1.asmStmt.inputFields || stmt->__anon1.asmStmt.outputFields || stmt->__anon1.asmStmt.clobberedFields)
3150 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3151 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3153 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3154 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":");
3155 if(stmt->__anon1.asmStmt.inputFields)
3157 for(field = (*stmt->__anon1.asmStmt.inputFields).first; field; field = field->next)
3160 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3161 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3163 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3164 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ",");
3165 OutputAsmField(field, f);
3169 if(stmt->__anon1.asmStmt.outputFields || stmt->__anon1.asmStmt.clobberedFields)
3171 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3172 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3174 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3175 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":");
3176 if(stmt->__anon1.asmStmt.outputFields)
3178 for(field = (*stmt->__anon1.asmStmt.outputFields).first; field; field = field->next)
3181 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3182 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3184 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3185 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ",");
3186 OutputAsmField(field, f);
3190 if(stmt->__anon1.asmStmt.clobberedFields)
3192 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3193 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3195 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3196 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":");
3197 for(field = (*stmt->__anon1.asmStmt.clobberedFields).first; field; field = field->next)
3200 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3201 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3203 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3204 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ",");
3205 OutputAsmField(field, f);
3208 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3209 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3211 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3212 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ");\n");
3217 if(inCompiler && outputLineNumbers && stmt->loc.start.line)
3219 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", outputLine + 2, origName);
3224 void OutputTree(struct __ecereNameSpace__ecere__sys__OldList * ast, struct __ecereNameSpace__ecere__com__Instance * f)
3226 struct External * external;
3229 for(external = ast->first; external; external = external->next)
3231 switch(external->type)
3234 OutputFunction(external->__anon1.function, f);
3235 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3236 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3238 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3239 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3243 if(external->__anon1.declaration)
3244 OutputDeclaration(external->__anon1.declaration, f);
3245 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3246 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3248 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3249 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3253 OutputClass(external->__anon1._class, f);
3254 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3255 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3257 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3258 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3265 void OutputExternal(struct External * external, struct __ecereNameSpace__ecere__com__Instance * f)
3267 switch(external->type)
3270 OutputFunction(external->__anon1.function, f);
3271 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3272 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3274 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3275 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3279 if(external->__anon1.declaration)
3280 OutputDeclaration(external->__anon1.declaration, f);
3281 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3282 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3284 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3285 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3289 OutputClass(external->__anon1._class, f);
3290 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3291 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3293 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3294 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3300 void OutputExpression(struct Expression * exp, struct __ecereNameSpace__ecere__com__Instance * f)
3305 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3306 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3308 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3309 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "class(");
3310 if(exp->__anon1._classExp.specifiers)
3312 struct Specifier * spec;
3314 for(spec = (*exp->__anon1._classExp.specifiers).first; spec; spec = spec->next)
3316 OutputSpecifier(spec, f, 0);
3318 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3319 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3321 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3322 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3324 if(exp->__anon1._classExp.decl)
3326 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3327 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3329 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3330 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3331 OutputDeclarator(exp->__anon1._classExp.decl, f);
3333 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3334 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3336 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3337 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
3341 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3342 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3344 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3345 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__extension__ (");
3346 OutputStatement(exp->__anon1.compound, f);
3347 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3348 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3350 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3351 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
3352 if(inCompiler && outputLineNumbers && exp->loc.end.line)
3354 char name[274] = "";
3356 GetSourceName(name, exp->loc.end.included ? GetIncludeFileFromID(exp->loc.end.included) : (((void *)0)));
3357 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", exp->loc.end.line, name);
3362 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3363 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3365 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3366 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "new ");
3367 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3368 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3370 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3371 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3372 OutputTypeName(exp->__anon1._renew.typeName, f, 0);
3373 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3374 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3376 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3377 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
3378 OutputExpression(exp->__anon1._renew.size, f);
3379 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3380 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3382 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3383 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
3386 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3387 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3389 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3390 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "new0 ");
3391 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3392 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3394 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3395 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3396 OutputTypeName(exp->__anon1._renew.typeName, f, 0);
3397 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3398 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3400 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3401 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
3402 OutputExpression(exp->__anon1._renew.size, f);
3403 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3404 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3406 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3407 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
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, "renew ");
3415 OutputExpression(exp->__anon1._renew.exp, f);
3416 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3417 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3419 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3420 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3421 OutputTypeName(exp->__anon1._renew.typeName, f, 0);
3422 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3423 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3425 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3426 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
3427 OutputExpression(exp->__anon1._renew.size, 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, "]");
3435 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3436 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3438 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3439 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "renew0 ");
3440 OutputExpression(exp->__anon1._renew.exp, f);
3441 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3442 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3444 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3445 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3446 OutputTypeName(exp->__anon1._renew.typeName, f, 0);
3447 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3448 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3450 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3451 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
3452 OutputExpression(exp->__anon1._renew.size, f);
3453 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3454 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3456 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3457 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
3460 if(exp->__anon1.__anon1.identifier)
3461 OutputIdentifier(exp->__anon1.__anon1.identifier, f);
3464 if(exp->__anon1.instance)
3465 OutputInstance(exp->__anon1.instance, f);
3468 if(exp->__anon1.__anon1.constant)
3469 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3470 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3472 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3473 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, exp->__anon1.__anon1.constant);
3476 if(exp->__anon1.__anon2.string)
3477 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3478 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3480 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3481 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, exp->__anon1.__anon2.string);
3484 if(exp->__anon1.op.exp1)
3486 OutputExpression(exp->__anon1.op.exp1, f);
3487 if(exp->__anon1.op.exp2)
3488 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3489 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3491 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3492 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3494 OutputOperator(exp->__anon1.op.op, f);
3495 if(exp->__anon1.op.exp2)
3497 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))
3498 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3499 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3501 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3502 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3503 OutputExpression(exp->__anon1.op.exp2, f);
3509 struct Expression * expression;
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, "__extension__ (");
3517 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3518 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3520 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3521 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
3522 if(exp->__anon1.list)
3524 for(expression = (*exp->__anon1.list).first; expression; expression = expression->next)
3526 OutputExpression(expression, f);
3527 if(expression->next)
3528 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3529 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3531 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3532 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3535 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3536 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3538 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3539 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
3544 struct Expression * expression;
3546 if(exp->__anon1.index.exp)
3547 OutputExpression(exp->__anon1.index.exp, f);
3548 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3549 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3551 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3552 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
3553 if(exp->__anon1.index.index)
3554 for(expression = (*exp->__anon1.index.index).first; expression; expression = expression->next)
3556 OutputExpression(expression, f);
3557 if(expression->next)
3558 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3559 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3561 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3562 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3564 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3565 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3567 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3568 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
3573 OutputExpression(exp->__anon1.call.exp, f);
3574 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3575 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3577 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3578 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
3579 if(exp->__anon1.call.arguments)
3581 struct Expression * expression;
3583 for(expression = (*exp->__anon1.call.arguments).first; expression; expression = expression->next)
3585 OutputExpression(expression, f);
3586 if(expression->next)
3587 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3588 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3590 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3591 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3594 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3595 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3597 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3598 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
3602 if(exp->__anon1.member.exp)
3603 OutputExpression(exp->__anon1.member.exp, f);
3604 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3605 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3607 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3608 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ".");
3609 if(exp->__anon1.member.member)
3610 OutputIdentifier(exp->__anon1.member.member, f);
3613 OutputExpression(exp->__anon1.member.exp, f);
3614 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3615 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3617 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3618 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "->");
3619 OutputIdentifier(exp->__anon1.member.member, f);
3622 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3623 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3625 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3626 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "sizeof(");
3627 OutputTypeName(exp->__anon1.typeName, f, 0);
3628 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3629 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3631 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3632 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
3635 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3636 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3638 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3639 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__alignof__(");
3640 OutputTypeName(exp->__anon1.typeName, f, 0);
3641 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3642 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3644 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3645 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
3648 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3649 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3651 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3652 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__extension__ (");
3653 if(exp->__anon1.initializer.typeName)
3654 OutputTypeName(exp->__anon1.initializer.typeName, f, 0);
3655 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3656 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3658 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3659 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
3660 if(exp->__anon1.initializer.initializer)
3661 OutputInitializer(exp->__anon1.initializer.initializer, f);
3664 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3665 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3667 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3668 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
3669 OutputTypeName(exp->__anon1.cast.typeName, f, 0);
3670 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3671 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3673 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3674 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
3675 if(exp->__anon1.cast.exp)
3676 OutputExpression(exp->__anon1.cast.exp, f);
3679 OutputExpression(exp->__anon1.cond.cond, 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, " ? ");
3686 struct Expression * expression;
3688 for(expression = (*exp->__anon1.cond.exp).first; expression; expression = expression->next)
3690 OutputExpression(expression, f);
3691 if(expression->next)
3692 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3693 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3695 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3696 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3699 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3700 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3702 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3703 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " : ");
3704 if(exp->__anon1.cond.elseExp)
3705 OutputExpression(exp->__anon1.cond.elseExp, f);
3708 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3709 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3711 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3712 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__builtin_va_arg(");
3713 OutputExpression(exp->__anon1.vaArg.exp, f);
3714 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3715 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3717 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3718 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3719 OutputTypeName(exp->__anon1.vaArg.typeName, f, 0);
3720 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3721 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3723 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3724 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
3727 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3728 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3730 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3731 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
3732 if(exp->__anon1.list)
3734 struct Expression * expression;
3736 for(expression = (*exp->__anon1.list).first; expression; expression = expression->next)
3738 OutputExpression(expression, f);
3739 if(expression->next)
3740 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3741 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3743 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3744 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3747 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3748 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3750 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3751 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
3756 static void OutputFunction(struct FunctionDefinition * func, struct __ecereNameSpace__ecere__com__Instance * f)
3758 struct FunctionDefinition * oldFunc = curFunction;
3761 if(func->specifiers)
3763 struct Specifier * spec;
3765 for(spec = (*func->specifiers).first; spec; spec = spec->next)
3767 OutputSpecifier(spec, f, 0);
3769 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3770 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3772 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3773 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3775 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3776 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3778 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3779 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3781 if(func->declarator)
3782 OutputDeclarator(func->declarator, f);
3783 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3784 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3786 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3787 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3789 if(func->declarations)
3791 struct Declaration * decl;
3793 for(decl = (*func->declarations).first; decl; decl = decl->next)
3795 OutputDeclaration(decl, f);
3797 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3798 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3800 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3801 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3806 if(inCompiler && memoryGuard)
3808 char name[1024] = "";
3809 struct Identifier * id = GetDeclId(func->declarator);
3811 GetSourceName(name, func->loc.start.included ? GetIncludeFileFromID(func->loc.start.included) : (((void *)0)));
3812 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "{\n");
3813 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereNameSpace__ecere__com__MemoryGuard_PushLoc(\"%s:%s\");\n", name, id->string);
3816 OutputStatement(func->body, f);
3817 if(inCompiler && memoryGuard)
3819 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereNameSpace__ecere__com__MemoryGuard_PopLoc();\n");
3820 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "}\n");
3823 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3824 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3826 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3827 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3830 curFunction = oldFunc;
3833 static void OutputClassFunction(struct ClassFunction * func, struct __ecereNameSpace__ecere__com__Instance * f)
3835 if(func->specifiers)
3837 struct Specifier * spec;
3839 for(spec = (*func->specifiers).first; spec; spec = spec->next)
3841 OutputSpecifier(spec, f, 0);
3843 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3844 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3846 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3847 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3849 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3850 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3852 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3853 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
3855 if(func->declarator)
3856 OutputDeclarator(func->declarator, f);
3857 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3858 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3860 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3861 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3863 if(func->declarations)
3865 struct Declaration * decl;
3867 for(decl = (*func->declarations).first; decl; decl = decl->next)
3869 OutputDeclaration(decl, f);
3871 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3872 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3874 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3875 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3880 OutputStatement(func->body, f);
3881 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3882 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3884 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3885 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3889 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__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_Puts])(f, ";");
3896 void __ecereRegisterModule_output(struct __ecereNameSpace__ecere__com__Instance * module)
3898 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
3900 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetMemoryGuard", "void SetMemoryGuard(bool b)", SetMemoryGuard, module, 1);
3901 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetMemoryGuard", "bool GetMemoryGuard(void)", GetMemoryGuard, module, 1);
3902 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OutputTypeName", "void OutputTypeName(TypeName type, ecere::sys::File f, bool typeName)", OutputTypeName, module, 1);
3903 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OutputExpression", "void OutputExpression(Expression exp, ecere::sys::File f)", OutputExpression, module, 1);
3904 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OutputTree", "void OutputTree(ecere::sys::OldList ast, ecere::sys::File f)", OutputTree, module, 1);
3905 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OutputExternal", "void OutputExternal(External external, ecere::sys::File f)", OutputExternal, module, 1);
3906 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("StringFromSpecDecl", "char * StringFromSpecDecl(ecere::sys::OldList specs, Declarator decl)", StringFromSpecDecl, module, 1);
3909 static void OutputMembersInit(struct MembersInit * init, struct __ecereNameSpace__ecere__com__Instance * f)
3915 struct MemberInit * member;
3917 if(init->__anon1.dataMembers)
3919 for(member = (*init->__anon1.dataMembers).first; member; member = member->next)
3921 OutputMemberInit(member, f);
3923 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3924 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3926 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3927 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3933 OutputClassFunction(init->__anon1.function, f);
3938 static void OutputClassDef(struct ClassDef * def, struct __ecereNameSpace__ecere__com__Instance * f)
3943 if(def->__anon1.decl)
3945 OutputDeclaration(def->__anon1.decl, f);
3946 if(def->next && def->next->type != 2)
3948 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3949 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3951 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3952 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
3959 struct MemberInit * init;
3961 for(init = (*def->__anon1.defProperties).first; init; init = init->next)
3963 OutputMemberInit(init, f);
3965 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3966 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3968 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3969 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
3971 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3972 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3974 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3975 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";\n\n");
3980 OutputClassFunction(def->__anon1.function, f);
3981 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3982 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3984 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3985 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");