Mercurial > projects > ldc
comparison gen/classes.h @ 1228:79758fd2f48a
Added Doxygen file.
Completely seperated type and symbol generation. Should fix a lot of bugs, but is not yet 100% complete.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Wed, 15 Apr 2009 20:06:25 +0200 |
parents | 5a2983f97498 |
children | 5d0c043ff131 |
comparison
equal
deleted
inserted
replaced
1215:08f87d8cd101 | 1228:79758fd2f48a |
---|---|
1 #ifndef LDC_GEN_CLASSES_H | 1 #ifndef LDC_GEN_CLASSES_H |
2 #define LDC_GEN_CLASSES_H | 2 #define LDC_GEN_CLASSES_H |
3 | 3 |
4 #include "gen/structs.h" | 4 #include "gen/structs.h" |
5 | 5 |
6 /** | 6 /// Resolves the llvm type for a class declaration |
7 * Resolves the llvm type for a class declaration | |
8 */ | |
9 void DtoResolveClass(ClassDeclaration* cd); | 7 void DtoResolveClass(ClassDeclaration* cd); |
10 | 8 |
11 /** | 9 /// Provides the llvm declaration for a class declaration |
12 * Provides the llvm declaration for a class declaration | |
13 */ | |
14 void DtoDeclareClass(ClassDeclaration* cd); | 10 void DtoDeclareClass(ClassDeclaration* cd); |
15 | 11 |
16 /** | 12 /// Constructs the constant initializer for a class declaration |
17 * Constructs the constant initializer for a class declaration | |
18 */ | |
19 void DtoConstInitClass(ClassDeclaration* cd); | 13 void DtoConstInitClass(ClassDeclaration* cd); |
20 | 14 |
21 /** | 15 /// Provides the llvm definition for a class declaration |
22 * Provides the llvm definition for a class declaration | |
23 */ | |
24 void DtoDefineClass(ClassDeclaration* cd); | 16 void DtoDefineClass(ClassDeclaration* cd); |
25 | 17 |
26 void DtoDeclareClassInfo(ClassDeclaration* cd); | 18 /// Builds the initializer of cd's ClassInfo. |
27 void DtoDefineClassInfo(ClassDeclaration* cd); | 19 /// FIXME: this should be put into IrStruct and eventually IrClass. |
20 LLConstant* DtoDefineClassInfo(ClassDeclaration* cd); | |
28 | 21 |
29 DValue* DtoNewClass(Loc loc, TypeClass* type, NewExp* newexp); | 22 DValue* DtoNewClass(Loc loc, TypeClass* type, NewExp* newexp); |
30 void DtoInitClass(TypeClass* tc, LLValue* dst); | 23 void DtoInitClass(TypeClass* tc, LLValue* dst); |
31 DValue* DtoCallClassCtor(TypeClass* type, CtorDeclaration* ctor, Array* arguments, LLValue* mem); | 24 DValue* DtoCallClassCtor(TypeClass* type, CtorDeclaration* ctor, Array* arguments, LLValue* mem); |
32 void DtoFinalizeClass(LLValue* inst); | 25 void DtoFinalizeClass(LLValue* inst); |