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