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 # if defined(__GNUC__) || defined(__TINYC__)
40 # define ecere_stdcall __attribute__((__stdcall__))
41 # define ecere_gcc_struct __attribute__((gcc_struct))
43 # define ecere_stdcall __stdcall
44 # define ecere_gcc_struct
47 # define ecere_stdcall
48 # define ecere_gcc_struct
51 #include <sys/types.h>
54 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, INT128 = 294, LONG = 295, SIGNED = 296, UNSIGNED = 297, FLOAT = 298, DOUBLE = 299, CONST = 300, VOLATILE = 301, VOID = 302, VALIST = 303, STRUCT = 304, UNION = 305, ENUM = 306, ELLIPSIS = 307, CASE = 308, DEFAULT = 309, IF = 310, SWITCH = 311, WHILE = 312, DO = 313, FOR = 314, GOTO = 315, CONTINUE = 316, BREAK = 317, RETURN = 318, IFX = 319, ELSE = 320, CLASS = 321, THISCLASS = 322, CLASS_NAME = 323, PROPERTY = 324, SETPROP = 325, GETPROP = 326, NEWOP = 327, RENEW = 328, DELETE = 329, EXT_DECL = 330, EXT_STORAGE = 331, IMPORT = 332, DEFINE = 333, VIRTUAL = 334, ATTRIB = 335, PUBLIC = 336, PRIVATE = 337, TYPED_OBJECT = 338, ANY_OBJECT = 339, _INCREF = 340, EXTENSION = 341, ASM = 342, TYPEOF = 343, WATCH = 344, STOPWATCHING = 345, FIREWATCHERS = 346, WATCHABLE = 347, CLASS_DESIGNER = 348, CLASS_NO_EXPANSION = 349, CLASS_FIXED = 350, ISPROPSET = 351, CLASS_DEFAULT_PROPERTY = 352, PROPERTY_CATEGORY = 353, CLASS_DATA = 354, CLASS_PROPERTY = 355, SUBCLASS = 356, NAMESPACE = 357, NEW0OP = 358, RENEW0 = 359, VAARG = 360, DBTABLE = 361, DBFIELD = 362, DBINDEX = 363, DATABASE_OPEN = 364, ALIGNOF = 365, ATTRIB_DEP = 366, __ATTRIB = 367, BOOL = 368, _BOOL = 369, _COMPLEX = 370, _IMAGINARY = 371, RESTRICT = 372, THREAD = 373, WIDE_STRING_LITERAL = 374, BUILTIN_OFFSETOF = 375
59 unsigned int memoryGuard = 0;
61 extern unsigned int inCompiler;
63 extern unsigned int outputLineNumbers;
65 extern const char * sourceFile;
67 extern const char * outputFile;
69 struct __ecereNameSpace__ecere__sys__OldList
78 struct __ecereNameSpace__ecere__sys__BTNode;
80 struct __ecereNameSpace__ecere__com__DataValue
95 } ecere_gcc_struct __anon1;
98 struct __ecereNameSpace__ecere__com__SerialBuffer
100 unsigned char * _buffer;
106 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
108 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
110 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
112 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
114 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
120 struct PropertyWatch;
122 struct TemplateArgument;
138 extern int strcmp(const char * , const char * );
140 extern char * GetIncludeFileFromID(int id);
142 extern char * strchr(const char * , int);
144 extern char * __ecereNameSpace__ecere__sys__StripLastDirectory(const char * string, char * output);
146 extern char * __ecereNameSpace__ecere__sys__PathCat(char * string, const char * addedPath);
148 extern void __ecereNameSpace__ecere__sys__ChangeCh(char * string, char ch1, char ch2);
150 extern char * strcpy(char * , const char * );
156 struct __ecereNameSpace__ecere__com__LinkList
163 extern char * __ecereNameSpace__ecere__sys__TrimRSpaces(const char * string, char * output);
165 struct __ecereNameSpace__ecere__com__GlobalFunction;
167 void SetMemoryGuard(unsigned int b)
172 unsigned int GetMemoryGuard()
177 extern struct __ecereNameSpace__ecere__sys__OldList * MkList(void);
179 extern struct __ecereNameSpace__ecere__sys__OldList * CopyList(struct __ecereNameSpace__ecere__sys__OldList * source, void * (* CopyFunction)(void * ));
181 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void * item);
185 struct CodePosition start;
186 struct CodePosition end;
189 static void GetSourceName(char * name, const char * src)
194 if(!strchr(src, '/') && !strchr(src, '\\'))
195 __ecereNameSpace__ecere__sys__StripLastDirectory(sourceFile, name);
196 __ecereNameSpace__ecere__sys__PathCat(name, src);
199 __ecereNameSpace__ecere__sys__PathCat(name, sourceFile);
200 __ecereNameSpace__ecere__sys__ChangeCh(name, '\\', '/');
203 extern struct Location yylloc;
209 struct __ecereNameSpace__ecere__sys__OldList * attribs;
219 struct Attrib * attr;
220 } ecere_gcc_struct __anon1;
225 extern void ProcessExpressionType(struct Expression * exp);
227 extern void ComputeExpression(struct Expression * exp);
229 struct FunctionDefinition;
231 static struct FunctionDefinition * curFunction;
233 struct __ecereNameSpace__ecere__com__Class;
235 struct __ecereNameSpace__ecere__com__Instance
238 struct __ecereNameSpace__ecere__com__Class * _class;
242 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name);
244 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value);
246 extern void * __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
248 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function);
250 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
252 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts;
254 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Putc;
256 int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, const char * format, ...);
258 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize;
260 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
262 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
264 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
266 struct __ecereNameSpace__ecere__com__Property;
268 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
270 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);
272 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * ));
274 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
278 extern struct Identifier * MkIdentifier(const char * string);
282 extern struct Specifier * CopySpecifier(struct Specifier * spec);
284 extern struct Specifier * MkSpecifierName(const char * name);
288 extern struct Declarator * SpecDeclFromString(const char * string, struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * baseDecl);
290 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
292 struct TemplateDatatype
294 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
295 struct Declarator * decl;
298 extern struct Declarator * PlugDeclarator(struct Declarator * decl, struct Declarator * baseDecl);
300 extern struct Identifier * GetDeclId(struct Declarator * decl);
304 struct __ecereNameSpace__ecere__com__Property
306 struct __ecereNameSpace__ecere__com__Property * prev;
307 struct __ecereNameSpace__ecere__com__Property * next;
309 unsigned int isProperty;
312 struct __ecereNameSpace__ecere__com__Class * _class;
313 const char * dataTypeString;
314 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
315 struct Type * dataType;
316 void (* Set)(void * , int);
317 int (* Get)(void * );
318 unsigned int (* IsSet)(void * );
322 unsigned int conversion;
323 unsigned int watcherOffset;
324 const char * category;
325 unsigned int compiled;
326 unsigned int selfWatchable;
327 unsigned int isWatchable;
330 extern void PrintType(struct Type * type, char * string, unsigned int printName, unsigned int fullName);
336 struct TypeName * prev;
337 struct TypeName * next;
339 struct __ecereNameSpace__ecere__sys__OldList * qualifiers;
340 struct Declarator * declarator;
342 struct Expression * bitCount;
345 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
347 extern void InstDeclPassTypeName(struct TypeName * type, unsigned int param);
349 extern void FreeTypeName(struct TypeName * typeName);
355 struct Identifier * prev;
356 struct Identifier * next;
358 struct Symbol * classSym;
359 struct Specifier * _class;
361 struct Identifier * badID;
364 extern struct Symbol * FindClass(const char * name);
366 struct __ecereNameSpace__ecere__sys__BinaryTree;
368 struct __ecereNameSpace__ecere__sys__BinaryTree
370 struct __ecereNameSpace__ecere__sys__BTNode * root;
372 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
373 void (* FreeKey)(void * key);
380 struct Pointer * prev;
381 struct Pointer * next;
383 struct __ecereNameSpace__ecere__sys__OldList * qualifiers;
384 struct Pointer * pointer;
389 struct Declarator * prev;
390 struct Declarator * next;
393 struct Symbol * symbol;
394 struct Declarator * declarator;
397 struct Identifier * identifier;
400 struct Expression * exp;
401 struct Expression * posExp;
402 struct Attrib * attrib;
403 } ecere_gcc_struct structDecl;
406 struct Expression * exp;
407 struct Specifier * enumClass;
408 } ecere_gcc_struct array;
411 struct __ecereNameSpace__ecere__sys__OldList * parameters;
412 } ecere_gcc_struct function;
415 struct Pointer * pointer;
416 } ecere_gcc_struct pointer;
419 struct ExtDecl * extended;
420 } ecere_gcc_struct extended;
421 } ecere_gcc_struct __anon1;
432 struct Attribute * prev;
433 struct Attribute * next;
436 struct Expression * exp;
439 struct __ecereNameSpace__ecere__com__Module;
441 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);
443 struct __ecereNameSpace__ecere__com__DataMember;
445 struct __ecereNameSpace__ecere__com__DataMember
447 struct __ecereNameSpace__ecere__com__DataMember * prev;
448 struct __ecereNameSpace__ecere__com__DataMember * next;
450 unsigned int isProperty;
453 struct __ecereNameSpace__ecere__com__Class * _class;
454 const char * dataTypeString;
455 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
456 struct Type * dataType;
460 struct __ecereNameSpace__ecere__sys__OldList members;
461 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
463 short structAlignment;
464 short pointerAlignment;
471 struct AsmField * prev;
472 struct AsmField * next;
475 struct Expression * expression;
476 struct Identifier * symbolic;
483 struct Enumerator * prev;
484 struct Enumerator * next;
486 struct Identifier * id;
487 struct Expression * exp;
496 struct Initializer * prev;
497 struct Initializer * next;
502 struct Expression * exp;
503 struct __ecereNameSpace__ecere__sys__OldList * list;
504 } ecere_gcc_struct __anon1;
505 unsigned int isConstant;
506 struct Identifier * id;
511 struct MemberInit * prev;
512 struct MemberInit * next;
514 struct Location realLoc;
515 struct __ecereNameSpace__ecere__sys__OldList * identifiers;
516 struct Initializer * initializer;
518 unsigned int variable;
519 unsigned int takeOutExp;
524 struct FunctionDefinition
526 struct FunctionDefinition * prev;
527 struct FunctionDefinition * next;
529 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
530 struct Declarator * declarator;
531 struct __ecereNameSpace__ecere__sys__OldList * declarations;
532 struct Statement * body;
533 struct __ecereNameSpace__ecere__com__Class * _class;
534 struct __ecereNameSpace__ecere__sys__OldList attached;
537 struct Symbol * propSet;
539 unsigned int propertyNoThis;
542 struct __ecereNameSpace__ecere__com__Method;
544 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
550 const char * dataTypeString;
551 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
552 } ecere_gcc_struct __anon1;
553 struct __ecereNameSpace__ecere__com__DataValue expression;
556 const char * memberString;
559 struct __ecereNameSpace__ecere__com__DataMember * member;
560 struct __ecereNameSpace__ecere__com__Property * prop;
561 struct __ecereNameSpace__ecere__com__Method * method;
562 } ecere_gcc_struct __anon1;
563 } ecere_gcc_struct __anon2;
564 } ecere_gcc_struct __anon1;
567 struct __ecereNameSpace__ecere__com__Method
570 struct __ecereNameSpace__ecere__com__Method * parent;
571 struct __ecereNameSpace__ecere__com__Method * left;
572 struct __ecereNameSpace__ecere__com__Method * right;
577 struct __ecereNameSpace__ecere__com__Class * _class;
579 const char * dataTypeString;
580 struct Type * dataType;
584 struct TemplateParameter;
588 struct Specifier * prev;
589 struct Specifier * next;
597 struct ExtDecl * extDecl;
599 struct Symbol * symbol;
600 struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
601 struct Specifier * nsSpec;
602 } ecere_gcc_struct __anon1;
605 struct Identifier * id;
606 struct __ecereNameSpace__ecere__sys__OldList * list;
607 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
608 struct __ecereNameSpace__ecere__sys__OldList * definitions;
609 unsigned int addNameSpace;
610 struct Context * ctx;
611 struct ExtDecl * extDeclStruct;
612 } ecere_gcc_struct __anon2;
613 struct Expression * expression;
614 struct Specifier * _class;
615 struct TemplateParameter * templateParameter;
616 } ecere_gcc_struct __anon1;
619 struct TemplateParameter
621 struct TemplateParameter * prev;
622 struct TemplateParameter * next;
625 struct Identifier * identifier;
628 struct TemplateDatatype * dataType;
630 } ecere_gcc_struct __anon1;
631 struct TemplateArgument * defaultArgument;
632 const char * dataTypeString;
633 struct Type * baseType;
643 struct Symbol * _class;
646 struct __ecereNameSpace__ecere__sys__OldList members;
648 } ecere_gcc_struct __anon1;
651 struct Type * returnType;
652 struct __ecereNameSpace__ecere__sys__OldList params;
653 struct Symbol * thisClass;
654 unsigned int staticMethod;
655 struct TemplateParameter * thisClassTemplate;
656 } ecere_gcc_struct __anon2;
659 struct __ecereNameSpace__ecere__com__Method * method;
660 struct __ecereNameSpace__ecere__com__Class * methodClass;
661 struct __ecereNameSpace__ecere__com__Class * usedClass;
662 } ecere_gcc_struct __anon3;
665 struct Type * arrayType;
667 struct Expression * arraySizeExp;
668 unsigned int freeExp;
669 struct Symbol * enumClass;
670 } ecere_gcc_struct __anon4;
672 struct TemplateParameter * templateParameter;
673 } ecere_gcc_struct __anon1;
678 struct __ecereNameSpace__ecere__com__Class * thisClassFrom;
686 unsigned int isSigned : 1;
687 unsigned int constant : 1;
688 unsigned int truth : 1;
689 unsigned int byReference : 1;
690 unsigned int extraParam : 1;
691 unsigned int directClassAccess : 1;
692 unsigned int computing : 1;
693 unsigned int keepCast : 1;
694 unsigned int passAsTemplate : 1;
695 unsigned int dllExport : 1;
696 unsigned int attrStdcall : 1;
697 unsigned int declaredWithStruct : 1;
698 unsigned int typedByReference : 1;
699 unsigned int casted : 1;
700 unsigned int pointerAlignment : 1;
701 unsigned int isLong : 1;
702 unsigned int signedBeforePromotion : 1;
703 unsigned int isVector : 1;
710 struct Statement * prev;
711 struct Statement * next;
716 struct __ecereNameSpace__ecere__sys__OldList * expressions;
719 struct Identifier * id;
720 struct Statement * stmt;
721 } ecere_gcc_struct labeled;
724 struct Expression * exp;
725 struct Statement * stmt;
726 } ecere_gcc_struct caseStmt;
729 struct __ecereNameSpace__ecere__sys__OldList * declarations;
730 struct __ecereNameSpace__ecere__sys__OldList * statements;
731 struct Context * context;
732 unsigned int isSwitch;
733 } ecere_gcc_struct compound;
736 struct __ecereNameSpace__ecere__sys__OldList * exp;
737 struct Statement * stmt;
738 struct Statement * elseStmt;
739 } ecere_gcc_struct ifStmt;
742 struct __ecereNameSpace__ecere__sys__OldList * exp;
743 struct Statement * stmt;
744 } ecere_gcc_struct switchStmt;
747 struct __ecereNameSpace__ecere__sys__OldList * exp;
748 struct Statement * stmt;
749 } ecere_gcc_struct whileStmt;
752 struct __ecereNameSpace__ecere__sys__OldList * exp;
753 struct Statement * stmt;
754 } ecere_gcc_struct doWhile;
757 struct Statement * init;
758 struct Statement * check;
759 struct __ecereNameSpace__ecere__sys__OldList * increment;
760 struct Statement * stmt;
761 } ecere_gcc_struct forStmt;
764 struct Identifier * id;
765 } ecere_gcc_struct gotoStmt;
768 struct Specifier * spec;
770 struct __ecereNameSpace__ecere__sys__OldList * inputFields;
771 struct __ecereNameSpace__ecere__sys__OldList * outputFields;
772 struct __ecereNameSpace__ecere__sys__OldList * clobberedFields;
773 } ecere_gcc_struct asmStmt;
776 struct Expression * watcher;
777 struct Expression * object;
778 struct __ecereNameSpace__ecere__sys__OldList * watches;
779 } ecere_gcc_struct _watch;
782 struct Identifier * id;
783 struct __ecereNameSpace__ecere__sys__OldList * exp;
784 struct __ecereNameSpace__ecere__sys__OldList * filter;
785 struct Statement * stmt;
786 } ecere_gcc_struct forEachStmt;
787 struct Declaration * decl;
788 } ecere_gcc_struct __anon1;
791 struct Instantiation;
795 struct Expression * prev;
796 struct Expression * next;
804 struct Identifier * identifier;
805 } ecere_gcc_struct __anon1;
806 struct Statement * compound;
807 struct Instantiation * instance;
811 unsigned int intlString;
812 unsigned int wideString;
813 } ecere_gcc_struct __anon2;
814 struct __ecereNameSpace__ecere__sys__OldList * list;
817 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
818 struct Declarator * decl;
819 } ecere_gcc_struct _classExp;
822 struct Identifier * id;
823 } ecere_gcc_struct classData;
826 struct Expression * exp;
827 struct __ecereNameSpace__ecere__sys__OldList * arguments;
828 struct Location argLoc;
829 } ecere_gcc_struct call;
832 struct Expression * exp;
833 struct __ecereNameSpace__ecere__sys__OldList * index;
834 } ecere_gcc_struct index;
837 struct Expression * exp;
838 struct Identifier * member;
840 unsigned int thisPtr;
841 } ecere_gcc_struct member;
845 struct Expression * exp1;
846 struct Expression * exp2;
847 } ecere_gcc_struct op;
848 struct TypeName * typeName;
849 struct Specifier * _class;
852 struct TypeName * typeName;
853 struct Expression * exp;
854 } ecere_gcc_struct cast;
857 struct Expression * cond;
858 struct __ecereNameSpace__ecere__sys__OldList * exp;
859 struct Expression * elseExp;
860 } ecere_gcc_struct cond;
863 struct TypeName * typeName;
864 struct Expression * size;
865 } ecere_gcc_struct _new;
868 struct TypeName * typeName;
869 struct Expression * size;
870 struct Expression * exp;
871 } ecere_gcc_struct _renew;
875 struct Identifier * id;
876 } ecere_gcc_struct db;
879 struct Expression * ds;
880 struct Expression * name;
881 } ecere_gcc_struct dbopen;
884 struct TypeName * typeName;
885 struct Initializer * initializer;
886 } ecere_gcc_struct initializer;
889 struct Expression * exp;
890 struct TypeName * typeName;
891 } ecere_gcc_struct vaArg;
894 struct TypeName * typeName;
895 struct Identifier * id;
896 } ecere_gcc_struct offset;
897 } ecere_gcc_struct __anon1;
898 unsigned int debugValue;
899 struct __ecereNameSpace__ecere__com__DataValue val;
901 unsigned int hasAddress;
902 struct Type * expType;
903 struct Type * destType;
906 unsigned int byReference;
907 unsigned int isConstant;
908 unsigned int addedThis;
909 unsigned int needCast;
910 unsigned int thisPtr;
911 unsigned int opDestType;
912 unsigned int usedInComparison;
913 unsigned int ambiguousUnits;
914 unsigned int parentOpDestType;
915 unsigned int needTemplateCast;
920 struct Declaration * prev;
921 struct Declaration * next;
928 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
929 struct __ecereNameSpace__ecere__sys__OldList * declarators;
930 } ecere_gcc_struct __anon1;
931 struct Instantiation * inst;
934 struct Identifier * id;
935 struct Expression * exp;
936 } ecere_gcc_struct __anon2;
937 } ecere_gcc_struct __anon1;
938 struct Specifier * extStorage;
939 struct Symbol * symbol;
945 struct Instantiation * prev;
946 struct Instantiation * next;
948 struct Specifier * _class;
949 struct Expression * exp;
950 struct __ecereNameSpace__ecere__sys__OldList * members;
951 struct Symbol * symbol;
952 unsigned int fullSet;
953 unsigned int isConstant;
954 unsigned char * data;
955 struct Location nameLoc;
956 struct Location insideLoc;
960 struct ClassDefinition;
962 struct ClassDefinition
964 struct ClassDefinition * prev;
965 struct ClassDefinition * next;
967 struct Specifier * _class;
968 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
969 struct __ecereNameSpace__ecere__sys__OldList * definitions;
970 struct Symbol * symbol;
971 struct Location blockStart;
972 struct Location nameLoc;
974 unsigned int deleteWatchable;
977 struct __ecereNameSpace__ecere__com__NameSpace;
979 struct __ecereNameSpace__ecere__com__NameSpace
982 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
983 struct __ecereNameSpace__ecere__com__NameSpace * left;
984 struct __ecereNameSpace__ecere__com__NameSpace * right;
986 struct __ecereNameSpace__ecere__com__NameSpace * parent;
987 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
988 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
989 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
990 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
993 struct __ecereNameSpace__ecere__com__Class
995 struct __ecereNameSpace__ecere__com__Class * prev;
996 struct __ecereNameSpace__ecere__com__Class * next;
1002 unsigned int (* Constructor)(void * );
1003 void (* Destructor)(void * );
1006 struct __ecereNameSpace__ecere__com__Class * base;
1007 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
1008 struct __ecereNameSpace__ecere__sys__BinaryTree members;
1009 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
1010 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
1011 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
1012 struct __ecereNameSpace__ecere__sys__OldList derivatives;
1016 struct __ecereNameSpace__ecere__com__Instance * module;
1017 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
1018 const char * dataTypeString;
1019 struct Type * dataType;
1021 int defaultAlignment;
1022 void (* Initialize)();
1024 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
1025 const char * designerClass;
1026 unsigned int noExpansion;
1027 const char * defaultProperty;
1028 unsigned int comRedefinition;
1031 unsigned int internalDecl;
1033 unsigned int computeSize;
1034 short structAlignment;
1035 short pointerAlignment;
1036 int destructionWatchOffset;
1038 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
1039 int inheritanceAccess;
1040 const char * fullName;
1042 struct __ecereNameSpace__ecere__sys__OldList conversions;
1043 struct __ecereNameSpace__ecere__sys__OldList templateParams;
1044 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
1045 struct __ecereNameSpace__ecere__com__Class * templateClass;
1046 struct __ecereNameSpace__ecere__sys__OldList templatized;
1048 unsigned int isInstanceClass;
1049 unsigned int byValueSystemClass;
1052 struct __ecereNameSpace__ecere__com__Application
1055 const char * * argv;
1057 unsigned int isGUIApp;
1058 struct __ecereNameSpace__ecere__sys__OldList allModules;
1059 char * parsedCommand;
1060 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
1063 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TypeName;
1065 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
1067 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
1069 struct __ecereNameSpace__ecere__com__Module
1071 struct __ecereNameSpace__ecere__com__Instance * application;
1072 struct __ecereNameSpace__ecere__sys__OldList classes;
1073 struct __ecereNameSpace__ecere__sys__OldList defines;
1074 struct __ecereNameSpace__ecere__sys__OldList functions;
1075 struct __ecereNameSpace__ecere__sys__OldList modules;
1076 struct __ecereNameSpace__ecere__com__Instance * prev;
1077 struct __ecereNameSpace__ecere__com__Instance * next;
1083 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
1084 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
1087 static void OutputIdentifier(struct Identifier * id, struct __ecereNameSpace__ecere__com__Instance * f)
1093 if(id->_class->type == 8)
1095 if(id->_class->__anon1.templateParameter && id->_class->__anon1.templateParameter->identifier && id->_class->__anon1.templateParameter->identifier->string)
1097 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1099 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1100 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1102 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1103 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1104 __internal_VirtualMethod ? __internal_VirtualMethod(f, id->_class->__anon1.templateParameter->identifier->string) : (unsigned int)1;
1109 if(id->_class->__anon1.__anon1.name)
1111 if(!strcmp(id->_class->__anon1.__anon1.name, "class"))
1113 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1115 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1116 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1118 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1119 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1120 __internal_VirtualMethod ? __internal_VirtualMethod(f, "typed_object") : (unsigned int)1;
1124 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1126 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1127 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1129 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1130 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1131 __internal_VirtualMethod ? __internal_VirtualMethod(f, id->_class->__anon1.__anon1.name) : (unsigned int)1;
1136 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1138 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1139 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1141 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1142 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1143 __internal_VirtualMethod ? __internal_VirtualMethod(f, "::") : (unsigned int)1;
1148 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1150 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1151 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1153 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1154 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1155 __internal_VirtualMethod ? __internal_VirtualMethod(f, (id && id->string) ? id->string : "(null identifier)") : (unsigned int)1;
1159 static void OutputOperator(int op, struct __ecereNameSpace__ecere__com__Instance * f)
1165 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1167 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1168 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1170 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1171 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1172 __internal_VirtualMethod ? __internal_VirtualMethod(f, "++") : (unsigned int)1;
1177 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1179 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1180 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1182 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1183 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1184 __internal_VirtualMethod ? __internal_VirtualMethod(f, "--") : (unsigned int)1;
1189 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1191 __internal_VirtualMethod = ((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]);
1196 __internal_VirtualMethod ? __internal_VirtualMethod(f, "sizeof ") : (unsigned int)1;
1201 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1203 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1204 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1206 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1207 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1208 __internal_VirtualMethod ? __internal_VirtualMethod(f, "<<") : (unsigned int)1;
1213 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1215 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1216 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1218 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1219 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1220 __internal_VirtualMethod ? __internal_VirtualMethod(f, ">>") : (unsigned int)1;
1225 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1227 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1228 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1230 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1231 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1232 __internal_VirtualMethod ? __internal_VirtualMethod(f, "<=") : (unsigned int)1;
1237 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1239 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1240 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1242 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1243 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1244 __internal_VirtualMethod ? __internal_VirtualMethod(f, ">=") : (unsigned int)1;
1249 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1251 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1252 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1254 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1255 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1256 __internal_VirtualMethod ? __internal_VirtualMethod(f, "==") : (unsigned int)1;
1261 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1263 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1264 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1266 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1267 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1268 __internal_VirtualMethod ? __internal_VirtualMethod(f, "!=") : (unsigned int)1;
1273 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1275 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1276 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1278 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1279 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1280 __internal_VirtualMethod ? __internal_VirtualMethod(f, "&&") : (unsigned int)1;
1285 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1287 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1288 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1290 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1291 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1292 __internal_VirtualMethod ? __internal_VirtualMethod(f, "||") : (unsigned int)1;
1297 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1299 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1300 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1302 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1303 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1304 __internal_VirtualMethod ? __internal_VirtualMethod(f, "*=") : (unsigned int)1;
1309 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1311 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1312 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1314 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1315 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1316 __internal_VirtualMethod ? __internal_VirtualMethod(f, "/=") : (unsigned int)1;
1321 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1323 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1324 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1326 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1327 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1328 __internal_VirtualMethod ? __internal_VirtualMethod(f, "%=") : (unsigned int)1;
1333 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1335 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1336 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1338 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1339 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1340 __internal_VirtualMethod ? __internal_VirtualMethod(f, "+=") : (unsigned int)1;
1345 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1347 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1348 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1350 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1351 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1352 __internal_VirtualMethod ? __internal_VirtualMethod(f, "-=") : (unsigned int)1;
1357 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1359 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1360 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1362 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1363 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1364 __internal_VirtualMethod ? __internal_VirtualMethod(f, "<<=") : (unsigned int)1;
1369 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1371 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1372 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1374 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1375 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1376 __internal_VirtualMethod ? __internal_VirtualMethod(f, ">>=") : (unsigned int)1;
1381 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1383 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1384 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1386 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1387 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1388 __internal_VirtualMethod ? __internal_VirtualMethod(f, "&=") : (unsigned int)1;
1393 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1395 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1396 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1398 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1399 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1400 __internal_VirtualMethod ? __internal_VirtualMethod(f, "^=") : (unsigned int)1;
1405 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1407 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1408 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1410 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1411 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1412 __internal_VirtualMethod ? __internal_VirtualMethod(f, "|=") : (unsigned int)1;
1429 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, char ch);
1431 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char ch))__extension__ ({
1432 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1434 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1435 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Putc]);
1436 __internal_VirtualMethod ? __internal_VirtualMethod(f, (char)op) : (unsigned int)1;
1441 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1443 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1444 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1446 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1447 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1448 __internal_VirtualMethod ? __internal_VirtualMethod(f, "delete ") : (unsigned int)1;
1454 void __ecereUnregisterModule_output(struct __ecereNameSpace__ecere__com__Instance * module)
1459 struct ClassFunction;
1463 struct ClassDef * prev;
1464 struct ClassDef * next;
1465 struct Location loc;
1469 struct Declaration * decl;
1470 struct ClassFunction * function;
1471 struct __ecereNameSpace__ecere__sys__OldList * defProperties;
1472 struct PropertyDef * propertyDef;
1473 struct PropertyWatch * propertyWatch;
1475 struct Identifier * defaultProperty;
1478 struct Identifier * id;
1479 struct Initializer * initializer;
1480 } ecere_gcc_struct __anon1;
1481 } ecere_gcc_struct __anon1;
1488 struct MembersInit * prev;
1489 struct MembersInit * next;
1490 struct Location loc;
1494 struct __ecereNameSpace__ecere__sys__OldList * dataMembers;
1495 struct ClassFunction * function;
1496 } ecere_gcc_struct __anon1;
1499 struct ClassFunction
1501 struct ClassFunction * prev;
1502 struct ClassFunction * next;
1503 struct Location loc;
1504 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1505 struct Declarator * declarator;
1506 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1507 struct Statement * body;
1508 struct __ecereNameSpace__ecere__com__Class * _class;
1509 struct __ecereNameSpace__ecere__sys__OldList attached;
1512 struct Symbol * propSet;
1513 unsigned int isVirtual;
1514 unsigned int isConstructor;
1515 unsigned int isDestructor;
1516 unsigned int dontMangle;
1521 struct InitDeclarator;
1523 struct InitDeclarator
1525 struct InitDeclarator * prev;
1526 struct InitDeclarator * next;
1527 struct Location loc;
1528 struct Declarator * declarator;
1529 struct Initializer * initializer;
1534 typedef union YYSTYPE
1539 struct Identifier * id;
1540 struct Expression * exp;
1541 struct Specifier * specifier;
1542 struct __ecereNameSpace__ecere__sys__OldList * list;
1543 struct Enumerator * enumerator;
1544 struct Declarator * declarator;
1545 struct Pointer * pointer;
1546 struct Initializer * initializer;
1547 struct InitDeclarator * initDeclarator;
1548 struct TypeName * typeName;
1549 struct Declaration * declaration;
1550 struct Statement * stmt;
1551 struct FunctionDefinition * function;
1552 struct External * external;
1553 struct Context * context;
1554 struct AsmField * asmField;
1555 struct Attrib * attrib;
1556 struct ExtDecl * extDecl;
1557 struct Attribute * attribute;
1558 struct Instantiation * instance;
1559 struct MembersInit * membersInit;
1560 struct MemberInit * memberInit;
1561 struct ClassFunction * classFunction;
1562 struct ClassDefinition * _class;
1563 struct ClassDef * classDef;
1564 struct PropertyDef * prop;
1566 struct Symbol * symbol;
1567 struct PropertyWatch * propertyWatch;
1568 struct TemplateParameter * templateParameter;
1569 struct TemplateArgument * templateArgument;
1570 struct TemplateDatatype * templateDatatype;
1571 struct DBTableEntry * dbtableEntry;
1572 struct DBIndexItem * dbindexItem;
1573 struct DBTableDef * dbtableDef;
1574 } ecere_gcc_struct YYSTYPE;
1576 extern YYSTYPE yylval;
1581 struct Symbol * parent;
1582 struct Symbol * left;
1583 struct Symbol * right;
1588 struct __ecereNameSpace__ecere__com__Method * method;
1589 struct __ecereNameSpace__ecere__com__Property * _property;
1590 struct __ecereNameSpace__ecere__com__Class * registered;
1591 } ecere_gcc_struct __anon1;
1592 unsigned int notYetDeclared;
1597 struct External * pointerExternal;
1598 struct External * structExternal;
1599 } ecere_gcc_struct __anon1;
1602 struct External * externalGet;
1603 struct External * externalSet;
1604 struct External * externalPtr;
1605 struct External * externalIsSet;
1606 } ecere_gcc_struct __anon2;
1609 struct External * methodExternal;
1610 struct External * methodCodeExternal;
1611 } ecere_gcc_struct __anon3;
1612 } ecere_gcc_struct __anon2;
1613 unsigned int imported;
1614 unsigned int declaredStructSym;
1615 struct __ecereNameSpace__ecere__com__Class * _class;
1616 unsigned int declaredStruct;
1617 unsigned int needConstructor;
1618 unsigned int needDestructor;
1619 char * constructorName;
1622 char * destructorName;
1623 struct ModuleImport * module;
1624 struct ClassImport * _import;
1625 struct Location nameLoc;
1626 unsigned int isParam;
1627 unsigned int isRemote;
1628 unsigned int isStruct;
1629 unsigned int fireWatchersDone;
1631 unsigned int classData;
1632 unsigned int isStatic;
1634 struct __ecereNameSpace__ecere__sys__OldList * templateParams;
1635 struct __ecereNameSpace__ecere__sys__OldList templatedClasses;
1636 struct Context * ctx;
1638 struct Expression * propCategory;
1639 unsigned int mustRegister;
1644 struct External * prev;
1645 struct External * next;
1646 struct Location loc;
1648 struct Symbol * symbol;
1651 struct FunctionDefinition * function;
1652 struct ClassDefinition * _class;
1653 struct Declaration * declaration;
1654 char * importString;
1655 struct Identifier * id;
1656 struct DBTableDef * table;
1657 } ecere_gcc_struct __anon1;
1659 struct External * fwdDecl;
1660 struct __ecereNameSpace__ecere__com__Instance * outgoing;
1661 struct __ecereNameSpace__ecere__com__Instance * incoming;
1662 int nonBreakableIncoming;
1665 static void OutputSpecifier(struct Specifier * spec, struct __ecereNameSpace__ecere__com__Instance * f, unsigned int typeName);
1667 static void OutputPointer(struct Pointer * ptr, struct __ecereNameSpace__ecere__com__Instance * f)
1670 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1672 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1673 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1675 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1676 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1677 __internal_VirtualMethod ? __internal_VirtualMethod(f, "*") : (unsigned int)1;
1681 struct Specifier * spec;
1684 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1686 __internal_VirtualMethod = ((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]);
1691 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
1693 for(spec = (*ptr->qualifiers).first; spec; spec = spec->next)
1695 OutputSpecifier(spec, f, 0);
1698 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1700 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1701 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1703 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1704 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1705 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
1711 OutputPointer(ptr->pointer, f);
1715 void OutputExpression(struct Expression * exp, struct __ecereNameSpace__ecere__com__Instance * f);
1717 static void OutputAsmField(struct AsmField * field, struct __ecereNameSpace__ecere__com__Instance * f)
1722 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1724 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1725 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1727 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1728 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1729 __internal_VirtualMethod ? __internal_VirtualMethod(f, "[") : (unsigned int)1;
1731 OutputIdentifier(field->symbolic, f);
1733 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1735 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1736 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1738 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1739 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1740 __internal_VirtualMethod ? __internal_VirtualMethod(f, "]") : (unsigned int)1;
1744 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1746 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1747 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1749 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1750 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1751 __internal_VirtualMethod ? __internal_VirtualMethod(f, field->command) : (unsigned int)1;
1753 if(field->expression)
1756 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1758 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1759 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1761 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1762 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1763 __internal_VirtualMethod ? __internal_VirtualMethod(f, "(") : (unsigned int)1;
1765 OutputExpression(field->expression, f);
1767 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1769 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1770 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1772 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1773 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1774 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
1779 static void OutputEnumerator(struct Enumerator * enumerator, struct __ecereNameSpace__ecere__com__Instance * f)
1781 OutputIdentifier(enumerator->id, f);
1785 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1787 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1788 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1790 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1791 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1792 __internal_VirtualMethod ? __internal_VirtualMethod(f, " = ") : (unsigned int)1;
1794 OutputExpression(enumerator->exp, f);
1798 static void OutputAttribute(struct Attribute * attr, struct __ecereNameSpace__ecere__com__Instance * f)
1802 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1804 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1805 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1807 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1808 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1809 __internal_VirtualMethod ? __internal_VirtualMethod(f, attr->attr) : (unsigned int)1;
1814 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1816 __internal_VirtualMethod = ((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]);
1821 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
1823 OutputExpression(attr->exp, f);
1827 static void OutputInitializer(struct Initializer * initializer, struct __ecereNameSpace__ecere__com__Instance * f)
1829 char name[274] = "";
1830 char origName[274] = "";
1834 GetSourceName(name, initializer->loc.start.included ? GetIncludeFileFromID(initializer->loc.start.included) : (((void *)0)));
1835 __ecereNameSpace__ecere__sys__PathCat(origName, outputFile);
1836 __ecereNameSpace__ecere__sys__ChangeCh(origName, '\\', '/');
1838 if(initializer->type == 1)
1840 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1842 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1843 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1845 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1846 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1847 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
1852 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1854 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1855 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1857 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1858 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1859 __internal_VirtualMethod ? __internal_VirtualMethod(f, ".") : (unsigned int)1;
1861 OutputIdentifier(initializer->id, f);
1863 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1865 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1866 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1868 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1869 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1870 __internal_VirtualMethod ? __internal_VirtualMethod(f, " =") : (unsigned int)1;
1873 switch(initializer->type)
1877 struct Initializer * init;
1881 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1883 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1884 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1886 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1887 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1888 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
1891 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1893 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1894 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1896 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1897 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1898 __internal_VirtualMethod ? __internal_VirtualMethod(f, "{\n") : (unsigned int)1;
1901 if(inCompiler && outputLineNumbers && initializer->loc.start.line)
1903 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", initializer->loc.start.line, name);
1906 for(init = (*initializer->__anon1.list).first; init; init = init->next)
1908 OutputInitializer(init, f);
1911 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1913 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1914 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1916 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1917 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1918 __internal_VirtualMethod ? __internal_VirtualMethod(f, init->next->type == 1 ? "," : ", ") : (unsigned int)1;
1922 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1924 __internal_VirtualMethod = ((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]);
1929 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n}") : (unsigned int)1;
1931 if(inCompiler && outputLineNumbers && initializer->loc.start.line)
1933 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", initializer->loc.start.line, name);
1942 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1944 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1945 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1947 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1948 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1949 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
1951 if(initializer->__anon1.exp)
1952 OutputExpression(initializer->__anon1.exp, f);
1957 static void OutputAttrib(struct Attrib * attr, struct __ecereNameSpace__ecere__com__Instance * f)
1963 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1965 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1966 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1968 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1969 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1970 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__attribute__((") : (unsigned int)1;
1975 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1977 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1978 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1980 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1981 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1982 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__attribute((") : (unsigned int)1;
1987 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
1989 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
1990 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
1992 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
1993 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
1994 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__attribute_deprecated__((") : (unsigned int)1;
2000 struct Attribute * attrib;
2002 for(attrib = (*attr->attribs).first; attrib; attrib = attrib->next)
2006 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2008 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2009 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2011 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2012 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2013 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
2015 OutputAttribute(attrib, f);
2019 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2021 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2022 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2024 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2025 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2026 __internal_VirtualMethod ? __internal_VirtualMethod(f, "))") : (unsigned int)1;
2030 static void OutputMemberInit(struct MemberInit * init, struct __ecereNameSpace__ecere__com__Instance * f)
2032 if(init->identifiers)
2034 if((*init->identifiers).count > 1)
2036 struct Identifier * id;
2038 for(id = (*init->identifiers).first; id; id = id->next)
2040 OutputIdentifier(id, f);
2043 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2045 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2046 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2048 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2049 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2050 __internal_VirtualMethod ? __internal_VirtualMethod(f, ".") : (unsigned int)1;
2054 else if((*init->identifiers).first)
2055 OutputIdentifier((*init->identifiers).first, f);
2057 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2059 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2060 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2062 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2063 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2064 __internal_VirtualMethod ? __internal_VirtualMethod(f, " =") : (unsigned int)1;
2066 if(init->initializer && init->initializer->type == 0)
2068 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2070 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2071 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2073 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2074 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2075 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
2078 if(init->initializer)
2079 OutputInitializer(init->initializer, f);
2082 static void OutputExtDecl(struct ExtDecl * extDecl, struct __ecereNameSpace__ecere__com__Instance * f)
2084 if(extDecl->type == 0 && extDecl->__anon1.s)
2086 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2088 __internal_VirtualMethod = ((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]);
2093 __internal_VirtualMethod ? __internal_VirtualMethod(f, extDecl->__anon1.s) : (unsigned int)1;
2095 else if(extDecl->type == 1)
2096 OutputAttrib(extDecl->__anon1.attr, f);
2099 void OutputTypeName(struct TypeName * type, struct __ecereNameSpace__ecere__com__Instance * f, unsigned int typeName);
2101 static void OutputDeclarator(struct Declarator * decl, struct __ecereNameSpace__ecere__com__Instance * f)
2106 if(decl->declarator)
2108 OutputDeclarator(decl->declarator, f);
2110 if(decl->__anon1.structDecl.exp)
2113 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2115 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2116 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2118 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2119 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2120 __internal_VirtualMethod ? __internal_VirtualMethod(f, " : ") : (unsigned int)1;
2122 OutputExpression(decl->__anon1.structDecl.exp, f);
2124 if(decl->__anon1.structDecl.posExp)
2127 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2129 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2130 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2132 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2133 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2134 __internal_VirtualMethod ? __internal_VirtualMethod(f, " : ") : (unsigned int)1;
2136 OutputExpression(decl->__anon1.structDecl.posExp, f);
2138 if(decl->__anon1.structDecl.attrib)
2141 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2143 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2144 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2146 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2147 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2148 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
2150 OutputAttrib(decl->__anon1.structDecl.attrib, f);
2154 OutputIdentifier(decl->__anon1.identifier, f);
2158 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2160 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2161 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2163 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2164 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2165 __internal_VirtualMethod ? __internal_VirtualMethod(f, "(") : (unsigned int)1;
2167 OutputDeclarator(decl->declarator, f);
2169 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2171 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2172 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2174 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2175 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2176 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
2180 if(decl->__anon1.extended.extended)
2181 OutputExtDecl(decl->__anon1.extended.extended, f);
2183 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2185 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2186 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2188 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2189 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2190 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
2192 OutputDeclarator(decl->declarator, f);
2195 OutputDeclarator(decl->declarator, f);
2197 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2199 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2200 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2202 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2203 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2204 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
2206 if(decl->__anon1.extended.extended)
2207 OutputExtDecl(decl->__anon1.extended.extended, f);
2210 if(decl->declarator)
2212 OutputDeclarator(decl->declarator, f);
2215 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2217 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2218 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2220 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2221 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2222 __internal_VirtualMethod ? __internal_VirtualMethod(f, "[") : (unsigned int)1;
2224 if(decl->__anon1.array.exp)
2226 ProcessExpressionType(decl->__anon1.array.exp);
2227 ComputeExpression(decl->__anon1.array.exp);
2228 OutputExpression(decl->__anon1.array.exp, f);
2230 else if(decl->__anon1.array.enumClass)
2232 struct Symbol * _class = decl->__anon1.array.enumClass->__anon1.__anon1.symbol;
2234 if(_class && _class->__anon1.registered)
2236 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%d", (int)__ecereNameSpace__ecere__com__eClass_GetProperty(_class->__anon1.registered, "enumSize"));
2240 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2242 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2243 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2245 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2246 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2247 __internal_VirtualMethod ? __internal_VirtualMethod(f, "]") : (unsigned int)1;
2252 struct TypeName * param;
2254 if(decl->declarator)
2255 OutputDeclarator(decl->declarator, f);
2257 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2259 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2260 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2262 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2263 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2264 __internal_VirtualMethod ? __internal_VirtualMethod(f, "(") : (unsigned int)1;
2266 if(decl->__anon1.function.parameters && (*decl->__anon1.function.parameters).first)
2268 for(param = (*decl->__anon1.function.parameters).first; param; param = param->next)
2270 OutputTypeName(param, f, 0);
2273 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2275 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2276 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2278 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2279 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2280 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
2285 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2287 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2288 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2290 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2291 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2292 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
2297 if(decl->__anon1.pointer.pointer)
2298 OutputPointer(decl->__anon1.pointer.pointer, f);
2299 if(decl->declarator)
2302 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2304 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2305 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2307 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2308 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2309 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
2311 OutputDeclarator(decl->declarator, f);
2317 char * StringFromSpecDecl(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl)
2320 struct TypeName * typeName = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TypeName);
2321 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__TempFile);
2324 typeName->qualifiers = specs;
2325 typeName->declarator = decl;
2326 OutputTypeName(typeName, f, 1);
2327 ((typeName ? __extension__ ({
2328 void * __ecerePtrToDelete = (typeName);
2330 __ecereClass_TypeName->Destructor ? __ecereClass_TypeName->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
2331 }) : 0), typeName = 0);
2332 size = (__extension__ ({
2333 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
2335 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
2336 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2338 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2339 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize]);
2340 __internal_VirtualMethod ? __internal_VirtualMethod(f) : (unsigned int)1;
2342 string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (size + 1));
2344 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
2346 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2347 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2349 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2350 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
2351 __internal_VirtualMethod ? __internal_VirtualMethod(f, 0, 0) : (unsigned int)1;
2354 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
2356 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
2357 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2359 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2360 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
2361 __internal_VirtualMethod ? __internal_VirtualMethod(f, string, 1, (unsigned int)size) : (int)1;
2363 string[size] = '\0';
2364 __ecereNameSpace__ecere__sys__TrimRSpaces(string, string);
2365 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
2369 void OutputTypeName(struct TypeName * type, struct __ecereNameSpace__ecere__com__Instance * f, unsigned int typeName)
2371 if(type->qualifiers)
2373 struct Specifier * spec;
2375 for(spec = (*type->qualifiers).first; spec; spec = spec->next)
2377 OutputSpecifier(spec, f, typeName);
2380 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2382 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2383 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2385 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2386 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2387 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
2391 if(type->declarator)
2394 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2396 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2397 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2399 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2400 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2401 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
2403 OutputDeclarator(type->declarator, f);
2405 if(!type->qualifiers && !type->declarator)
2407 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2409 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2410 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2412 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2413 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2414 __internal_VirtualMethod ? __internal_VirtualMethod(f, "...") : (unsigned int)1;
2418 static void OutputInitDeclarator(struct InitDeclarator * decl, struct __ecereNameSpace__ecere__com__Instance * f)
2420 OutputDeclarator(decl->declarator, f);
2421 if(decl->initializer)
2424 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2426 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2427 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2429 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2430 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2431 __internal_VirtualMethod ? __internal_VirtualMethod(f, " =") : (unsigned int)1;
2433 if(decl->initializer->type == 0)
2435 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2437 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2438 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2440 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2441 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2442 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
2444 OutputInitializer(decl->initializer, f);
2448 static void OutputFunction(struct FunctionDefinition * func, struct __ecereNameSpace__ecere__com__Instance * f);
2450 static void OutputClassDef(struct ClassDef * def, struct __ecereNameSpace__ecere__com__Instance * f);
2452 static void OutputSpecifier(struct Specifier * spec, struct __ecereNameSpace__ecere__com__Instance * f, unsigned int typeName)
2457 switch(spec->__anon1.specifier)
2461 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2463 __internal_VirtualMethod = ((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]);
2468 __internal_VirtualMethod ? __internal_VirtualMethod(f, "typedef") : (unsigned int)1;
2473 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2475 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2476 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2478 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2479 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2480 __internal_VirtualMethod ? __internal_VirtualMethod(f, "extern") : (unsigned int)1;
2485 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2487 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2488 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2490 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2491 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2492 __internal_VirtualMethod ? __internal_VirtualMethod(f, "static") : (unsigned int)1;
2497 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2499 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2500 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2502 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2503 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2504 __internal_VirtualMethod ? __internal_VirtualMethod(f, "auto") : (unsigned int)1;
2509 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2511 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2512 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2514 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2515 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2516 __internal_VirtualMethod ? __internal_VirtualMethod(f, "register") : (unsigned int)1;
2521 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2523 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2524 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2526 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2527 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2528 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__thread") : (unsigned int)1;
2533 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2535 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2536 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2538 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2539 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2540 __internal_VirtualMethod ? __internal_VirtualMethod(f, "const") : (unsigned int)1;
2545 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2547 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2548 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2550 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2551 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2552 __internal_VirtualMethod ? __internal_VirtualMethod(f, "volatile") : (unsigned int)1;
2557 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2559 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2560 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2562 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2563 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2564 __internal_VirtualMethod ? __internal_VirtualMethod(f, "void") : (unsigned int)1;
2569 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2571 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2572 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2574 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2575 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2576 __internal_VirtualMethod ? __internal_VirtualMethod(f, "char") : (unsigned int)1;
2582 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2584 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2585 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2587 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2588 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2589 __internal_VirtualMethod ? __internal_VirtualMethod(f, "_Bool") : (unsigned int)1;
2594 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2596 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2597 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2599 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2600 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2601 __internal_VirtualMethod ? __internal_VirtualMethod(f, "_Complex") : (unsigned int)1;
2606 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2608 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2609 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2611 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2612 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2613 __internal_VirtualMethod ? __internal_VirtualMethod(f, "_Imaginary") : (unsigned int)1;
2618 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2620 __internal_VirtualMethod = ((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]);
2625 __internal_VirtualMethod ? __internal_VirtualMethod(f, "restrict") : (unsigned int)1;
2630 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2632 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2633 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2635 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2636 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2637 __internal_VirtualMethod ? __internal_VirtualMethod(f, "short") : (unsigned int)1;
2642 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2644 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2645 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2647 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2648 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2649 __internal_VirtualMethod ? __internal_VirtualMethod(f, "int") : (unsigned int)1;
2654 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2656 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2657 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2659 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2660 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2661 __internal_VirtualMethod ? __internal_VirtualMethod(f, typeName ? "uint" : "unsigned int") : (unsigned int)1;
2666 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2668 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2669 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2671 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2672 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2673 __internal_VirtualMethod ? __internal_VirtualMethod(f, typeName ? "int64" : "long long") : (unsigned int)1;
2678 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2680 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2681 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2683 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2684 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2685 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__int128") : (unsigned int)1;
2690 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2692 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2693 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2695 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2696 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2697 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__builtin_va_list") : (unsigned int)1;
2702 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2704 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2705 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2707 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2708 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2709 __internal_VirtualMethod ? __internal_VirtualMethod(f, "long") : (unsigned int)1;
2714 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2716 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2717 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2719 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2720 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2721 __internal_VirtualMethod ? __internal_VirtualMethod(f, "float") : (unsigned int)1;
2726 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2728 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2729 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2731 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2732 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2733 __internal_VirtualMethod ? __internal_VirtualMethod(f, "double") : (unsigned int)1;
2738 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2740 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2741 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2743 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2744 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2745 __internal_VirtualMethod ? __internal_VirtualMethod(f, "signed") : (unsigned int)1;
2750 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2752 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2753 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2755 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2756 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2757 __internal_VirtualMethod ? __internal_VirtualMethod(f, "unsigned") : (unsigned int)1;
2762 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2764 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2765 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2767 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2768 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2769 __internal_VirtualMethod ? __internal_VirtualMethod(f, "typed_object") : (unsigned int)1;
2774 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2776 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2777 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2779 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2780 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2781 __internal_VirtualMethod ? __internal_VirtualMethod(f, "any_object") : (unsigned int)1;
2786 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2788 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2789 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2791 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2792 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2793 __internal_VirtualMethod ? __internal_VirtualMethod(f, "class") : (unsigned int)1;
2798 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2800 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2801 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2803 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2804 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2805 __internal_VirtualMethod ? __internal_VirtualMethod(f, "thisclass") : (unsigned int)1;
2811 if(spec->__anon1.__anon1.extDecl)
2812 OutputExtDecl(spec->__anon1.__anon1.extDecl, f);
2815 if(spec->__anon1.__anon1.name && !strcmp(spec->__anon1.__anon1.name, "class"))
2818 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2820 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2821 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2823 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2824 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2825 __internal_VirtualMethod ? __internal_VirtualMethod(f, "typed_object") : (unsigned int)1;
2830 struct Symbol * symbol = spec->__anon1.__anon1.symbol;
2832 if(!symbol && spec->__anon1.__anon1.name)
2833 symbol = FindClass(spec->__anon1.__anon1.name);
2837 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2839 __internal_VirtualMethod = ((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]);
2844 __internal_VirtualMethod ? __internal_VirtualMethod(f, symbol->string ? symbol->string : "(null)") : (unsigned int)1;
2847 else if(spec->__anon1.__anon1.name)
2849 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2851 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2852 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2854 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2855 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2856 __internal_VirtualMethod ? __internal_VirtualMethod(f, spec->__anon1.__anon1.name) : (unsigned int)1;
2863 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2865 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2866 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2868 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2869 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2870 __internal_VirtualMethod ? __internal_VirtualMethod(f, "enum") : (unsigned int)1;
2872 if(spec->__anon1.__anon2.id)
2875 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2877 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2878 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2880 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2881 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2882 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
2884 OutputIdentifier(spec->__anon1.__anon2.id, f);
2886 if(spec->__anon1.__anon2.list)
2888 struct Enumerator * enumerator;
2891 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2893 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2894 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2896 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2897 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2898 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n{\n") : (unsigned int)1;
2901 for(enumerator = (*spec->__anon1.__anon2.list).first; enumerator; enumerator = enumerator->next)
2903 OutputEnumerator(enumerator, f);
2904 if(enumerator->next)
2906 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2908 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2909 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2911 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2912 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2913 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
2917 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2919 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2920 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2922 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2923 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2924 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n}") : (unsigned int)1;
2934 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2936 __internal_VirtualMethod = ((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]);
2941 __internal_VirtualMethod ? __internal_VirtualMethod(f, (spec->type == 3) ? "struct" : "union") : (unsigned int)1;
2943 if(spec->__anon1.__anon2.extDeclStruct)
2946 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2948 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2949 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2951 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2952 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2953 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
2955 OutputExtDecl(spec->__anon1.__anon2.extDeclStruct, f);
2957 if(spec->__anon1.__anon2.id)
2960 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2962 __internal_VirtualMethod = ((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]);
2967 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
2969 OutputIdentifier(spec->__anon1.__anon2.id, f);
2971 if(spec->__anon1.__anon2.definitions)
2973 struct ClassDef * def;
2976 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2978 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2979 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2981 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2982 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2983 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n{\n") : (unsigned int)1;
2986 for(def = (*spec->__anon1.__anon2.definitions).first; def; def = def->next)
2988 OutputClassDef(def, f);
2991 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
2993 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
2994 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
2996 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2997 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
2998 __internal_VirtualMethod ? __internal_VirtualMethod(f, "} ecere_gcc_struct") : (unsigned int)1;
3005 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3007 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3008 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3010 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3011 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3012 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__typeof(") : (unsigned int)1;
3014 OutputExpression(spec->__anon1.expression, f);
3016 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3018 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3019 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3021 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3022 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3023 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
3028 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3030 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3031 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3033 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3034 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3035 __internal_VirtualMethod ? __internal_VirtualMethod(f, "subclass(") : (unsigned int)1;
3037 OutputSpecifier(spec->__anon1._class, f, 0);
3039 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3041 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3042 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3044 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3045 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3046 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
3050 OutputIdentifier(spec->__anon1.templateParameter->identifier, f);
3055 static void OutputClass(struct ClassDefinition * _class, struct __ecereNameSpace__ecere__com__Instance * f)
3058 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3060 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3061 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3063 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3064 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3065 __internal_VirtualMethod ? __internal_VirtualMethod(f, "class ") : (unsigned int)1;
3067 OutputSpecifier(_class->_class, f, 0);
3068 if(_class->baseSpecs)
3070 struct Specifier * spec;
3073 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3075 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3076 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3078 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3079 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3080 __internal_VirtualMethod ? __internal_VirtualMethod(f, " : ") : (unsigned int)1;
3082 for(spec = (*_class->baseSpecs).first; spec; spec = spec->next)
3084 OutputSpecifier(spec, f, 0);
3087 if(_class->definitions)
3089 struct ClassDef * def;
3092 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3094 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3095 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3097 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3098 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3099 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n{\n") : (unsigned int)1;
3102 for(def = (*_class->definitions).first; def; def = def->next)
3104 OutputClassDef(def, f);
3107 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3109 __internal_VirtualMethod = ((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]);
3114 __internal_VirtualMethod ? __internal_VirtualMethod(f, "}\n") : (unsigned int)1;
3120 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3122 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3123 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3125 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3126 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3127 __internal_VirtualMethod ? __internal_VirtualMethod(f, ";") : (unsigned int)1;
3131 static void OutputMembersInit(struct MembersInit * init, struct __ecereNameSpace__ecere__com__Instance * f);
3133 static void OutputInstance(struct Instantiation * inst, struct __ecereNameSpace__ecere__com__Instance * f)
3136 OutputSpecifier(inst->_class, f, 0);
3140 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3142 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3143 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3145 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3146 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3147 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
3149 OutputExpression(inst->exp, f);
3151 if(inst->members && (*inst->members).count > 1)
3154 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3156 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3157 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3159 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3160 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3161 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n{\n") : (unsigned int)1;
3165 else if(inst->members)
3167 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3169 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3170 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3172 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3173 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3174 __internal_VirtualMethod ? __internal_VirtualMethod(f, " { ") : (unsigned int)1;
3178 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3180 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3181 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3183 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3184 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3185 __internal_VirtualMethod ? __internal_VirtualMethod(f, "{") : (unsigned int)1;
3189 struct MembersInit * init;
3191 for(init = (*inst->members).first; init; init = init->next)
3193 OutputMembersInit(init, f);
3194 if(init->type == 0 && init->next)
3197 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3199 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3200 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3202 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3203 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3204 __internal_VirtualMethod ? __internal_VirtualMethod(f, ";\n") : (unsigned int)1;
3212 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3214 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3215 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3217 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3218 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3219 __internal_VirtualMethod ? __internal_VirtualMethod(f, " }") : (unsigned int)1;
3223 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3225 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3226 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3228 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3229 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3230 __internal_VirtualMethod ? __internal_VirtualMethod(f, "}") : (unsigned int)1;
3234 static void OutputDeclaration(struct Declaration * decl, struct __ecereNameSpace__ecere__com__Instance * f)
3236 struct Specifier * spec;
3242 strcpy(origName, outputFile);
3243 __ecereNameSpace__ecere__sys__ChangeCh(origName, '\\', '/');
3245 GetSourceName(name, decl->loc.start.included ? GetIncludeFileFromID(decl->loc.start.included) : (((void *)0)));
3246 if(inCompiler && outputLineNumbers && decl->loc.start.line)
3248 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", decl->loc.start.line, name);
3255 struct InitDeclarator * d;
3257 if(decl->__anon1.__anon1.specifiers)
3259 unsigned int inTypeDef = 0;
3261 for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
3263 if(spec->type == 0 && spec->__anon1.specifier == TYPEDEF)
3265 OutputSpecifier(spec, f, inTypeDef && !spec->next);
3268 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3270 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3271 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3273 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3274 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3275 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
3279 if(decl->__anon1.__anon1.declarators && (*decl->__anon1.__anon1.declarators).first)
3282 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3284 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3285 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3287 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3288 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3289 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
3291 for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
3293 OutputInitDeclarator(d, f);
3296 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3298 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3299 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3301 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3302 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3303 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
3311 if(decl->__anon1.__anon1.specifiers)
3313 for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
3315 OutputSpecifier(spec, f, 0);
3318 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3320 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3321 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3323 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3324 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3325 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
3329 if(decl->__anon1.__anon1.declarators)
3331 struct Declarator * d;
3334 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3336 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3337 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3339 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3340 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3341 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
3343 for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
3345 OutputDeclarator(d, f);
3348 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3350 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3351 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3353 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3354 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3355 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
3359 if(decl->extStorage)
3362 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3364 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3365 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3367 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3368 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3369 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
3371 OutputSpecifier(decl->extStorage, f, 0);
3376 if(decl->__anon1.inst)
3378 OutputInstance(decl->__anon1.inst, f);
3385 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3387 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3388 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3390 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3391 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3392 __internal_VirtualMethod ? __internal_VirtualMethod(f, ";\n") : (unsigned int)1;
3395 if(inCompiler && outputLineNumbers && decl->loc.start.line)
3397 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", outputLine + 2, origName);
3402 static void OutputStatement(struct Statement * stmt, struct __ecereNameSpace__ecere__com__Instance * f)
3404 char name[274] = "";
3405 char origName[274] = "";
3409 GetSourceName(name, stmt->loc.start.included ? GetIncludeFileFromID(stmt->loc.start.included) : (((void *)0)));
3410 __ecereNameSpace__ecere__sys__PathCat(origName, outputFile);
3411 __ecereNameSpace__ecere__sys__ChangeCh(origName, '\\', '/');
3413 if(inCompiler && outputLineNumbers && stmt->loc.start.line)
3415 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", stmt->loc.start.line, name);
3421 OutputDeclaration(stmt->__anon1.decl, f);
3424 OutputIdentifier(stmt->__anon1.labeled.id, f);
3426 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3428 __internal_VirtualMethod = ((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]);
3433 __internal_VirtualMethod ? __internal_VirtualMethod(f, ":\n") : (unsigned int)1;
3436 if(stmt->__anon1.labeled.stmt)
3438 if(stmt->__anon1.labeled.stmt->type == 14)
3440 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3442 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3443 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3445 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3446 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3447 __internal_VirtualMethod ? __internal_VirtualMethod(f, "; ") : (unsigned int)1;
3449 OutputStatement(stmt->__anon1.labeled.stmt, f);
3453 if(stmt->__anon1.caseStmt.exp)
3456 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3458 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3459 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3461 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3462 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3463 __internal_VirtualMethod ? __internal_VirtualMethod(f, "case ") : (unsigned int)1;
3465 OutputExpression(stmt->__anon1.caseStmt.exp, f);
3467 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3469 __internal_VirtualMethod = ((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]);
3474 __internal_VirtualMethod ? __internal_VirtualMethod(f, ":\n") : (unsigned int)1;
3481 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3483 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3484 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3486 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3487 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3488 __internal_VirtualMethod ? __internal_VirtualMethod(f, "default:\n") : (unsigned int)1;
3492 if(stmt->__anon1.caseStmt.stmt)
3494 if(stmt->__anon1.caseStmt.stmt->type == 14)
3496 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3498 __internal_VirtualMethod = ((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]);
3503 __internal_VirtualMethod ? __internal_VirtualMethod(f, "; ") : (unsigned int)1;
3505 OutputStatement(stmt->__anon1.caseStmt.stmt, f);
3511 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3513 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3514 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3516 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3517 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3518 __internal_VirtualMethod ? __internal_VirtualMethod(f, "{\n") : (unsigned int)1;
3521 if(stmt->__anon1.compound.declarations)
3523 struct Declaration * decl;
3525 for(decl = (*stmt->__anon1.compound.declarations).first; decl; decl = decl->next)
3527 OutputDeclaration(decl, f);
3530 if(stmt->__anon1.compound.statements)
3532 struct Statement * statement;
3534 if(stmt->__anon1.compound.declarations)
3537 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3539 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3540 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3542 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3543 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3544 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
3548 for(statement = (*stmt->__anon1.compound.statements).first; statement; statement = statement->next)
3550 OutputStatement(statement, f);
3552 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3554 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3555 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3557 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3558 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3559 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
3564 if(inCompiler && outputLineNumbers && stmt->loc.end.line)
3566 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", stmt->loc.end.line, name);
3570 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3572 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3573 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3575 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3576 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3577 __internal_VirtualMethod ? __internal_VirtualMethod(f, "}") : (unsigned int)1;
3583 if(stmt->__anon1.expressions)
3585 struct Expression * exp;
3587 for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
3589 OutputExpression(exp, f);
3592 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3594 __internal_VirtualMethod = ((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]);
3599 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
3604 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3606 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3607 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3609 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3610 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3611 __internal_VirtualMethod ? __internal_VirtualMethod(f, ";") : (unsigned int)1;
3617 struct Expression * exp;
3620 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3622 __internal_VirtualMethod = ((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]);
3627 __internal_VirtualMethod ? __internal_VirtualMethod(f, "if(") : (unsigned int)1;
3629 for(exp = (*stmt->__anon1.ifStmt.exp).first; exp; exp = exp->next)
3631 OutputExpression(exp, f);
3634 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3636 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3637 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3639 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3640 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3641 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
3645 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3647 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3648 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3650 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3651 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3652 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")\n") : (unsigned int)1;
3655 if(stmt->__anon1.ifStmt.stmt)
3656 OutputStatement(stmt->__anon1.ifStmt.stmt, f);
3657 if(stmt->__anon1.ifStmt.elseStmt)
3660 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3662 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3663 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3665 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3666 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3667 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
3671 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3673 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3674 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3676 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3677 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3678 __internal_VirtualMethod ? __internal_VirtualMethod(f, "else") : (unsigned int)1;
3680 if(stmt->__anon1.ifStmt.elseStmt->type != 4)
3683 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3685 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3686 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3688 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3689 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3690 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
3696 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3698 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3699 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3701 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3702 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3703 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
3705 OutputStatement(stmt->__anon1.ifStmt.elseStmt, f);
3711 struct Expression * exp;
3714 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3716 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3717 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3719 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3720 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3721 __internal_VirtualMethod ? __internal_VirtualMethod(f, "switch(") : (unsigned int)1;
3723 if(stmt->__anon1.switchStmt.exp)
3725 for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
3727 OutputExpression(exp, f);
3730 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3732 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3733 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3735 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3736 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3737 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
3742 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3744 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3745 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3747 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3748 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3749 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")\n") : (unsigned int)1;
3752 OutputStatement(stmt->__anon1.switchStmt.stmt, f);
3757 struct Expression * exp;
3760 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3762 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3763 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3765 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3766 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3767 __internal_VirtualMethod ? __internal_VirtualMethod(f, "while(") : (unsigned int)1;
3769 if(stmt->__anon1.switchStmt.exp)
3771 for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
3773 OutputExpression(exp, f);
3776 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3778 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3779 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3781 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3782 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3783 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
3788 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3790 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3791 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3793 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3794 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3795 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")\n") : (unsigned int)1;
3798 OutputStatement(stmt->__anon1.whileStmt.stmt, f);
3803 struct Expression * exp;
3806 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3808 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3809 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3811 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3812 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3813 __internal_VirtualMethod ? __internal_VirtualMethod(f, "do\n") : (unsigned int)1;
3816 OutputStatement(stmt->__anon1.whileStmt.stmt, f);
3818 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3820 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3821 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3823 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3824 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3825 __internal_VirtualMethod ? __internal_VirtualMethod(f, "while(") : (unsigned int)1;
3827 for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
3829 OutputExpression(exp, f);
3832 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3834 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3835 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3837 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3838 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3839 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
3843 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3845 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3846 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3848 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3849 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3850 __internal_VirtualMethod ? __internal_VirtualMethod(f, ");") : (unsigned int)1;
3856 struct Expression * exp;
3859 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3861 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3862 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3864 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3865 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3866 __internal_VirtualMethod ? __internal_VirtualMethod(f, "for(") : (unsigned int)1;
3868 OutputStatement(stmt->__anon1.forStmt.init, f);
3870 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3872 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3873 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3875 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3876 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3877 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
3879 OutputStatement(stmt->__anon1.forStmt.check, f);
3881 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3883 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3884 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3886 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3887 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3888 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
3890 if(stmt->__anon1.forStmt.increment)
3892 if(inCompiler && outputLineNumbers && stmt->loc.end.line)
3894 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", stmt->loc.end.line, name);
3897 for(exp = (*stmt->__anon1.forStmt.increment).first; exp; exp = exp->next)
3899 OutputExpression(exp, f);
3902 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3904 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3905 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3907 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3908 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3909 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
3914 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3916 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3917 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3919 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3920 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3921 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")\n") : (unsigned int)1;
3924 OutputStatement(stmt->__anon1.forStmt.stmt, f);
3930 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3932 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3933 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3935 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3936 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3937 __internal_VirtualMethod ? __internal_VirtualMethod(f, "goto ") : (unsigned int)1;
3939 OutputIdentifier(stmt->__anon1.gotoStmt.id, f);
3941 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3943 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3944 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3946 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3947 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3948 __internal_VirtualMethod ? __internal_VirtualMethod(f, ";") : (unsigned int)1;
3954 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3956 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3957 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3959 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3960 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3961 __internal_VirtualMethod ? __internal_VirtualMethod(f, "continue;") : (unsigned int)1;
3966 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
3968 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
3969 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
3971 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3972 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
3973 __internal_VirtualMethod ? __internal_VirtualMethod(f, "break;") : (unsigned int)1;
3978 struct Expression * exp;
3980 if(inCompiler && memoryGuard)
3982 struct Expression * exp = stmt->__anon1.expressions ? (*stmt->__anon1.expressions).last : (((void *)0));
3983 struct Type * returnType = exp ? (exp->destType ? exp->destType : exp->expType) : (((void *)0));
3985 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "{ ");
3986 if(returnType && returnType->kind != 0)
3988 char string[1024] = "";
3989 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
3990 struct Declarator * decl;
3991 struct TypeName * typeName;
3993 if(returnType->kind == 20)
3995 if(returnType->__anon1.templateParameter->dataTypeString)
3996 decl = SpecDeclFromString(returnType->__anon1.templateParameter->dataTypeString, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal")));
3997 else if(returnType->__anon1.templateParameter->__anon1.dataType)
3999 (__ecereNameSpace__ecere__com__eSystem_Delete(specs), specs = 0);
4000 specs = CopyList(returnType->__anon1.templateParameter->__anon1.dataType->specifiers, (void *)(CopySpecifier));
4001 decl = PlugDeclarator(returnType->__anon1.templateParameter->__anon1.dataType->decl, MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal")));
4005 ListAdd(specs, MkSpecifierName("uint64"));
4006 decl = MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal"));
4011 if(returnType->passAsTemplate)
4012 strcpy(string, "uint64");
4014 PrintType(returnType, string, returnType->kind == 18 ? 1 : 0, 1);
4015 decl = SpecDeclFromString(string, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal")));
4017 typeName = MkTypeName(specs, decl);
4018 InstDeclPassTypeName(typeName, 0);
4019 OutputTypeName(typeName, f, 0);
4020 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ";");
4021 FreeTypeName(typeName);
4026 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4028 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4029 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4031 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4032 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4033 __internal_VirtualMethod ? __internal_VirtualMethod(f, "return ") : (unsigned int)1;
4037 struct Expression * exp = stmt->__anon1.expressions ? (*stmt->__anon1.expressions).last : (((void *)0));
4039 if(exp && exp->expType && exp->expType->kind != 0)
4040 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "__ecereReturnVal = ");
4042 if(stmt->__anon1.expressions)
4044 for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
4046 OutputExpression(exp, f);
4049 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4051 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4052 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4054 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4055 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4056 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
4061 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4063 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4064 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4066 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4067 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4068 __internal_VirtualMethod ? __internal_VirtualMethod(f, ";") : (unsigned int)1;
4070 if(inCompiler && memoryGuard)
4072 struct Expression * exp = stmt->__anon1.expressions ? (struct Expression *)(*stmt->__anon1.expressions).last : (((void *)0));
4074 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereNameSpace__ecere__com__MemoryGuard_PopLoc();");
4075 if(exp && exp->expType && exp->expType->kind != 0)
4076 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "return __ecereReturnVal;");
4078 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "return;");
4079 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "}");
4085 struct AsmField * field;
4088 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4090 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4091 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4093 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4094 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4095 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__asm__ ") : (unsigned int)1;
4097 if(stmt->__anon1.asmStmt.spec)
4098 OutputSpecifier(stmt->__anon1.asmStmt.spec, f, 0);
4100 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4102 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4103 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4105 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4106 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4107 __internal_VirtualMethod ? __internal_VirtualMethod(f, "(") : (unsigned int)1;
4110 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4112 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4113 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4115 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4116 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4117 __internal_VirtualMethod ? __internal_VirtualMethod(f, stmt->__anon1.asmStmt.statements) : (unsigned int)1;
4119 if(stmt->__anon1.asmStmt.inputFields || stmt->__anon1.asmStmt.outputFields || stmt->__anon1.asmStmt.clobberedFields)
4122 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4124 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4125 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4127 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4128 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4129 __internal_VirtualMethod ? __internal_VirtualMethod(f, ":") : (unsigned int)1;
4131 if(stmt->__anon1.asmStmt.inputFields)
4133 for(field = (*stmt->__anon1.asmStmt.inputFields).first; field; field = field->next)
4137 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4139 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4140 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4142 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4143 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4144 __internal_VirtualMethod ? __internal_VirtualMethod(f, ",") : (unsigned int)1;
4146 OutputAsmField(field, f);
4150 if(stmt->__anon1.asmStmt.outputFields || stmt->__anon1.asmStmt.clobberedFields)
4153 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4155 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4156 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4158 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4159 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4160 __internal_VirtualMethod ? __internal_VirtualMethod(f, ":") : (unsigned int)1;
4162 if(stmt->__anon1.asmStmt.outputFields)
4164 for(field = (*stmt->__anon1.asmStmt.outputFields).first; field; field = field->next)
4168 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4170 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4171 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4173 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4174 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4175 __internal_VirtualMethod ? __internal_VirtualMethod(f, ",") : (unsigned int)1;
4177 OutputAsmField(field, f);
4181 if(stmt->__anon1.asmStmt.clobberedFields)
4184 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4186 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4187 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4189 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4190 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4191 __internal_VirtualMethod ? __internal_VirtualMethod(f, ":") : (unsigned int)1;
4193 for(field = (*stmt->__anon1.asmStmt.clobberedFields).first; field; field = field->next)
4197 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4199 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4200 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4202 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4203 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4204 __internal_VirtualMethod ? __internal_VirtualMethod(f, ",") : (unsigned int)1;
4206 OutputAsmField(field, f);
4210 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4212 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4213 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4215 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4216 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4217 __internal_VirtualMethod ? __internal_VirtualMethod(f, ");\n") : (unsigned int)1;
4223 if(inCompiler && outputLineNumbers && stmt->loc.start.line)
4225 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", outputLine + 2, origName);
4230 void OutputTree(struct __ecereNameSpace__ecere__sys__OldList * ast, struct __ecereNameSpace__ecere__com__Instance * f)
4232 struct External * external;
4235 for(external = ast->first; external; external = external->next)
4237 switch(external->type)
4240 OutputFunction(external->__anon1.function, f);
4242 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4244 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4245 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4247 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4248 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4249 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
4254 if(external->__anon1.declaration)
4255 OutputDeclaration(external->__anon1.declaration, f);
4257 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4259 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4260 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4262 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4263 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4264 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
4269 OutputClass(external->__anon1._class, f);
4271 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4273 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4274 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4276 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4277 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4278 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
4286 void OutputExternal(struct External * external, struct __ecereNameSpace__ecere__com__Instance * f)
4288 switch(external->type)
4291 OutputFunction(external->__anon1.function, f);
4293 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4295 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4296 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4298 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4299 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4300 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
4305 if(external->__anon1.declaration)
4306 OutputDeclaration(external->__anon1.declaration, f);
4308 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4310 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4311 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4313 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4314 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4315 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
4320 OutputClass(external->__anon1._class, f);
4322 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4324 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4325 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4327 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4328 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4329 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
4336 void OutputExpression(struct Expression * exp, struct __ecereNameSpace__ecere__com__Instance * f)
4342 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4344 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4345 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4347 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4348 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4349 __internal_VirtualMethod ? __internal_VirtualMethod(f, "class(") : (unsigned int)1;
4351 if(exp->__anon1._classExp.specifiers)
4353 struct Specifier * spec;
4355 for(spec = (*exp->__anon1._classExp.specifiers).first; spec; spec = spec->next)
4357 OutputSpecifier(spec, f, 0);
4360 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4362 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4363 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4365 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4366 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4367 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
4370 if(exp->__anon1._classExp.decl)
4373 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4375 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4376 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4378 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4379 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4380 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
4382 OutputDeclarator(exp->__anon1._classExp.decl, f);
4385 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4387 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4388 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4390 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4391 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4392 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
4398 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4400 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4401 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4403 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4404 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4405 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__extension__ (") : (unsigned int)1;
4407 OutputStatement(exp->__anon1.compound, f);
4409 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4411 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4412 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4414 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4415 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4416 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
4418 if(inCompiler && outputLineNumbers && exp->loc.end.line)
4420 char name[274] = "";
4422 GetSourceName(name, exp->loc.end.included ? GetIncludeFileFromID(exp->loc.end.included) : (((void *)0)));
4423 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", exp->loc.end.line, name);
4429 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4431 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4432 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4434 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4435 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4436 __internal_VirtualMethod ? __internal_VirtualMethod(f, "new ") : (unsigned int)1;
4439 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4441 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4442 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4444 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4445 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4446 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
4448 OutputTypeName(exp->__anon1._renew.typeName, f, 0);
4450 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4452 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4453 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4455 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4456 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4457 __internal_VirtualMethod ? __internal_VirtualMethod(f, "[") : (unsigned int)1;
4459 OutputExpression(exp->__anon1._renew.size, f);
4461 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4463 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4464 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4466 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4467 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4468 __internal_VirtualMethod ? __internal_VirtualMethod(f, "]") : (unsigned int)1;
4473 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4475 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4476 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4478 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4479 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4480 __internal_VirtualMethod ? __internal_VirtualMethod(f, "new0 ") : (unsigned int)1;
4483 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4485 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4486 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4488 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4489 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4490 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
4492 OutputTypeName(exp->__anon1._renew.typeName, f, 0);
4494 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4496 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4497 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4499 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4500 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4501 __internal_VirtualMethod ? __internal_VirtualMethod(f, "[") : (unsigned int)1;
4503 OutputExpression(exp->__anon1._renew.size, f);
4505 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4507 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4508 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4510 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4511 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4512 __internal_VirtualMethod ? __internal_VirtualMethod(f, "]") : (unsigned int)1;
4517 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4519 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4520 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4522 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4523 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4524 __internal_VirtualMethod ? __internal_VirtualMethod(f, "renew ") : (unsigned int)1;
4526 OutputExpression(exp->__anon1._renew.exp, f);
4528 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4530 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4531 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4533 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4534 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4535 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
4537 OutputTypeName(exp->__anon1._renew.typeName, f, 0);
4539 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4541 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4542 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4544 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4545 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4546 __internal_VirtualMethod ? __internal_VirtualMethod(f, "[") : (unsigned int)1;
4548 OutputExpression(exp->__anon1._renew.size, f);
4550 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4552 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4553 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4555 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4556 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4557 __internal_VirtualMethod ? __internal_VirtualMethod(f, "]") : (unsigned int)1;
4562 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4564 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4565 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4567 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4568 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4569 __internal_VirtualMethod ? __internal_VirtualMethod(f, "renew0 ") : (unsigned int)1;
4571 OutputExpression(exp->__anon1._renew.exp, f);
4573 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4575 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4576 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4578 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4579 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4580 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
4582 OutputTypeName(exp->__anon1._renew.typeName, f, 0);
4584 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4586 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4587 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4589 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4590 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4591 __internal_VirtualMethod ? __internal_VirtualMethod(f, "[") : (unsigned int)1;
4593 OutputExpression(exp->__anon1._renew.size, f);
4595 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4597 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4598 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4600 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4601 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4602 __internal_VirtualMethod ? __internal_VirtualMethod(f, "]") : (unsigned int)1;
4606 if(exp->__anon1.__anon1.identifier)
4607 OutputIdentifier(exp->__anon1.__anon1.identifier, f);
4610 if(exp->__anon1.instance)
4611 OutputInstance(exp->__anon1.instance, f);
4614 if(exp->__anon1.__anon1.constant)
4616 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4618 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4619 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4621 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4622 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4623 __internal_VirtualMethod ? __internal_VirtualMethod(f, exp->__anon1.__anon1.constant) : (unsigned int)1;
4627 if(exp->__anon1.__anon2.string)
4629 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4631 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4632 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4634 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4635 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4636 __internal_VirtualMethod ? __internal_VirtualMethod(f, exp->__anon1.__anon2.string) : (unsigned int)1;
4640 if(exp->__anon1.op.exp1)
4642 OutputExpression(exp->__anon1.op.exp1, f);
4643 if(exp->__anon1.op.exp2)
4645 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4647 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4648 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4650 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4651 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4652 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
4655 OutputOperator(exp->__anon1.op.op, f);
4656 if(exp->__anon1.op.exp2)
4658 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))
4660 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4662 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4663 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4665 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4666 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4667 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
4669 OutputExpression(exp->__anon1.op.exp2, f);
4675 struct Expression * expression;
4679 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4681 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4682 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4684 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4685 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4686 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__extension__ ") : (unsigned int)1;
4689 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4691 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4692 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4694 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4695 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4696 __internal_VirtualMethod ? __internal_VirtualMethod(f, "(") : (unsigned int)1;
4698 if(exp->__anon1.list)
4700 for(expression = (*exp->__anon1.list).first; expression; expression = expression->next)
4702 OutputExpression(expression, f);
4703 if(expression->next)
4705 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4707 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4708 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4710 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4711 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4712 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
4717 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4719 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4720 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4722 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4723 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4724 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
4730 struct Expression * expression;
4732 if(exp->__anon1.index.exp)
4733 OutputExpression(exp->__anon1.index.exp, f);
4735 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4737 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4738 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4740 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4741 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4742 __internal_VirtualMethod ? __internal_VirtualMethod(f, "[") : (unsigned int)1;
4744 if(exp->__anon1.index.index)
4745 for(expression = (*exp->__anon1.index.index).first; expression; expression = expression->next)
4747 OutputExpression(expression, f);
4748 if(expression->next)
4750 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4752 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4753 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4755 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4756 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4757 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
4761 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4763 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4764 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4766 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4767 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4768 __internal_VirtualMethod ? __internal_VirtualMethod(f, "]") : (unsigned int)1;
4774 OutputExpression(exp->__anon1.call.exp, f);
4776 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4778 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4779 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4781 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4782 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4783 __internal_VirtualMethod ? __internal_VirtualMethod(f, "(") : (unsigned int)1;
4785 if(exp->__anon1.call.arguments)
4787 struct Expression * expression;
4789 for(expression = (*exp->__anon1.call.arguments).first; expression; expression = expression->next)
4791 OutputExpression(expression, f);
4792 if(expression->next)
4794 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4796 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4797 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4799 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4800 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4801 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
4806 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4808 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4809 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4811 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4812 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4813 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
4818 if(exp->__anon1.member.exp)
4819 OutputExpression(exp->__anon1.member.exp, f);
4821 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4823 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4824 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4826 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4827 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4828 __internal_VirtualMethod ? __internal_VirtualMethod(f, ".") : (unsigned int)1;
4830 if(exp->__anon1.member.member)
4831 OutputIdentifier(exp->__anon1.member.member, f);
4834 OutputExpression(exp->__anon1.member.exp, f);
4836 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4838 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4839 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4841 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4842 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4843 __internal_VirtualMethod ? __internal_VirtualMethod(f, "->") : (unsigned int)1;
4845 OutputIdentifier(exp->__anon1.member.member, f);
4849 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4851 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4852 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4854 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4855 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4856 __internal_VirtualMethod ? __internal_VirtualMethod(f, "sizeof(") : (unsigned int)1;
4858 OutputTypeName(exp->__anon1.typeName, f, 0);
4860 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4862 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4863 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4865 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4866 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4867 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
4872 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4874 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4875 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4877 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4878 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4879 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__alignof__(") : (unsigned int)1;
4881 OutputTypeName(exp->__anon1.typeName, f, 0);
4883 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4885 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4886 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4888 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4889 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4890 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
4895 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4897 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4898 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4900 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4901 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4902 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__builtin_offsetof(") : (unsigned int)1;
4904 if(exp->__anon1.typeName)
4905 OutputTypeName(exp->__anon1.typeName, f, 0);
4907 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4909 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4910 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4912 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4913 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4914 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
4916 if(exp->__anon1.__anon1.identifier)
4917 OutputIdentifier(exp->__anon1.__anon1.identifier, f);
4919 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4921 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4922 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4924 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4925 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4926 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
4931 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4933 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4934 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4936 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4937 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4938 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__extension__ (") : (unsigned int)1;
4940 if(exp->__anon1.initializer.typeName)
4941 OutputTypeName(exp->__anon1.initializer.typeName, f, 0);
4943 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4945 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4946 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4948 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4949 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4950 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
4952 if(exp->__anon1.initializer.initializer)
4953 OutputInitializer(exp->__anon1.initializer.initializer, f);
4957 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4959 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4960 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4962 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4963 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4964 __internal_VirtualMethod ? __internal_VirtualMethod(f, "(") : (unsigned int)1;
4966 OutputTypeName(exp->__anon1.cast.typeName, f, 0);
4968 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4970 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4971 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4973 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4974 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4975 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
4977 if(exp->__anon1.cast.exp)
4978 OutputExpression(exp->__anon1.cast.exp, f);
4981 OutputExpression(exp->__anon1.cond.cond, f);
4983 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
4985 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
4986 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
4988 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
4989 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
4990 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ? ") : (unsigned int)1;
4993 struct Expression * expression;
4995 for(expression = (*exp->__anon1.cond.exp).first; expression; expression = expression->next)
4997 OutputExpression(expression, f);
4998 if(expression->next)
5000 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5002 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5003 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5005 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5006 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5007 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
5012 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5014 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5015 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5017 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5018 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5019 __internal_VirtualMethod ? __internal_VirtualMethod(f, " : ") : (unsigned int)1;
5021 if(exp->__anon1.cond.elseExp)
5022 OutputExpression(exp->__anon1.cond.elseExp, f);
5026 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5028 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5029 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5031 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5032 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5033 __internal_VirtualMethod ? __internal_VirtualMethod(f, "__builtin_va_arg(") : (unsigned int)1;
5035 OutputExpression(exp->__anon1.vaArg.exp, f);
5037 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5039 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5040 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5042 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5043 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5044 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
5046 OutputTypeName(exp->__anon1.vaArg.typeName, f, 0);
5048 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5050 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5051 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5053 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5054 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5055 __internal_VirtualMethod ? __internal_VirtualMethod(f, ")") : (unsigned int)1;
5060 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5062 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5063 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5065 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5066 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5067 __internal_VirtualMethod ? __internal_VirtualMethod(f, "[") : (unsigned int)1;
5069 if(exp->__anon1.list)
5071 struct Expression * expression;
5073 for(expression = (*exp->__anon1.list).first; expression; expression = expression->next)
5075 OutputExpression(expression, f);
5076 if(expression->next)
5078 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5080 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5081 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5083 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5084 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5085 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
5090 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5092 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5093 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5095 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5096 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5097 __internal_VirtualMethod ? __internal_VirtualMethod(f, "]") : (unsigned int)1;
5103 static void OutputFunction(struct FunctionDefinition * func, struct __ecereNameSpace__ecere__com__Instance * f)
5105 struct FunctionDefinition * oldFunc = curFunction;
5108 if(func->specifiers)
5110 struct Specifier * spec;
5112 for(spec = (*func->specifiers).first; spec; spec = spec->next)
5114 OutputSpecifier(spec, f, 0);
5117 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5119 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5120 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5122 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5123 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5124 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
5128 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5130 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5131 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5133 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5134 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5135 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
5138 if(func->declarator)
5139 OutputDeclarator(func->declarator, f);
5141 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5143 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5144 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5146 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5147 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5148 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
5151 if(func->declarations)
5153 struct Declaration * decl;
5155 for(decl = (*func->declarations).first; decl; decl = decl->next)
5157 OutputDeclaration(decl, f);
5160 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5162 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5163 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5165 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5166 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5167 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
5173 if(inCompiler && memoryGuard)
5175 char name[1024] = "";
5176 struct Identifier * id = GetDeclId(func->declarator);
5178 GetSourceName(name, func->loc.start.included ? GetIncludeFileFromID(func->loc.start.included) : (((void *)0)));
5179 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "{\n");
5180 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereNameSpace__ecere__com__MemoryGuard_PushLoc(\"%s:%s\");\n", name, id->string);
5183 OutputStatement(func->body, f);
5184 if(inCompiler && memoryGuard)
5186 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereNameSpace__ecere__com__MemoryGuard_PopLoc();\n");
5187 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "}\n");
5191 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5193 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5194 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5196 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5197 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5198 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
5202 curFunction = oldFunc;
5205 static void OutputClassFunction(struct ClassFunction * func, struct __ecereNameSpace__ecere__com__Instance * f)
5207 if(func->specifiers)
5209 struct Specifier * spec;
5211 for(spec = (*func->specifiers).first; spec; spec = spec->next)
5213 OutputSpecifier(spec, f, 0);
5216 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5218 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5219 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5221 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5222 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5223 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
5227 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5229 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5230 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5232 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5233 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5234 __internal_VirtualMethod ? __internal_VirtualMethod(f, " ") : (unsigned int)1;
5237 if(func->declarator)
5238 OutputDeclarator(func->declarator, f);
5240 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5242 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5243 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5245 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5246 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5247 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
5250 if(func->declarations)
5252 struct Declaration * decl;
5254 for(decl = (*func->declarations).first; decl; decl = decl->next)
5256 OutputDeclaration(decl, f);
5259 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5261 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5262 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5264 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5265 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5266 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
5272 OutputStatement(func->body, f);
5274 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5276 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5277 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5279 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5280 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5281 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
5287 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5289 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5290 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5292 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5293 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5294 __internal_VirtualMethod ? __internal_VirtualMethod(f, ";") : (unsigned int)1;
5298 void __ecereRegisterModule_output(struct __ecereNameSpace__ecere__com__Instance * module)
5300 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
5302 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetMemoryGuard", "void SetMemoryGuard(bool b)", SetMemoryGuard, module, 1);
5303 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetMemoryGuard", "bool GetMemoryGuard(void)", GetMemoryGuard, module, 1);
5304 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OutputTypeName", "void OutputTypeName(TypeName type, ecere::sys::File f, bool typeName)", OutputTypeName, module, 1);
5305 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OutputExpression", "void OutputExpression(Expression exp, ecere::sys::File f)", OutputExpression, module, 1);
5306 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OutputTree", "void OutputTree(ecere::sys::OldList ast, ecere::sys::File f)", OutputTree, module, 1);
5307 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OutputExternal", "void OutputExternal(External external, ecere::sys::File f)", OutputExternal, module, 1);
5308 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("StringFromSpecDecl", "char * StringFromSpecDecl(ecere::sys::OldList specs, Declarator decl)", StringFromSpecDecl, module, 1);
5311 static void OutputMembersInit(struct MembersInit * init, struct __ecereNameSpace__ecere__com__Instance * f)
5317 struct MemberInit * member;
5319 if(init->__anon1.dataMembers)
5321 for(member = (*init->__anon1.dataMembers).first; member; member = member->next)
5323 OutputMemberInit(member, f);
5326 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5328 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5329 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5331 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5332 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5333 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
5340 OutputClassFunction(init->__anon1.function, f);
5345 static void OutputClassDef(struct ClassDef * def, struct __ecereNameSpace__ecere__com__Instance * f)
5350 if(def->__anon1.decl)
5352 OutputDeclaration(def->__anon1.decl, f);
5353 if(def->next && def->next->type != 2)
5356 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5358 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5359 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5361 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5362 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5363 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;
5371 struct MemberInit * init;
5373 for(init = (*def->__anon1.defProperties).first; init; init = init->next)
5375 OutputMemberInit(init, f);
5378 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5380 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5381 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5383 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5384 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5385 __internal_VirtualMethod ? __internal_VirtualMethod(f, ", ") : (unsigned int)1;
5389 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5391 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5392 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5394 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5395 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5396 __internal_VirtualMethod ? __internal_VirtualMethod(f, ";\n\n") : (unsigned int)1;
5402 OutputClassFunction(def->__anon1.function, f);
5404 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const char * string);
5406 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char * string))__extension__ ({
5407 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
5409 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
5410 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts]);
5411 __internal_VirtualMethod ? __internal_VirtualMethod(f, "\n") : (unsigned int)1;