compiler/libec: Fixed build issues in last commit
[sdk] / compiler / bootstrap / libec / bootstrap / shortcuts.c
1 /* Code generated from eC source file: shortcuts.ec */
2 #if defined(_WIN32)
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
6 #else
7 #define __runtimePlatform 2
8 #endif
9 #if defined(__GNUC__)
10 typedef long long int64;
11 typedef unsigned long long uint64;
12 #ifndef _WIN32
13 #define __declspec(x)
14 #endif
15 #elif defined(__TINYC__)
16 #include <stdarg.h>
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
20 #ifdef _WIN32
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
24 #else
25 #define __declspec(x)
26 #endif
27 typedef long long int64;
28 typedef unsigned long long uint64;
29 #else
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
32 #endif
33 #ifdef __BIG_ENDIAN__
34 #define __ENDIAN_PAD(x) (8 - (x))
35 #else
36 #define __ENDIAN_PAD(x) 0
37 #endif
38 #if defined(_WIN32)
39 #   if defined(__GNUC__) || defined(__TINYC__)
40 #      define ecere_stdcall __attribute__((__stdcall__))
41 #   else
42 #      define ecere_stdcall __stdcall
43 #   endif
44 #else
45 #   define ecere_stdcall
46 #endif
47 #include <stdint.h>
48 #include <sys/types.h>
49 unsigned int parsingType;
50
51 extern unsigned int echoOn;
52
53 extern unsigned int type_yydebug;
54
55 int type_yyparse();
56
57 unsigned int parseTypeError;
58
59 extern int declMode;
60
61 extern int structDeclMode;
62
63 extern void resetScanner();
64
65 struct __ecereNameSpace__ecere__sys__OldList
66 {
67 void *  first;
68 void *  last;
69 int count;
70 unsigned int offset;
71 unsigned int circ;
72 } __attribute__ ((gcc_struct));
73
74 struct __ecereNameSpace__ecere__sys__BTNode;
75
76 struct Type;
77
78 struct __ecereNameSpace__ecere__com__DataValue
79 {
80 union
81 {
82 char c;
83 unsigned char uc;
84 short s;
85 unsigned short us;
86 int i;
87 unsigned int ui;
88 void *  p;
89 float f;
90 double d;
91 long long i64;
92 uint64 ui64;
93 } __attribute__ ((gcc_struct)) __anon1;
94 } __attribute__ ((gcc_struct));
95
96 struct __ecereNameSpace__ecere__com__SerialBuffer
97 {
98 unsigned char *  _buffer;
99 unsigned int count;
100 unsigned int _size;
101 unsigned int pos;
102 } __attribute__ ((gcc_struct));
103
104 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
105
106 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
107
108 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
109
110 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
111
112 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void *  memory);
113
114 struct CodePosition
115 {
116 int line;
117 int charPos;
118 int pos;
119 int included;
120 } __attribute__ ((gcc_struct));
121
122 struct Symbol;
123
124 struct Identifier;
125
126 struct Expression;
127
128 struct Attrib;
129
130 struct Specifier;
131
132 struct Pointer;
133
134 struct ExtDecl;
135
136 struct Declaration;
137
138 struct InitDeclarator;
139
140 extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
141
142 extern size_t strlen(const char * );
143
144 extern void Compiler_Warning(const char *  format, ...);
145
146 extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
147
148 struct __ecereNameSpace__ecere__com__GlobalFunction;
149
150 void SetParsingType(unsigned int b)
151 {
152 parsingType = b;
153 }
154
155 extern struct __ecereNameSpace__ecere__sys__OldList *  MkList(void);
156
157 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void *  item);
158
159 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item);
160
161 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item);
162
163 struct Location
164 {
165 struct CodePosition start;
166 struct CodePosition end;
167 } __attribute__ ((gcc_struct));
168
169 void resetScannerPos(struct CodePosition * pos);
170
171 extern struct Identifier * MkIdentifier(const char *  string);
172
173 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
174
175 extern struct Expression * MkExpIdentifier(struct Identifier * id);
176
177 extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp);
178
179 extern struct Specifier * MkSpecifierName(const char *  name);
180
181 extern struct Specifier * MkSpecifier(int specifier);
182
183 extern struct Pointer * MkPointer(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Pointer * pointer);
184
185 extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
186
187 char * QMkString(const char * source)
188 {
189 char * string;
190
191 if(source)
192 {
193 int len = 0;
194 int i, j = 0;
195 char ch;
196
197 for(i = 0; (ch = source[i]); i++)
198 {
199 len++;
200 if(ch == '\"' || ch == '\\')
201 len++;
202 }
203 string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (len + 3));
204 string[j++] = '\"';
205 for(i = 0; (ch = source[i]); i++)
206 {
207 if(ch == '\"' || ch == '\\')
208 string[j++] = '\\';
209 string[j++] = ch;
210 }
211 string[j++] = '\"';
212 string[j] = '\0';
213 }
214 else
215 string = __ecereNameSpace__ecere__sys__CopyString("0");
216 return string;
217 }
218
219 extern struct Location yylloc;
220
221 struct Expression * QBrackets(struct Expression * exp)
222 {
223 struct __ecereNameSpace__ecere__sys__OldList * expList = MkList();
224
225 ListAdd(expList, exp);
226 return MkExpBrackets(expList);
227 }
228
229 struct Expression * QMkExpId(const char * id)
230 {
231 return MkExpIdentifier(MkIdentifier(id));
232 }
233
234 struct Expression * QMkExpCond(struct Expression * cond, struct Expression * exp, struct Expression * elseExp)
235 {
236 struct __ecereNameSpace__ecere__sys__OldList * expList = MkList();
237
238 ListAdd(expList, exp);
239 return MkExpCondition(cond, expList, elseExp);
240 }
241
242 struct Declaration * QMkDeclaration(const char * name, struct InitDeclarator * initDecl)
243 {
244 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList(), * initDecls = (((void *)0));
245
246 ListAdd(specs, MkSpecifierName(name));
247 if(initDecl)
248 {
249 initDecls = MkList();
250 ListAdd(initDecls, initDecl);
251 }
252 return MkDeclaration(specs, initDecls);
253 }
254
255 struct Declaration * QMkDeclarationBase(int base, struct InitDeclarator * initDecl)
256 {
257 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList(), * initDecls = (((void *)0));
258
259 ListAdd(specs, MkSpecifier(base));
260 if(initDecl)
261 {
262 initDecls = MkList();
263 ListAdd(initDecls, initDecl);
264 }
265 return MkDeclaration(specs, initDecls);
266 }
267
268 struct TypeName;
269
270 extern struct TypeName * parsedType;
271
272 extern void FreeTypeName(struct TypeName * typeName);
273
274 struct __ecereNameSpace__ecere__com__Class;
275
276 struct __ecereNameSpace__ecere__com__Instance
277 {
278 void * *  _vTbl;
279 struct __ecereNameSpace__ecere__com__Class * _class;
280 int _refCount;
281 } __attribute__ ((gcc_struct));
282
283 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
284
285 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
286
287 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
288
289 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
290
291 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
292
293 extern struct __ecereNameSpace__ecere__com__Instance * fileInput;
294
295 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Write;
296
297 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
298
299 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
300
301 struct __ecereNameSpace__ecere__com__Property;
302
303 struct __ecereNameSpace__ecere__com__Property
304 {
305 struct __ecereNameSpace__ecere__com__Property * prev;
306 struct __ecereNameSpace__ecere__com__Property * next;
307 const char *  name;
308 unsigned int isProperty;
309 int memberAccess;
310 int id;
311 struct __ecereNameSpace__ecere__com__Class * _class;
312 const char *  dataTypeString;
313 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
314 struct Type * dataType;
315 void (*  Set)(void * , int);
316 int (*  Get)(void * );
317 unsigned int (*  IsSet)(void * );
318 void *  data;
319 void *  symbol;
320 int vid;
321 unsigned int conversion;
322 unsigned int watcherOffset;
323 const char *  category;
324 unsigned int compiled;
325 unsigned int selfWatchable;
326 unsigned int isWatchable;
327 } __attribute__ ((gcc_struct));
328
329 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
330
331 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);
332
333 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void *  instance, struct __ecereNameSpace__ecere__com__Property * _property, void *  object, void (*  callback)(void * , void * ));
334
335 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
336
337 struct Declarator;
338
339 struct Declarator
340 {
341 struct Declarator * prev;
342 struct Declarator * next;
343 struct Location loc;
344 int type;
345 struct Symbol * symbol;
346 struct Declarator * declarator;
347 union
348 {
349 struct Identifier * identifier;
350 struct
351 {
352 struct Expression * exp;
353 struct Expression * posExp;
354 struct Attrib * attrib;
355 } __attribute__ ((gcc_struct)) structDecl;
356 struct
357 {
358 struct Expression * exp;
359 struct Specifier * enumClass;
360 } __attribute__ ((gcc_struct)) array;
361 struct
362 {
363 struct __ecereNameSpace__ecere__sys__OldList * parameters;
364 } __attribute__ ((gcc_struct)) function;
365 struct
366 {
367 struct Pointer * pointer;
368 } __attribute__ ((gcc_struct)) pointer;
369 struct
370 {
371 struct ExtDecl * extended;
372 } __attribute__ ((gcc_struct)) extended;
373 } __attribute__ ((gcc_struct)) __anon1;
374 } __attribute__ ((gcc_struct));
375
376 extern struct Declarator * CopyDeclarator(struct Declarator * declarator);
377
378 extern void FreeDeclarator(struct Declarator * decl);
379
380 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
381
382 extern struct Declarator * MkDeclaratorPointer(struct Pointer * pointer, struct Declarator * declarator);
383
384 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
385
386 struct TypeName
387 {
388 struct TypeName * prev;
389 struct TypeName * next;
390 struct Location loc;
391 struct __ecereNameSpace__ecere__sys__OldList *  qualifiers;
392 struct Declarator * declarator;
393 int classObjectType;
394 struct Expression * bitCount;
395 } __attribute__ ((gcc_struct));
396
397 extern struct Declarator * MkStructDeclarator(struct Declarator * declarator, struct Expression * exp);
398
399 struct Declarator * GetFuncDecl(struct Declarator * decl)
400 {
401 struct Declarator * funcDecl = (((void *)0));
402
403 while(decl && decl->type != 1)
404 {
405 if(decl->type == 4)
406 funcDecl = decl;
407 decl = decl->declarator;
408 }
409 return funcDecl;
410 }
411
412 struct Declarator * PlugDeclarator(struct Declarator * decl, struct Declarator * baseDecl)
413 {
414 if(decl && decl->type != 1)
415 {
416 struct Declarator * base;
417
418 decl = CopyDeclarator(decl);
419 base = decl;
420 if(base->type != 1)
421 {
422 for(; base->declarator && base->declarator->type != 1; base = base->declarator)
423 {
424 }
425 }
426 if(baseDecl)
427 {
428 if(base->declarator)
429 FreeDeclarator(base->declarator);
430 base->declarator = baseDecl;
431 }
432 else if(base->type == 1)
433 {
434 FreeDeclarator(decl);
435 decl = (((void *)0));
436 }
437 return decl;
438 }
439 else
440 return baseDecl;
441 }
442
443 struct Declarator * QMkPtrDecl(const char * id)
444 {
445 struct Declarator * declarator = id ? MkDeclaratorIdentifier(MkIdentifier(id)) : (((void *)0));
446
447 return MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), declarator);
448 }
449
450 struct TypeName * QMkType(const char * spec, struct Declarator * decl)
451 {
452 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
453
454 ListAdd(specs, MkSpecifierName(spec));
455 return MkTypeName(specs, decl);
456 }
457
458 struct TypeName * QMkClass(const char * spec, struct Declarator * decl)
459 {
460 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
461
462 ListAdd(specs, MkSpecifierName(spec));
463 return MkTypeName(specs, decl);
464 }
465
466 struct __ecereNameSpace__ecere__sys__BinaryTree;
467
468 struct __ecereNameSpace__ecere__sys__BinaryTree
469 {
470 struct __ecereNameSpace__ecere__sys__BTNode * root;
471 int count;
472 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
473 void (*  FreeKey)(void *  key);
474 } __attribute__ ((gcc_struct));
475
476 struct __ecereNameSpace__ecere__com__Method;
477
478 struct __ecereNameSpace__ecere__com__Method
479 {
480 const char *  name;
481 struct __ecereNameSpace__ecere__com__Method * parent;
482 struct __ecereNameSpace__ecere__com__Method * left;
483 struct __ecereNameSpace__ecere__com__Method * right;
484 int depth;
485 int (*  function)();
486 int vid;
487 int type;
488 struct __ecereNameSpace__ecere__com__Class * _class;
489 void *  symbol;
490 const char *  dataTypeString;
491 struct Type * dataType;
492 int memberAccess;
493 } __attribute__ ((gcc_struct));
494
495 struct __ecereNameSpace__ecere__com__Module;
496
497 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);
498
499 struct __ecereNameSpace__ecere__com__NameSpace;
500
501 struct __ecereNameSpace__ecere__com__NameSpace
502 {
503 const char *  name;
504 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
505 struct __ecereNameSpace__ecere__com__NameSpace *  left;
506 struct __ecereNameSpace__ecere__com__NameSpace *  right;
507 int depth;
508 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
509 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
510 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
511 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
512 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
513 } __attribute__ ((gcc_struct));
514
515 struct __ecereNameSpace__ecere__com__Application
516 {
517 int argc;
518 const char * *  argv;
519 int exitCode;
520 unsigned int isGUIApp;
521 struct __ecereNameSpace__ecere__sys__OldList allModules;
522 char *  parsedCommand;
523 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
524 } __attribute__ ((gcc_struct));
525
526 struct __ecereNameSpace__ecere__com__Module
527 {
528 struct __ecereNameSpace__ecere__com__Instance * application;
529 struct __ecereNameSpace__ecere__sys__OldList classes;
530 struct __ecereNameSpace__ecere__sys__OldList defines;
531 struct __ecereNameSpace__ecere__sys__OldList functions;
532 struct __ecereNameSpace__ecere__sys__OldList modules;
533 struct __ecereNameSpace__ecere__com__Instance * prev;
534 struct __ecereNameSpace__ecere__com__Instance * next;
535 const char *  name;
536 void *  library;
537 void *  Unload;
538 int importType;
539 int origImportType;
540 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
541 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
542 } __attribute__ ((gcc_struct));
543
544 void __ecereUnregisterModule_shortcuts(struct __ecereNameSpace__ecere__com__Instance * module)
545 {
546
547 }
548
549 struct __ecereNameSpace__ecere__com__DataMember;
550
551 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
552 {
553 union
554 {
555 struct
556 {
557 const char *  dataTypeString;
558 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
559 } __attribute__ ((gcc_struct)) __anon1;
560 struct __ecereNameSpace__ecere__com__DataValue expression;
561 struct
562 {
563 const char *  memberString;
564 union
565 {
566 struct __ecereNameSpace__ecere__com__DataMember * member;
567 struct __ecereNameSpace__ecere__com__Property * prop;
568 struct __ecereNameSpace__ecere__com__Method * method;
569 } __attribute__ ((gcc_struct)) __anon1;
570 } __attribute__ ((gcc_struct)) __anon2;
571 } __attribute__ ((gcc_struct)) __anon1;
572 } __attribute__ ((gcc_struct));
573
574 struct __ecereNameSpace__ecere__com__DataMember
575 {
576 struct __ecereNameSpace__ecere__com__DataMember * prev;
577 struct __ecereNameSpace__ecere__com__DataMember * next;
578 const char *  name;
579 unsigned int isProperty;
580 int memberAccess;
581 int id;
582 struct __ecereNameSpace__ecere__com__Class * _class;
583 const char *  dataTypeString;
584 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
585 struct Type * dataType;
586 int type;
587 int offset;
588 int memberID;
589 struct __ecereNameSpace__ecere__sys__OldList members;
590 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
591 int memberOffset;
592 short structAlignment;
593 short pointerAlignment;
594 } __attribute__ ((gcc_struct));
595
596 struct __ecereNameSpace__ecere__com__Class
597 {
598 struct __ecereNameSpace__ecere__com__Class * prev;
599 struct __ecereNameSpace__ecere__com__Class * next;
600 const char *  name;
601 int offset;
602 int structSize;
603 void * *  _vTbl;
604 int vTblSize;
605 unsigned int (*  Constructor)(void * );
606 void (*  Destructor)(void * );
607 int offsetClass;
608 int sizeClass;
609 struct __ecereNameSpace__ecere__com__Class * base;
610 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
611 struct __ecereNameSpace__ecere__sys__BinaryTree members;
612 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
613 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
614 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
615 struct __ecereNameSpace__ecere__sys__OldList derivatives;
616 int memberID;
617 int startMemberID;
618 int type;
619 struct __ecereNameSpace__ecere__com__Instance * module;
620 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
621 const char *  dataTypeString;
622 struct Type * dataType;
623 int typeSize;
624 int defaultAlignment;
625 void (*  Initialize)();
626 int memberOffset;
627 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
628 const char *  designerClass;
629 unsigned int noExpansion;
630 const char *  defaultProperty;
631 unsigned int comRedefinition;
632 int count;
633 int isRemote;
634 unsigned int internalDecl;
635 void *  data;
636 unsigned int computeSize;
637 short structAlignment;
638 short pointerAlignment;
639 int destructionWatchOffset;
640 unsigned int fixed;
641 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
642 int inheritanceAccess;
643 const char *  fullName;
644 void *  symbol;
645 struct __ecereNameSpace__ecere__sys__OldList conversions;
646 struct __ecereNameSpace__ecere__sys__OldList templateParams;
647 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
648 struct __ecereNameSpace__ecere__com__Class * templateClass;
649 struct __ecereNameSpace__ecere__sys__OldList templatized;
650 int numParams;
651 unsigned int isInstanceClass;
652 unsigned int byValueSystemClass;
653 } __attribute__ ((gcc_struct));
654
655 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
656
657 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
658
659 struct Declarator * SpecDeclFromString(const char * string, struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * baseDecl)
660 {
661 struct Location oldLocation = yylloc;
662 struct Declarator * decl = (((void *)0));
663 struct __ecereNameSpace__ecere__com__Instance * backFileInput = fileInput;
664
665 if(!string)
666 string = "void()";
667 fileInput = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__TempFile);
668 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
669 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
670
671 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
672 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])(fileInput, string, 1, strlen(string));
673 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
674 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
675
676 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
677 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, 0, 0);
678 echoOn = 0;
679 parseTypeError = 0;
680 parsedType = (((void *)0));
681 declMode = structDeclMode = 0;
682 resetScanner();
683 {
684 unsigned int oldParsingType = parsingType;
685
686 parsingType = 1;
687 type_yyparse();
688 parsingType = oldParsingType;
689 }
690 declMode = structDeclMode = 2;
691 type_yydebug = 0;
692 (__ecereNameSpace__ecere__com__eInstance_DecRef(fileInput), fileInput = 0);
693 if(parsedType)
694 {
695 if(parsedType->qualifiers)
696 {
697 struct Specifier * spec;
698
699 for(; (spec = (*parsedType->qualifiers).first); )
700 {
701 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*parsedType->qualifiers), spec);
702 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*specs), spec);
703 }
704 }
705 if(parsedType->bitCount)
706 {
707 parsedType->declarator = MkStructDeclarator(parsedType->declarator, parsedType->bitCount);
708 parsedType->bitCount = (((void *)0));
709 }
710 decl = PlugDeclarator(parsedType->declarator, baseDecl);
711 FreeTypeName(parsedType);
712 parsedType = (((void *)0));
713 if(parseTypeError)
714 {
715 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "parsing type %s\n", (((void *)0))), string);
716 }
717 }
718 else
719 {
720 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "parsing type %s\n", (((void *)0))), string);
721 decl = baseDecl;
722 }
723 yylloc = oldLocation;
724 fileInput = backFileInput;
725 return decl;
726 }
727
728 void __ecereRegisterModule_shortcuts(struct __ecereNameSpace__ecere__com__Instance * module)
729 {
730 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
731
732 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetParsingType", "void SetParsingType(bool b)", SetParsingType, module, 1);
733 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("PlugDeclarator", "Declarator PlugDeclarator(Declarator decl, Declarator baseDecl)", PlugDeclarator, module, 2);
734 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkPtrDecl", "Declarator QMkPtrDecl(const char * id)", QMkPtrDecl, module, 2);
735 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkType", "TypeName QMkType(const char * spec, Declarator decl)", QMkType, module, 2);
736 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkClass", "TypeName QMkClass(const char * spec, Declarator decl)", QMkClass, module, 2);
737 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("QBrackets", "Expression QBrackets(Expression exp)", QBrackets, module, 2);
738 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkExpId", "Expression QMkExpId(const char * id)", QMkExpId, module, 2);
739 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkExpCond", "Expression QMkExpCond(Expression cond, Expression exp, Expression elseExp)", QMkExpCond, module, 2);
740 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkDeclaration", "Declaration QMkDeclaration(const char * name, InitDeclarator initDecl)", QMkDeclaration, module, 2);
741 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkDeclarationBase", "Declaration QMkDeclarationBase(int base, InitDeclarator initDecl)", QMkDeclarationBase, module, 2);
742 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkString", "char * QMkString(const char * source)", QMkString, module, 2);
743 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetFuncDecl", "Declarator GetFuncDecl(Declarator decl)", GetFuncDecl, module, 1);
744 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SpecDeclFromString", "Declarator SpecDeclFromString(const char * string, ecere::sys::OldList * specs, Declarator baseDecl)", SpecDeclFromString, module, 1);
745 }
746