Mercurial > projects > ldc
comparison dmd/template.h @ 1367:8026319762be
Merged DMD 1.045 !!!
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Sat, 16 May 2009 22:21:31 +0200 |
parents | e961851fb8be |
children | def7a1d494fd |
comparison
equal
deleted
inserted
replaced
1366:81121ac19f61 | 1367:8026319762be |
---|---|
275 // to TemplateDeclaration.parameters | 275 // to TemplateDeclaration.parameters |
276 // [int, char, 100] | 276 // [int, char, 100] |
277 | 277 |
278 TemplateDeclaration *tempdecl; // referenced by foo.bar.abc | 278 TemplateDeclaration *tempdecl; // referenced by foo.bar.abc |
279 TemplateInstance *inst; // refer to existing instance | 279 TemplateInstance *inst; // refer to existing instance |
280 TemplateInstance *tinst; // enclosing template instance | |
280 ScopeDsymbol *argsym; // argument symbol table | 281 ScopeDsymbol *argsym; // argument symbol table |
281 AliasDeclaration *aliasdecl; // !=NULL if instance is an alias for its | 282 AliasDeclaration *aliasdecl; // !=NULL if instance is an alias for its |
282 // sole member | 283 // sole member |
283 WithScopeSymbol *withsym; // if a member of a with statement | 284 WithScopeSymbol *withsym; // if a member of a with statement |
284 int semanticdone; // has semantic() been done? | 285 int semanticdone; // has semantic() been done? |
306 Dsymbol *toAlias(); // resolve real symbol | 307 Dsymbol *toAlias(); // resolve real symbol |
307 const char *kind(); | 308 const char *kind(); |
308 int oneMember(Dsymbol **ps); | 309 int oneMember(Dsymbol **ps); |
309 char *toChars(); | 310 char *toChars(); |
310 char *mangle(); | 311 char *mangle(); |
312 void printInstantiationTrace(); | |
311 | 313 |
312 #if IN_DMD | 314 #if IN_DMD |
313 void toObjFile(int multiobj); // compile to .obj file | 315 void toObjFile(int multiobj); // compile to .obj file |
314 #endif | 316 #endif |
315 | 317 |
325 TemplateInstance *isTemplateInstance() { return this; } | 327 TemplateInstance *isTemplateInstance() { return this; } |
326 AliasDeclaration *isAliasDeclaration(); | 328 AliasDeclaration *isAliasDeclaration(); |
327 | 329 |
328 #if IN_LLVM | 330 #if IN_LLVM |
329 // LDC | 331 // LDC |
330 TemplateInstance *tinst; // enclosing template instance | |
331 Module* tmodule; // module from outermost enclosing template instantiation | 332 Module* tmodule; // module from outermost enclosing template instantiation |
332 Module* emittedInModule; // which module this template instance has been emitted in | 333 Module* emittedInModule; // which module this template instance has been emitted in |
333 void printInstantiationTrace(); | |
334 | 334 |
335 void codegen(Ir*); | 335 void codegen(Ir*); |
336 #endif | 336 #endif |
337 }; | 337 }; |
338 | 338 |