1 // Compiler implementation of the D programming language
2 // Copyright (c) 1999-2015 by Digital Mars
3 // All Rights Reserved
4 // written by Walter Bright
5 // http://www.digitalmars.com
6 // Distributed under the Boost Software License, Version 1.0.
7 // http://www.boost.org/LICENSE_1_0.txt
8 
9 module ddmd.id;
10 
11 import ddmd.identifier, ddmd.tokens;
12 
13 struct Id
14 {
15     extern (C++) static __gshared Identifier IUnknown;
16     extern (C++) static __gshared Identifier Object;
17     extern (C++) static __gshared Identifier object;
18     extern (C++) static __gshared Identifier string;
19     extern (C++) static __gshared Identifier wstring;
20     extern (C++) static __gshared Identifier dstring;
21     extern (C++) static __gshared Identifier max;
22     extern (C++) static __gshared Identifier min;
23     extern (C++) static __gshared Identifier This;
24     extern (C++) static __gshared Identifier _super;
25     extern (C++) static __gshared Identifier ctor;
26     extern (C++) static __gshared Identifier dtor;
27     extern (C++) static __gshared Identifier __xdtor;
28     extern (C++) static __gshared Identifier __fieldDtor;
29     extern (C++) static __gshared Identifier __aggrDtor;
30     extern (C++) static __gshared Identifier postblit;
31     extern (C++) static __gshared Identifier __xpostblit;
32     extern (C++) static __gshared Identifier __fieldPostblit;
33     extern (C++) static __gshared Identifier __aggrPostblit;
34     extern (C++) static __gshared Identifier classInvariant;
35     extern (C++) static __gshared Identifier unitTest;
36     extern (C++) static __gshared Identifier require;
37     extern (C++) static __gshared Identifier ensure;
38     extern (C++) static __gshared Identifier _init;
39     extern (C++) static __gshared Identifier __sizeof;
40     extern (C++) static __gshared Identifier __xalignof;
41     extern (C++) static __gshared Identifier _mangleof;
42     extern (C++) static __gshared Identifier stringof;
43     extern (C++) static __gshared Identifier _tupleof;
44     extern (C++) static __gshared Identifier length;
45     extern (C++) static __gshared Identifier remove;
46     extern (C++) static __gshared Identifier ptr;
47     extern (C++) static __gshared Identifier array;
48     extern (C++) static __gshared Identifier funcptr;
49     extern (C++) static __gshared Identifier dollar;
50     extern (C++) static __gshared Identifier ctfe;
51     extern (C++) static __gshared Identifier offset;
52     extern (C++) static __gshared Identifier offsetof;
53     extern (C++) static __gshared Identifier ModuleInfo;
54     extern (C++) static __gshared Identifier ClassInfo;
55     extern (C++) static __gshared Identifier classinfo;
56     extern (C++) static __gshared Identifier typeinfo;
57     extern (C++) static __gshared Identifier outer;
58     extern (C++) static __gshared Identifier Exception;
59     extern (C++) static __gshared Identifier RTInfo;
60     extern (C++) static __gshared Identifier Throwable;
61     extern (C++) static __gshared Identifier Error;
62     extern (C++) static __gshared Identifier withSym;
63     extern (C++) static __gshared Identifier result;
64     extern (C++) static __gshared Identifier returnLabel;
65     extern (C++) static __gshared Identifier line;
66     extern (C++) static __gshared Identifier empty;
67     extern (C++) static __gshared Identifier p;
68     extern (C++) static __gshared Identifier q;
69     extern (C++) static __gshared Identifier __vptr;
70     extern (C++) static __gshared Identifier __monitor;
71     extern (C++) static __gshared Identifier gate;
72     extern (C++) static __gshared Identifier __c_long;
73     extern (C++) static __gshared Identifier __c_ulong;
74     extern (C++) static __gshared Identifier __c_long_double;
75     extern (C++) static __gshared Identifier TypeInfo;
76     extern (C++) static __gshared Identifier TypeInfo_Class;
77     extern (C++) static __gshared Identifier TypeInfo_Interface;
78     extern (C++) static __gshared Identifier TypeInfo_Struct;
79     extern (C++) static __gshared Identifier TypeInfo_Enum;
80     extern (C++) static __gshared Identifier TypeInfo_Pointer;
81     extern (C++) static __gshared Identifier TypeInfo_Vector;
82     extern (C++) static __gshared Identifier TypeInfo_Array;
83     extern (C++) static __gshared Identifier TypeInfo_StaticArray;
84     extern (C++) static __gshared Identifier TypeInfo_AssociativeArray;
85     extern (C++) static __gshared Identifier TypeInfo_Function;
86     extern (C++) static __gshared Identifier TypeInfo_Delegate;
87     extern (C++) static __gshared Identifier TypeInfo_Tuple;
88     extern (C++) static __gshared Identifier TypeInfo_Const;
89     extern (C++) static __gshared Identifier TypeInfo_Invariant;
90     extern (C++) static __gshared Identifier TypeInfo_Shared;
91     extern (C++) static __gshared Identifier TypeInfo_Wild;
92     extern (C++) static __gshared Identifier elements;
93     extern (C++) static __gshared Identifier _arguments_typeinfo;
94     extern (C++) static __gshared Identifier _arguments;
95     extern (C++) static __gshared Identifier _argptr;
96     extern (C++) static __gshared Identifier destroy;
97     extern (C++) static __gshared Identifier xopEquals;
98     extern (C++) static __gshared Identifier xopCmp;
99     extern (C++) static __gshared Identifier xtoHash;
100     extern (C++) static __gshared Identifier LINE;
101     extern (C++) static __gshared Identifier FILE;
102     extern (C++) static __gshared Identifier MODULE;
103     extern (C++) static __gshared Identifier FUNCTION;
104     extern (C++) static __gshared Identifier PRETTY_FUNCTION;
105     extern (C++) static __gshared Identifier DATE;
106     extern (C++) static __gshared Identifier TIME;
107     extern (C++) static __gshared Identifier TIMESTAMP;
108     extern (C++) static __gshared Identifier VENDOR;
109     extern (C++) static __gshared Identifier VERSIONX;
110     extern (C++) static __gshared Identifier EOFX;
111     extern (C++) static __gshared Identifier nan;
112     extern (C++) static __gshared Identifier infinity;
113     extern (C++) static __gshared Identifier dig;
114     extern (C++) static __gshared Identifier epsilon;
115     extern (C++) static __gshared Identifier mant_dig;
116     extern (C++) static __gshared Identifier max_10_exp;
117     extern (C++) static __gshared Identifier max_exp;
118     extern (C++) static __gshared Identifier min_10_exp;
119     extern (C++) static __gshared Identifier min_exp;
120     extern (C++) static __gshared Identifier min_normal;
121     extern (C++) static __gshared Identifier re;
122     extern (C++) static __gshared Identifier im;
123     extern (C++) static __gshared Identifier C;
124     extern (C++) static __gshared Identifier D;
125     extern (C++) static __gshared Identifier Windows;
126     extern (C++) static __gshared Identifier Pascal;
127     extern (C++) static __gshared Identifier System;
128     extern (C++) static __gshared Identifier exit;
129     extern (C++) static __gshared Identifier success;
130     extern (C++) static __gshared Identifier failure;
131     extern (C++) static __gshared Identifier keys;
132     extern (C++) static __gshared Identifier values;
133     extern (C++) static __gshared Identifier rehash;
134     extern (C++) static __gshared Identifier sort;
135     extern (C++) static __gshared Identifier reverse;
136     extern (C++) static __gshared Identifier property;
137     extern (C++) static __gshared Identifier nogc;
138     extern (C++) static __gshared Identifier safe;
139     extern (C++) static __gshared Identifier trusted;
140     extern (C++) static __gshared Identifier system;
141     extern (C++) static __gshared Identifier disable;
142     extern (C++) static __gshared Identifier ___out;
143     extern (C++) static __gshared Identifier ___in;
144     extern (C++) static __gshared Identifier __int;
145     extern (C++) static __gshared Identifier _dollar;
146     extern (C++) static __gshared Identifier __LOCAL_SIZE;
147     extern (C++) static __gshared Identifier uadd;
148     extern (C++) static __gshared Identifier neg;
149     extern (C++) static __gshared Identifier com;
150     extern (C++) static __gshared Identifier add;
151     extern (C++) static __gshared Identifier add_r;
152     extern (C++) static __gshared Identifier sub;
153     extern (C++) static __gshared Identifier sub_r;
154     extern (C++) static __gshared Identifier mul;
155     extern (C++) static __gshared Identifier mul_r;
156     extern (C++) static __gshared Identifier div;
157     extern (C++) static __gshared Identifier div_r;
158     extern (C++) static __gshared Identifier mod;
159     extern (C++) static __gshared Identifier mod_r;
160     extern (C++) static __gshared Identifier eq;
161     extern (C++) static __gshared Identifier cmp;
162     extern (C++) static __gshared Identifier iand;
163     extern (C++) static __gshared Identifier iand_r;
164     extern (C++) static __gshared Identifier ior;
165     extern (C++) static __gshared Identifier ior_r;
166     extern (C++) static __gshared Identifier ixor;
167     extern (C++) static __gshared Identifier ixor_r;
168     extern (C++) static __gshared Identifier shl;
169     extern (C++) static __gshared Identifier shl_r;
170     extern (C++) static __gshared Identifier shr;
171     extern (C++) static __gshared Identifier shr_r;
172     extern (C++) static __gshared Identifier ushr;
173     extern (C++) static __gshared Identifier ushr_r;
174     extern (C++) static __gshared Identifier cat;
175     extern (C++) static __gshared Identifier cat_r;
176     extern (C++) static __gshared Identifier assign;
177     extern (C++) static __gshared Identifier addass;
178     extern (C++) static __gshared Identifier subass;
179     extern (C++) static __gshared Identifier mulass;
180     extern (C++) static __gshared Identifier divass;
181     extern (C++) static __gshared Identifier modass;
182     extern (C++) static __gshared Identifier andass;
183     extern (C++) static __gshared Identifier orass;
184     extern (C++) static __gshared Identifier xorass;
185     extern (C++) static __gshared Identifier shlass;
186     extern (C++) static __gshared Identifier shrass;
187     extern (C++) static __gshared Identifier ushrass;
188     extern (C++) static __gshared Identifier catass;
189     extern (C++) static __gshared Identifier postinc;
190     extern (C++) static __gshared Identifier postdec;
191     extern (C++) static __gshared Identifier index;
192     extern (C++) static __gshared Identifier indexass;
193     extern (C++) static __gshared Identifier slice;
194     extern (C++) static __gshared Identifier sliceass;
195     extern (C++) static __gshared Identifier call;
196     extern (C++) static __gshared Identifier _cast;
197     extern (C++) static __gshared Identifier opIn;
198     extern (C++) static __gshared Identifier opIn_r;
199     extern (C++) static __gshared Identifier opStar;
200     extern (C++) static __gshared Identifier opDot;
201     extern (C++) static __gshared Identifier opDispatch;
202     extern (C++) static __gshared Identifier opDollar;
203     extern (C++) static __gshared Identifier opUnary;
204     extern (C++) static __gshared Identifier opIndexUnary;
205     extern (C++) static __gshared Identifier opSliceUnary;
206     extern (C++) static __gshared Identifier opBinary;
207     extern (C++) static __gshared Identifier opBinaryRight;
208     extern (C++) static __gshared Identifier opOpAssign;
209     extern (C++) static __gshared Identifier opIndexOpAssign;
210     extern (C++) static __gshared Identifier opSliceOpAssign;
211     extern (C++) static __gshared Identifier pow;
212     extern (C++) static __gshared Identifier pow_r;
213     extern (C++) static __gshared Identifier powass;
214     extern (C++) static __gshared Identifier classNew;
215     extern (C++) static __gshared Identifier classDelete;
216     extern (C++) static __gshared Identifier apply;
217     extern (C++) static __gshared Identifier applyReverse;
218     extern (C++) static __gshared Identifier Fempty;
219     extern (C++) static __gshared Identifier Ffront;
220     extern (C++) static __gshared Identifier Fback;
221     extern (C++) static __gshared Identifier FpopFront;
222     extern (C++) static __gshared Identifier FpopBack;
223     extern (C++) static __gshared Identifier adReverse;
224     extern (C++) static __gshared Identifier aaLen;
225     extern (C++) static __gshared Identifier aaKeys;
226     extern (C++) static __gshared Identifier aaValues;
227     extern (C++) static __gshared Identifier aaRehash;
228     extern (C++) static __gshared Identifier monitorenter;
229     extern (C++) static __gshared Identifier monitorexit;
230     extern (C++) static __gshared Identifier criticalenter;
231     extern (C++) static __gshared Identifier criticalexit;
232     extern (C++) static __gshared Identifier _ArrayEq;
233     extern (C++) static __gshared Identifier Pinline;
234     extern (C++) static __gshared Identifier lib;
235     extern (C++) static __gshared Identifier mangle;
236     extern (C++) static __gshared Identifier msg;
237     extern (C++) static __gshared Identifier startaddress;
238     extern (C++) static __gshared Identifier tohash;
239     extern (C++) static __gshared Identifier tostring;
240     extern (C++) static __gshared Identifier getmembers;
241     extern (C++) static __gshared Identifier __alloca;
242     extern (C++) static __gshared Identifier main;
243     extern (C++) static __gshared Identifier WinMain;
244     extern (C++) static __gshared Identifier DllMain;
245     extern (C++) static __gshared Identifier tls_get_addr;
246     extern (C++) static __gshared Identifier entrypoint;
247     extern (C++) static __gshared Identifier va_argsave_t;
248     extern (C++) static __gshared Identifier va_argsave;
249     extern (C++) static __gshared Identifier va_start;
250     extern (C++) static __gshared Identifier std;
251     extern (C++) static __gshared Identifier core;
252     extern (C++) static __gshared Identifier math;
253     extern (C++) static __gshared Identifier sin;
254     extern (C++) static __gshared Identifier cos;
255     extern (C++) static __gshared Identifier tan;
256     extern (C++) static __gshared Identifier _sqrt;
257     extern (C++) static __gshared Identifier _pow;
258     extern (C++) static __gshared Identifier atan2;
259     extern (C++) static __gshared Identifier rndtol;
260     extern (C++) static __gshared Identifier expm1;
261     extern (C++) static __gshared Identifier exp2;
262     extern (C++) static __gshared Identifier yl2x;
263     extern (C++) static __gshared Identifier yl2xp1;
264     extern (C++) static __gshared Identifier fabs;
265     extern (C++) static __gshared Identifier bitop;
266     extern (C++) static __gshared Identifier bsf;
267     extern (C++) static __gshared Identifier bsr;
268     extern (C++) static __gshared Identifier bswap;
269     extern (C++) static __gshared Identifier isAbstractClass;
270     extern (C++) static __gshared Identifier isArithmetic;
271     extern (C++) static __gshared Identifier isAssociativeArray;
272     extern (C++) static __gshared Identifier isFinalClass;
273     extern (C++) static __gshared Identifier isTemplate;
274     extern (C++) static __gshared Identifier isPOD;
275     extern (C++) static __gshared Identifier isNested;
276     extern (C++) static __gshared Identifier isFloating;
277     extern (C++) static __gshared Identifier isIntegral;
278     extern (C++) static __gshared Identifier isScalar;
279     extern (C++) static __gshared Identifier isStaticArray;
280     extern (C++) static __gshared Identifier isUnsigned;
281     extern (C++) static __gshared Identifier isVirtualFunction;
282     extern (C++) static __gshared Identifier isVirtualMethod;
283     extern (C++) static __gshared Identifier isAbstractFunction;
284     extern (C++) static __gshared Identifier isFinalFunction;
285     extern (C++) static __gshared Identifier isOverrideFunction;
286     extern (C++) static __gshared Identifier isStaticFunction;
287     extern (C++) static __gshared Identifier isRef;
288     extern (C++) static __gshared Identifier isOut;
289     extern (C++) static __gshared Identifier isLazy;
290     extern (C++) static __gshared Identifier hasMember;
291     extern (C++) static __gshared Identifier identifier;
292     extern (C++) static __gshared Identifier getProtection;
293     extern (C++) static __gshared Identifier parent;
294     extern (C++) static __gshared Identifier getMember;
295     extern (C++) static __gshared Identifier getOverloads;
296     extern (C++) static __gshared Identifier getVirtualFunctions;
297     extern (C++) static __gshared Identifier getVirtualMethods;
298     extern (C++) static __gshared Identifier classInstanceSize;
299     extern (C++) static __gshared Identifier allMembers;
300     extern (C++) static __gshared Identifier derivedMembers;
301     extern (C++) static __gshared Identifier isSame;
302     extern (C++) static __gshared Identifier compiles;
303     extern (C++) static __gshared Identifier parameters;
304     extern (C++) static __gshared Identifier getAliasThis;
305     extern (C++) static __gshared Identifier getAttributes;
306     extern (C++) static __gshared Identifier getFunctionAttributes;
307     extern (C++) static __gshared Identifier getUnitTests;
308     extern (C++) static __gshared Identifier getVirtualIndex;
309     extern (C++) static __gshared Identifier getPointerBitmap;
310     extern (C++) static __gshared Identifier allocator;
311     extern (C++) static __gshared Identifier basic_string;
312     extern (C++) static __gshared Identifier basic_istream;
313     extern (C++) static __gshared Identifier basic_ostream;
314     extern (C++) static __gshared Identifier basic_iostream;
315     extern (C++) static __gshared Identifier char_traits;
316 
317     extern (C++) static void initialize()
318     {
319         IUnknown = Identifier.idPool("IUnknown");
320         Object = Identifier.idPool("Object");
321         object = Identifier.idPool("object");
322         string = Identifier.idPool("string");
323         wstring = Identifier.idPool("wstring");
324         dstring = Identifier.idPool("dstring");
325         max = Identifier.idPool("max");
326         min = Identifier.idPool("min");
327         This = Identifier.idPool("this");
328         _super = Identifier.idPool("super");
329         ctor = Identifier.idPool("__ctor");
330         dtor = Identifier.idPool("__dtor");
331         __xdtor = Identifier.idPool("__xdtor");
332         __fieldDtor = Identifier.idPool("__fieldDtor");
333         __aggrDtor = Identifier.idPool("__aggrDtor");
334         postblit = Identifier.idPool("__postblit");
335         __xpostblit = Identifier.idPool("__xpostblit");
336         __fieldPostblit = Identifier.idPool("__fieldPostblit");
337         __aggrPostblit = Identifier.idPool("__aggrPostblit");
338         classInvariant = Identifier.idPool("__invariant");
339         unitTest = Identifier.idPool("__unitTest");
340         require = Identifier.idPool("__require");
341         ensure = Identifier.idPool("__ensure");
342         _init = Identifier.idPool("init");
343         __sizeof = Identifier.idPool("sizeof");
344         __xalignof = Identifier.idPool("alignof");
345         _mangleof = Identifier.idPool("mangleof");
346         stringof = Identifier.idPool("stringof");
347         _tupleof = Identifier.idPool("tupleof");
348         length = Identifier.idPool("length");
349         remove = Identifier.idPool("remove");
350         ptr = Identifier.idPool("ptr");
351         array = Identifier.idPool("array");
352         funcptr = Identifier.idPool("funcptr");
353         dollar = Identifier.idPool("__dollar");
354         ctfe = Identifier.idPool("__ctfe");
355         offset = Identifier.idPool("offset");
356         offsetof = Identifier.idPool("offsetof");
357         ModuleInfo = Identifier.idPool("ModuleInfo");
358         ClassInfo = Identifier.idPool("ClassInfo");
359         classinfo = Identifier.idPool("classinfo");
360         typeinfo = Identifier.idPool("typeinfo");
361         outer = Identifier.idPool("outer");
362         Exception = Identifier.idPool("Exception");
363         RTInfo = Identifier.idPool("RTInfo");
364         Throwable = Identifier.idPool("Throwable");
365         Error = Identifier.idPool("Error");
366         withSym = Identifier.idPool("__withSym");
367         result = Identifier.idPool("__result");
368         returnLabel = Identifier.idPool("__returnLabel");
369         line = Identifier.idPool("line");
370         empty = Identifier.idPool("");
371         p = Identifier.idPool("p");
372         q = Identifier.idPool("q");
373         __vptr = Identifier.idPool("__vptr");
374         __monitor = Identifier.idPool("__monitor");
375         gate = Identifier.idPool("__gate");
376         __c_long = Identifier.idPool("__c_long");
377         __c_ulong = Identifier.idPool("__c_ulong");
378         __c_long_double = Identifier.idPool("__c_long_double");
379         TypeInfo = Identifier.idPool("TypeInfo");
380         TypeInfo_Class = Identifier.idPool("TypeInfo_Class");
381         TypeInfo_Interface = Identifier.idPool("TypeInfo_Interface");
382         TypeInfo_Struct = Identifier.idPool("TypeInfo_Struct");
383         TypeInfo_Enum = Identifier.idPool("TypeInfo_Enum");
384         TypeInfo_Pointer = Identifier.idPool("TypeInfo_Pointer");
385         TypeInfo_Vector = Identifier.idPool("TypeInfo_Vector");
386         TypeInfo_Array = Identifier.idPool("TypeInfo_Array");
387         TypeInfo_StaticArray = Identifier.idPool("TypeInfo_StaticArray");
388         TypeInfo_AssociativeArray = Identifier.idPool("TypeInfo_AssociativeArray");
389         TypeInfo_Function = Identifier.idPool("TypeInfo_Function");
390         TypeInfo_Delegate = Identifier.idPool("TypeInfo_Delegate");
391         TypeInfo_Tuple = Identifier.idPool("TypeInfo_Tuple");
392         TypeInfo_Const = Identifier.idPool("TypeInfo_Const");
393         TypeInfo_Invariant = Identifier.idPool("TypeInfo_Invariant");
394         TypeInfo_Shared = Identifier.idPool("TypeInfo_Shared");
395         TypeInfo_Wild = Identifier.idPool("TypeInfo_Inout");
396         elements = Identifier.idPool("elements");
397         _arguments_typeinfo = Identifier.idPool("_arguments_typeinfo");
398         _arguments = Identifier.idPool("_arguments");
399         _argptr = Identifier.idPool("_argptr");
400         destroy = Identifier.idPool("destroy");
401         xopEquals = Identifier.idPool("__xopEquals");
402         xopCmp = Identifier.idPool("__xopCmp");
403         xtoHash = Identifier.idPool("__xtoHash");
404         LINE = Identifier.idPool("__LINE__");
405         FILE = Identifier.idPool("__FILE__");
406         MODULE = Identifier.idPool("__MODULE__");
407         FUNCTION = Identifier.idPool("__FUNCTION__");
408         PRETTY_FUNCTION = Identifier.idPool("__PRETTY_FUNCTION__");
409         DATE = Identifier.idPool("__DATE__");
410         TIME = Identifier.idPool("__TIME__");
411         TIMESTAMP = Identifier.idPool("__TIMESTAMP__");
412         VENDOR = Identifier.idPool("__VENDOR__");
413         VERSIONX = Identifier.idPool("__VERSION__");
414         EOFX = Identifier.idPool("__EOF__");
415         nan = Identifier.idPool("nan");
416         infinity = Identifier.idPool("infinity");
417         dig = Identifier.idPool("dig");
418         epsilon = Identifier.idPool("epsilon");
419         mant_dig = Identifier.idPool("mant_dig");
420         max_10_exp = Identifier.idPool("max_10_exp");
421         max_exp = Identifier.idPool("max_exp");
422         min_10_exp = Identifier.idPool("min_10_exp");
423         min_exp = Identifier.idPool("min_exp");
424         min_normal = Identifier.idPool("min_normal");
425         re = Identifier.idPool("re");
426         im = Identifier.idPool("im");
427         C = Identifier.idPool("C");
428         D = Identifier.idPool("D");
429         Windows = Identifier.idPool("Windows");
430         Pascal = Identifier.idPool("Pascal");
431         System = Identifier.idPool("System");
432         exit = Identifier.idPool("exit");
433         success = Identifier.idPool("success");
434         failure = Identifier.idPool("failure");
435         keys = Identifier.idPool("keys");
436         values = Identifier.idPool("values");
437         rehash = Identifier.idPool("rehash");
438         sort = Identifier.idPool("sort");
439         reverse = Identifier.idPool("reverse");
440         property = Identifier.idPool("property");
441         nogc = Identifier.idPool("nogc");
442         safe = Identifier.idPool("safe");
443         trusted = Identifier.idPool("trusted");
444         system = Identifier.idPool("system");
445         disable = Identifier.idPool("disable");
446         ___out = Identifier.idPool("out");
447         ___in = Identifier.idPool("in");
448         __int = Identifier.idPool("int");
449         _dollar = Identifier.idPool("$");
450         __LOCAL_SIZE = Identifier.idPool("__LOCAL_SIZE");
451         uadd = Identifier.idPool("opPos");
452         neg = Identifier.idPool("opNeg");
453         com = Identifier.idPool("opCom");
454         add = Identifier.idPool("opAdd");
455         add_r = Identifier.idPool("opAdd_r");
456         sub = Identifier.idPool("opSub");
457         sub_r = Identifier.idPool("opSub_r");
458         mul = Identifier.idPool("opMul");
459         mul_r = Identifier.idPool("opMul_r");
460         div = Identifier.idPool("opDiv");
461         div_r = Identifier.idPool("opDiv_r");
462         mod = Identifier.idPool("opMod");
463         mod_r = Identifier.idPool("opMod_r");
464         eq = Identifier.idPool("opEquals");
465         cmp = Identifier.idPool("opCmp");
466         iand = Identifier.idPool("opAnd");
467         iand_r = Identifier.idPool("opAnd_r");
468         ior = Identifier.idPool("opOr");
469         ior_r = Identifier.idPool("opOr_r");
470         ixor = Identifier.idPool("opXor");
471         ixor_r = Identifier.idPool("opXor_r");
472         shl = Identifier.idPool("opShl");
473         shl_r = Identifier.idPool("opShl_r");
474         shr = Identifier.idPool("opShr");
475         shr_r = Identifier.idPool("opShr_r");
476         ushr = Identifier.idPool("opUShr");
477         ushr_r = Identifier.idPool("opUShr_r");
478         cat = Identifier.idPool("opCat");
479         cat_r = Identifier.idPool("opCat_r");
480         assign = Identifier.idPool("opAssign");
481         addass = Identifier.idPool("opAddAssign");
482         subass = Identifier.idPool("opSubAssign");
483         mulass = Identifier.idPool("opMulAssign");
484         divass = Identifier.idPool("opDivAssign");
485         modass = Identifier.idPool("opModAssign");
486         andass = Identifier.idPool("opAndAssign");
487         orass = Identifier.idPool("opOrAssign");
488         xorass = Identifier.idPool("opXorAssign");
489         shlass = Identifier.idPool("opShlAssign");
490         shrass = Identifier.idPool("opShrAssign");
491         ushrass = Identifier.idPool("opUShrAssign");
492         catass = Identifier.idPool("opCatAssign");
493         postinc = Identifier.idPool("opPostInc");
494         postdec = Identifier.idPool("opPostDec");
495         index = Identifier.idPool("opIndex");
496         indexass = Identifier.idPool("opIndexAssign");
497         slice = Identifier.idPool("opSlice");
498         sliceass = Identifier.idPool("opSliceAssign");
499         call = Identifier.idPool("opCall");
500         _cast = Identifier.idPool("opCast");
501         opIn = Identifier.idPool("opIn");
502         opIn_r = Identifier.idPool("opIn_r");
503         opStar = Identifier.idPool("opStar");
504         opDot = Identifier.idPool("opDot");
505         opDispatch = Identifier.idPool("opDispatch");
506         opDollar = Identifier.idPool("opDollar");
507         opUnary = Identifier.idPool("opUnary");
508         opIndexUnary = Identifier.idPool("opIndexUnary");
509         opSliceUnary = Identifier.idPool("opSliceUnary");
510         opBinary = Identifier.idPool("opBinary");
511         opBinaryRight = Identifier.idPool("opBinaryRight");
512         opOpAssign = Identifier.idPool("opOpAssign");
513         opIndexOpAssign = Identifier.idPool("opIndexOpAssign");
514         opSliceOpAssign = Identifier.idPool("opSliceOpAssign");
515         pow = Identifier.idPool("opPow");
516         pow_r = Identifier.idPool("opPow_r");
517         powass = Identifier.idPool("opPowAssign");
518         classNew = Identifier.idPool("new");
519         classDelete = Identifier.idPool("delete");
520         apply = Identifier.idPool("opApply");
521         applyReverse = Identifier.idPool("opApplyReverse");
522         Fempty = Identifier.idPool("empty");
523         Ffront = Identifier.idPool("front");
524         Fback = Identifier.idPool("back");
525         FpopFront = Identifier.idPool("popFront");
526         FpopBack = Identifier.idPool("popBack");
527         adReverse = Identifier.idPool("_adReverse");
528         aaLen = Identifier.idPool("_aaLen");
529         aaKeys = Identifier.idPool("_aaKeys");
530         aaValues = Identifier.idPool("_aaValues");
531         aaRehash = Identifier.idPool("_aaRehash");
532         monitorenter = Identifier.idPool("_d_monitorenter");
533         monitorexit = Identifier.idPool("_d_monitorexit");
534         criticalenter = Identifier.idPool("_d_criticalenter");
535         criticalexit = Identifier.idPool("_d_criticalexit");
536         _ArrayEq = Identifier.idPool("_ArrayEq");
537         Pinline = Identifier.idPool("inline");
538         lib = Identifier.idPool("lib");
539         mangle = Identifier.idPool("mangle");
540         msg = Identifier.idPool("msg");
541         startaddress = Identifier.idPool("startaddress");
542         tohash = Identifier.idPool("toHash");
543         tostring = Identifier.idPool("toString");
544         getmembers = Identifier.idPool("getMembers");
545         __alloca = Identifier.idPool("alloca");
546         main = Identifier.idPool("main");
547         WinMain = Identifier.idPool("WinMain");
548         DllMain = Identifier.idPool("DllMain");
549         tls_get_addr = Identifier.idPool("___tls_get_addr");
550         entrypoint = Identifier.idPool("__entrypoint");
551         va_argsave_t = Identifier.idPool("__va_argsave_t");
552         va_argsave = Identifier.idPool("__va_argsave");
553         va_start = Identifier.idPool("va_start");
554         std = Identifier.idPool("std");
555         core = Identifier.idPool("core");
556         math = Identifier.idPool("math");
557         sin = Identifier.idPool("sin");
558         cos = Identifier.idPool("cos");
559         tan = Identifier.idPool("tan");
560         _sqrt = Identifier.idPool("sqrt");
561         _pow = Identifier.idPool("pow");
562         atan2 = Identifier.idPool("atan2");
563         rndtol = Identifier.idPool("rndtol");
564         expm1 = Identifier.idPool("expm1");
565         exp2 = Identifier.idPool("exp2");
566         yl2x = Identifier.idPool("yl2x");
567         yl2xp1 = Identifier.idPool("yl2xp1");
568         fabs = Identifier.idPool("fabs");
569         bitop = Identifier.idPool("bitop");
570         bsf = Identifier.idPool("bsf");
571         bsr = Identifier.idPool("bsr");
572         bswap = Identifier.idPool("bswap");
573         isAbstractClass = Identifier.idPool("isAbstractClass");
574         isArithmetic = Identifier.idPool("isArithmetic");
575         isAssociativeArray = Identifier.idPool("isAssociativeArray");
576         isFinalClass = Identifier.idPool("isFinalClass");
577         isTemplate = Identifier.idPool("isTemplate");
578         isPOD = Identifier.idPool("isPOD");
579         isNested = Identifier.idPool("isNested");
580         isFloating = Identifier.idPool("isFloating");
581         isIntegral = Identifier.idPool("isIntegral");
582         isScalar = Identifier.idPool("isScalar");
583         isStaticArray = Identifier.idPool("isStaticArray");
584         isUnsigned = Identifier.idPool("isUnsigned");
585         isVirtualFunction = Identifier.idPool("isVirtualFunction");
586         isVirtualMethod = Identifier.idPool("isVirtualMethod");
587         isAbstractFunction = Identifier.idPool("isAbstractFunction");
588         isFinalFunction = Identifier.idPool("isFinalFunction");
589         isOverrideFunction = Identifier.idPool("isOverrideFunction");
590         isStaticFunction = Identifier.idPool("isStaticFunction");
591         isRef = Identifier.idPool("isRef");
592         isOut = Identifier.idPool("isOut");
593         isLazy = Identifier.idPool("isLazy");
594         hasMember = Identifier.idPool("hasMember");
595         identifier = Identifier.idPool("identifier");
596         getProtection = Identifier.idPool("getProtection");
597         parent = Identifier.idPool("parent");
598         getMember = Identifier.idPool("getMember");
599         getOverloads = Identifier.idPool("getOverloads");
600         getVirtualFunctions = Identifier.idPool("getVirtualFunctions");
601         getVirtualMethods = Identifier.idPool("getVirtualMethods");
602         classInstanceSize = Identifier.idPool("classInstanceSize");
603         allMembers = Identifier.idPool("allMembers");
604         derivedMembers = Identifier.idPool("derivedMembers");
605         isSame = Identifier.idPool("isSame");
606         compiles = Identifier.idPool("compiles");
607         parameters = Identifier.idPool("parameters");
608         getAliasThis = Identifier.idPool("getAliasThis");
609         getAttributes = Identifier.idPool("getAttributes");
610         getFunctionAttributes = Identifier.idPool("getFunctionAttributes");
611         getUnitTests = Identifier.idPool("getUnitTests");
612         getVirtualIndex = Identifier.idPool("getVirtualIndex");
613         getPointerBitmap = Identifier.idPool("getPointerBitmap");
614         allocator = Identifier.idPool("allocator");
615         basic_string = Identifier.idPool("basic_string");
616         basic_istream = Identifier.idPool("basic_istream");
617         basic_ostream = Identifier.idPool("basic_ostream");
618         basic_iostream = Identifier.idPool("basic_iostream");
619         char_traits = Identifier.idPool("char_traits");
620     }
621 }