Mercurial > projects > ldc
view ir/irsymbol.h @ 523:c9a606d6e641
Abstract functions may have bodies.
Fixes:
run/a/abstract_17_A,B
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 17 Aug 2008 11:39:36 +0200 |
parents | c44e6a711885 |
children | eef8ac26c66c |
line wrap: on
line source
#ifndef LLVMDC_IR_IRSYMBOL_H #define LLVMDC_IR_IRSYMBOL_H #include <set> struct IrModule; struct IrFunction; struct IrStruct; struct IrGlobal; struct IrLocal; struct IrField; struct IrVar; struct Dsymbol; namespace llvm { struct Value; } struct IrDsymbol { static std::set<IrDsymbol*> list; static void resetAll(); // overload all of these to make sure // the static list is up to date IrDsymbol(); IrDsymbol(const IrDsymbol& s); ~IrDsymbol(); void reset(); Module* DModule; bool resolved; bool declared; bool initialized; bool defined; IrModule* irModule; IrStruct* irStruct; IrFunction* irFunc; IrGlobal* irGlobal; IrLocal* irLocal; IrField* irField; IrVar* getIrVar(); llvm::Value*& getIrValue(); bool isSet(); }; #endif