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