Mercurial > projects > ldc
annotate gen/classes.h @ 102:027b8d8b71ec trunk
[svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
Basically it tries to do the following in order: Resolve types, Declare symbols, Create constant initializers, Apply initializers, Generate functions bodies.
ClassInfo is now has the most useful(biased?) members working.
Probably other stuf...
author | lindquist |
---|---|
date | Sun, 18 Nov 2007 06:52:57 +0100 |
parents | 5071469303d4 |
children | 27b9f749d9fe |
rev | line source |
---|---|
100 | 1 #ifndef LLVMDC_GEN_CLASSES_H |
2 #define LLVMDC_GEN_CLASSES_H | |
3 | |
4 /** | |
102
027b8d8b71ec
[svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
lindquist
parents:
100
diff
changeset
|
5 * Resolves the llvm type for a class declaration |
027b8d8b71ec
[svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
lindquist
parents:
100
diff
changeset
|
6 */ |
027b8d8b71ec
[svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
lindquist
parents:
100
diff
changeset
|
7 void DtoResolveClass(ClassDeclaration* cd); |
027b8d8b71ec
[svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
lindquist
parents:
100
diff
changeset
|
8 |
027b8d8b71ec
[svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
lindquist
parents:
100
diff
changeset
|
9 /** |
100 | 10 * Provides the llvm declaration for a class declaration |
11 */ | |
12 void DtoDeclareClass(ClassDeclaration* cd); | |
13 | |
14 /** | |
15 * Constructs the constant initializer for a class declaration | |
16 */ | |
17 void DtoConstInitClass(ClassDeclaration* cd); | |
18 | |
19 /** | |
20 * Provides the llvm definition for a class declaration | |
21 */ | |
22 void DtoDefineClass(ClassDeclaration* cd); | |
23 | |
24 void DtoDeclareClassInfo(ClassDeclaration* cd); | |
25 void DtoDefineClassInfo(ClassDeclaration* cd); | |
26 | |
27 void DtoCallClassDtors(TypeClass* tc, llvm::Value* instance); | |
28 void DtoInitClass(TypeClass* tc, llvm::Value* dst); | |
29 | |
30 #endif |