summaryrefslogtreecommitdiff
path: root/includes/compiler/CTemplateClass.h
diff options
context:
space:
mode:
authorAsh Wolf <ninji@wuffs.org>2022-12-29 12:32:55 +0000
committerAsh Wolf <ninji@wuffs.org>2022-12-29 12:32:55 +0000
commitfcfbafff31869ed808bff0639532db1828660e92 (patch)
tree7425b346b031c4cb47a06250b3f6f950374d44ae /includes/compiler/CTemplateClass.h
parentbc1321735c15104ffad195e1509cab5f3a044260 (diff)
downloadMWCC-fcfbafff31869ed808bff0639532db1828660e92.tar.gz
MWCC-fcfbafff31869ed808bff0639532db1828660e92.zip
dump lots more code
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