Files
ldc/ir/irtypestruct.h
Tomas Lindquist Olsen 37cf5a5789 Added Doxygen file.
Completely seperated type and symbol generation. Should fix a lot of bugs, but is not yet 100% complete.
2009-04-15 20:06:25 +02:00

53 lines
1.1 KiB
C++

#ifndef __LDC_IR_IRTYPESTRUCT_H__
#define __LDC_IR_IRTYPESTRUCT_H__
#include "ir/irtype.h"
//////////////////////////////////////////////////////////////////////////////
struct AggregateDeclaration;
struct StructDeclaration;
struct TypeStruct;
//////////////////////////////////////////////////////////////////////////////
class IrTypeAggr : public IrType
{
public:
///
IrTypeAggr(AggregateDeclaration* ad);
///
IrTypeAggr* isAggr() { return this; }
protected:
/// AggregateDeclaration this type represents.
AggregateDeclaration* aggr;
};
//////////////////////////////////////////////////////////////////////////////
class IrTypeStruct : public IrTypeAggr
{
public:
///
IrTypeStruct(StructDeclaration* sd);
///
IrTypeStruct* isStruct() { return this; }
///
const llvm::Type* buildType();
protected:
/// StructDeclaration this type represents.
StructDeclaration* sd;
/// DMD TypeStruct of this type.
TypeStruct* ts;
};
//////////////////////////////////////////////////////////////////////////////
#endif