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 */