summaryrefslogtreecommitdiff
path: root/includes/compiler/CObjC.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/CObjC.h
parentbc1321735c15104ffad195e1509cab5f3a044260 (diff)
downloadMWCC-fcfbafff31869ed808bff0639532db1828660e92.tar.gz
MWCC-fcfbafff31869ed808bff0639532db1828660e92.zip
dump lots more code
Diffstat (limited to 'includes/compiler/CObjC.h')
-rw-r--r--includes/compiler/CObjC.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/includes/compiler/CObjC.h b/includes/compiler/CObjC.h
index 92a4efa..cd7686d 100644
--- a/includes/compiler/CObjC.h
+++ b/includes/compiler/CObjC.h
@@ -2,5 +2,40 @@
#define COMPILER_COBJC_H
#include "compiler/common.h"
+#include "compiler/objc.h"
+
+extern Type *cobjc_type_class;
+extern Type *cobjc_type_id;
+extern Type *cobjc_type_sel;
+extern TypeClass *cobjc_currentclass;
+extern ObjCSelector **cobjc_selhashtable;
+extern BClassList *cobjc_classdefs;
+extern ObjCProtocol *cobjc_protocols;
+extern long cobjc_selrefcount;
+extern long cobjc_classrefcount;
+extern long cobjc_stringcount;
+extern Boolean cobjc_encodemethod;
+
+extern void CObjC_Setup(void);
+extern void CObjC_Cleanup(void);
+extern void CObjC_GenerateModule(void);
+extern Type *CObjC_GetObjCType_id(Boolean flag);
+extern Boolean CObjC_IsType_id(Type *type);
+extern Boolean CObjC_IsCompatibleType(Type *a, Type *b);
+extern void CObjC_TranslateSelectorToken(void);
+extern void CObjC_ParseDefs(TypeStruct *tstruct);
+extern Type *CObjC_ParseID(void);
+extern Type *CObjC_ParseTypeProtocol(TypeClass *tclass);
+extern void CObjC_ParseInterface(void);
+extern void CObjC_ParseImplementation(void);
+extern void CObjC_ParseProtocol(void);
+extern void CObjC_ParseClassDeclaration(void);
+extern void *CObjC_ParseIdentifier();
+extern ENode *CObjC_MakeSendMsgExpr(ENode *objexpr, TypeClass *tclass, ObjCNamedArg *namedArgs, ENodeList *unnamedArgs, UInt8 calltype, Boolean isSuper);
+extern ENode *CObjC_ParseMessageExpression(void);
+extern ENode *CObjC_ParseEncodeExpression(void);
+extern ENode *CObjC_ParseAtExpression(void);
+extern ENode *CObjC_ParseProtocolExpression(void);
+extern ENode *CObjC_ParseSelectorExpression(void);
#endif