comparison dmd/declaration.h @ 156:ccd07d9f2ce9 trunk

[svn r172] moving all IR state previously stored in Dsymbol into IrDsymbol and a Dsymbol->IrDsymbol map
author ChristianK
date Thu, 01 May 2008 13:05:53 +0200
parents 7f92f477ff53
children 5acec6b2eef8
comparison
equal deleted inserted replaced
155:7f92f477ff53 156:ccd07d9f2ce9
18 #include <set> 18 #include <set>
19 19
20 #include "dsymbol.h" 20 #include "dsymbol.h"
21 #include "lexer.h" 21 #include "lexer.h"
22 #include "mtype.h" 22 #include "mtype.h"
23
24 namespace llvm {
25 class Value;
26 }
27 struct IrVar;
28 struct IrGlobal;
29 struct IrLocal;
30 struct IrField;
31 23
32 struct Expression; 24 struct Expression;
33 struct Statement; 25 struct Statement;
34 struct LabelDsymbol; 26 struct LabelDsymbol;
35 struct Initializer; 27 struct Initializer;
261 253
262 // Eliminate need for dynamic_cast 254 // Eliminate need for dynamic_cast
263 VarDeclaration *isVarDeclaration() { return (VarDeclaration *)this; } 255 VarDeclaration *isVarDeclaration() { return (VarDeclaration *)this; }
264 256
265 // LLVMDC 257 // LLVMDC
266 IrGlobal* irGlobal;
267 IrLocal* irLocal;
268 IrField* irField;
269 bool needsStorage; 258 bool needsStorage;
270
271 IrVar* getIrVar();
272 llvm::Value*& getIrValue();
273 }; 259 };
274 260
275 /**************************************************************/ 261 /**************************************************************/
276 262
277 // This is a shell around a back end symbol 263 // This is a shell around a back end symbol