annotate gen/classes.h @ 883:b52d5de7783f

GC defines and linkage changes.
author Christian Kamm <kamm incasoftware de>
date Thu, 08 Jan 2009 18:20:02 +0100
parents 5a2983f97498
children 79758fd2f48a
rev   line source
kamm@664 1 #ifndef LDC_GEN_CLASSES_H
kamm@664 2 #define LDC_GEN_CLASSES_H
lindquist@100 3
lindquist@217 4 #include "gen/structs.h"
lindquist@217 5
lindquist@100 6 /**
lindquist@102 7 * Resolves the llvm type for a class declaration
lindquist@102 8 */
lindquist@102 9 void DtoResolveClass(ClassDeclaration* cd);
lindquist@102 10
lindquist@102 11 /**
lindquist@100 12 * Provides the llvm declaration for a class declaration
lindquist@100 13 */
lindquist@100 14 void DtoDeclareClass(ClassDeclaration* cd);
lindquist@100 15
lindquist@100 16 /**
lindquist@100 17 * Constructs the constant initializer for a class declaration
lindquist@100 18 */
lindquist@100 19 void DtoConstInitClass(ClassDeclaration* cd);
lindquist@100 20
lindquist@100 21 /**
lindquist@100 22 * Provides the llvm definition for a class declaration
lindquist@100 23 */
lindquist@100 24 void DtoDefineClass(ClassDeclaration* cd);
lindquist@100 25
lindquist@100 26 void DtoDeclareClassInfo(ClassDeclaration* cd);
lindquist@100 27 void DtoDefineClassInfo(ClassDeclaration* cd);
lindquist@100 28
tomas@486 29 DValue* DtoNewClass(Loc loc, TypeClass* type, NewExp* newexp);
lindquist@213 30 void DtoInitClass(TypeClass* tc, LLValue* dst);
lindquist@213 31 DValue* DtoCallClassCtor(TypeClass* type, CtorDeclaration* ctor, Array* arguments, LLValue* mem);
lindquist@213 32 void DtoFinalizeClass(LLValue* inst);
lindquist@100 33
lindquist@114 34 DValue* DtoCastClass(DValue* val, Type* to);
lindquist@114 35 DValue* DtoDynamicCastObject(DValue* val, Type* to);
lindquist@133 36
lindquist@114 37 DValue* DtoCastInterfaceToObject(DValue* val, Type* to);
lindquist@133 38 DValue* DtoDynamicCastInterface(DValue* val, Type* to);
lindquist@113 39
tomas@705 40 LLValue* DtoIndexClass(LLValue* src, ClassDeclaration* sd, VarDeclaration* vd);
lindquist@132 41
lindquist@213 42 LLValue* DtoVirtualFunctionPointer(DValue* inst, FuncDeclaration* fdecl);
lindquist@133 43
lindquist@100 44 #endif