summaryrefslogtreecommitdiff
path: root/includes/compiler/CTemplateClass.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--includes/compiler/CTemplateClass.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/includes/compiler/CTemplateClass.h b/includes/compiler/CTemplateClass.h
index 747a944..4400480 100644
--- a/includes/compiler/CTemplateClass.h
+++ b/includes/compiler/CTemplateClass.h
@@ -3,4 +3,21 @@
#include "compiler/common.h"
+extern TemplClass *CTemplClass_GetMasterTemplate(TemplClass *tmclass);
+extern void CTemplClass_RegisterUsingDecl(TemplClass *tmclass, TypeTemplDep *type, AccessType access);
+extern void CTemplClass_RegisterFriend(TemplClass *tmclass, DeclInfo *di);
+extern void CTemplClass_RegisterBaseClass(TemplClass *tmclass, Type *type, AccessType access, Boolean is_virtual);
+extern void CTemplClass_RegisterEnumType(TemplClass *tmclass, TypeEnum *enumtype);
+extern void CTemplClass_RegisterEnumerator(TemplClass *tmclass, ObjEnumConst *objenumconst, ENode *initexpr);
+extern void CTemplClass_RegisterObjectInit(TemplClass *tmclass, Object *object, ENode *initexpr);
+extern void CTemplClass_RegisterObjectDef(TemplClass *tmclass, ObjBase *refobj);
+extern void CTemplClass_CompleteClass(TemplClass *templ, DeclE *de);
+extern TemplClassInst *CTemplClass_GetInstance(TemplClass *tmclass, TemplArg *args1, TemplArg *args2);
+extern TemplateMember *CTemplClass_DefineMember(TemplClass *tmclass, Object *object, FileOffsetInfo *foi, TStream *stream);
+extern void CTemplClass_ParsePartialSpecialization(DeclFucker *what_is_this, TemplParam *params, short mode, SInt32 *offset);
+extern void CTemplClass_ParseClass(DeclFucker *what_is_this, TemplParam *params, short mode, SInt32 *offset);
+extern Boolean CTemplClass_FindPartialTemplate(TemplArg *args, TemplClass **resultTempl, TemplArg **resultArgs);
+extern TemplClass *CTemplClass_DefineNestedClass(TemplClass *parent, HashNameNode *name, short mode);
+extern Boolean CTempl_InstantiateTemplateClass(TypeClass *tclass);
+
#endif