MWCC/includes/compiler/CObjC.h

42 lines
1.5 KiB
C
Raw Permalink Normal View History

#ifndef COMPILER_COBJC_H
#define COMPILER_COBJC_H
#include "compiler/common.h"
2022-12-29 12:32:55 +00:00
#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);
2023-01-11 22:29:53 +00:00
extern void *CObjC_ParseIdentifier(/* unknown args */);
2022-12-29 12:32:55 +00:00
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