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