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