annotate gen/classes.h @ 100:5071469303d4 trunk

[svn r104] TONS OF FIXES. Split up declaration, constant initializer gen and definition for globals, structs, classes and functions. Improved ClassInfo support (not complete), not in vtable yet. Fixed a bunch of forward reference problems. Much more. Major commit! :)
author lindquist
date Fri, 16 Nov 2007 08:21:47 +0100
parents
children 027b8d8b71ec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
100
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
1 #ifndef LLVMDC_GEN_CLASSES_H
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
2 #define LLVMDC_GEN_CLASSES_H
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
3
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
4 /**
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
5 * Provides the llvm declaration for a class declaration
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
6 */
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
7 void DtoDeclareClass(ClassDeclaration* cd);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
8
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
9 /**
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
10 * Constructs the constant initializer for a class declaration
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
11 */
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
12 void DtoConstInitClass(ClassDeclaration* cd);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
13
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
14 /**
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
15 * Provides the llvm definition for a class declaration
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
16 */
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
17 void DtoDefineClass(ClassDeclaration* cd);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
18
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
19 void DtoDeclareClassInfo(ClassDeclaration* cd);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
20 void DtoDefineClassInfo(ClassDeclaration* cd);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
21
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
22 void DtoCallClassDtors(TypeClass* tc, llvm::Value* instance);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
23 void DtoInitClass(TypeClass* tc, llvm::Value* dst);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
24
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
25 #endif