Mercurial > projects > ldc
comparison dmd/aggregate.h @ 1146:1860414bf3b7
* Moved ir/irsymbol.cpp/h into ir/irdsymbol.cpp/h.
* Added #if IN_DMD versioning around DMD backend specific code in the D1 frontend, D2 is currently broken.
* All part of a greater cleanup scheme.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Thu, 26 Mar 2009 20:45:53 +0100 |
parents | 96b404ba7eb0 |
children | dbe4af57b240 |
comparison
equal
deleted
inserted
replaced
1145:40caa8207b3e | 1146:1860414bf3b7 |
---|---|
96 int hasPrivateAccess(Dsymbol *smember); // does smember have private access to members of this class? | 96 int hasPrivateAccess(Dsymbol *smember); // does smember have private access to members of this class? |
97 void accessCheck(Loc loc, Scope *sc, Dsymbol *smember); | 97 void accessCheck(Loc loc, Scope *sc, Dsymbol *smember); |
98 | 98 |
99 enum PROT prot(); | 99 enum PROT prot(); |
100 | 100 |
101 #if IN_DMD | |
101 // Back end | 102 // Back end |
102 Symbol *stag; // tag symbol for debug data | 103 Symbol *stag; // tag symbol for debug data |
103 Symbol *sinit; | 104 Symbol *sinit; |
104 Symbol *toInitializer(); | 105 Symbol *toInitializer(); |
106 #endif | |
105 | 107 |
106 AggregateDeclaration *isAggregateDeclaration() { return this; } | 108 AggregateDeclaration *isAggregateDeclaration() { return this; } |
107 }; | 109 }; |
108 | 110 |
109 struct AnonymousAggregateDeclaration : AggregateDeclaration | 111 struct AnonymousAggregateDeclaration : AggregateDeclaration |
248 | 250 |
249 void addLocalClass(ClassDeclarations *); | 251 void addLocalClass(ClassDeclarations *); |
250 | 252 |
251 // Back end | 253 // Back end |
252 void toObjFile(int multiobj); // compile to .obj file | 254 void toObjFile(int multiobj); // compile to .obj file |
255 #if IN_DMD | |
253 void toDebug(); | 256 void toDebug(); |
254 unsigned baseVtblOffset(BaseClass *bc); | 257 unsigned baseVtblOffset(BaseClass *bc); |
255 Symbol *toSymbol(); | 258 Symbol *toSymbol(); |
256 Symbol *toVtblSymbol(); | 259 Symbol *toVtblSymbol(); |
257 void toDt(dt_t **pdt); | 260 void toDt(dt_t **pdt); |
258 void toDt2(dt_t **pdt, ClassDeclaration *cd); | 261 void toDt2(dt_t **pdt, ClassDeclaration *cd); |
259 | 262 |
260 Symbol *vtblsym; | 263 Symbol *vtblsym; |
264 #endif | |
261 | 265 |
262 ClassDeclaration *isClassDeclaration() { return (ClassDeclaration *)this; } | 266 ClassDeclaration *isClassDeclaration() { return (ClassDeclaration *)this; } |
263 }; | 267 }; |
264 | 268 |
265 struct InterfaceDeclaration : ClassDeclaration | 269 struct InterfaceDeclaration : ClassDeclaration |
278 int isCPPinterface(); | 282 int isCPPinterface(); |
279 #endif | 283 #endif |
280 virtual int isCOMinterface(); | 284 virtual int isCOMinterface(); |
281 | 285 |
282 void toObjFile(int multiobj); // compile to .obj file | 286 void toObjFile(int multiobj); // compile to .obj file |
287 #if IN_DMD | |
283 Symbol *toSymbol(); | 288 Symbol *toSymbol(); |
289 #endif | |
284 | 290 |
285 InterfaceDeclaration *isInterfaceDeclaration() { return this; } | 291 InterfaceDeclaration *isInterfaceDeclaration() { return this; } |
286 }; | 292 }; |
287 | 293 |
288 #endif /* DMD_AGGREGATE_H */ | 294 #endif /* DMD_AGGREGATE_H */ |