diff options
| author | Kresten Krab Thorup <krab@gcc.gnu.org> | 1994-06-30 16:18:55 +0000 |
|---|---|---|
| committer | Kresten Krab Thorup <krab@gcc.gnu.org> | 1994-06-30 16:18:55 +0000 |
| commit | a39d31bc0c617e5bc7e57e513ba165e00ed46580 (patch) | |
| tree | 8fe61c212a5faefb5e2d0f5e09269f407fb13584 /gcc/objc/objc-api.h | |
| parent | 7a1dd323251ccfb83be3b6e5ae9e7ff31ec8a413 (diff) | |
| download | gcc-a39d31bc0c617e5bc7e57e513ba165e00ed46580.zip gcc-a39d31bc0c617e5bc7e57e513ba165e00ed46580.tar.gz gcc-a39d31bc0c617e5bc7e57e513ba165e00ed46580.tar.bz2 | |
This patch makes selectors in the Objective-C language be pointers to a struct { void *sel_id...
This patch makes selectors in the Objective-C language be pointers
to a struct { void *sel_id, char *sel_types }, where the sel_types
element is the type encoding of the method arguments.
From-SVN: r7622
Diffstat (limited to 'gcc/objc/objc-api.h')
| -rw-r--r-- | gcc/objc/objc-api.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/gcc/objc/objc-api.h b/gcc/objc/objc-api.h index 4077932..f94f965 100644 --- a/gcc/objc/objc-api.h +++ b/gcc/objc/objc-api.h @@ -44,8 +44,6 @@ struct objc_method_description char *types; /* type encoding */ }; - - /* Filer types used to describe Ivars and Methods. */ #define _C_ID '@' #define _C_CLASS '#' @@ -92,7 +90,7 @@ extern BOOL objc_trace; */ typedef struct objc_symtab { unsigned long sel_ref_cnt; /* Unknown. */ - SEL *refs; /* Unknown. */ + SEL refs; /* Unknown. */ unsigned short cls_def_cnt; /* Number of classes compiled (defined) in the module. */ unsigned short cat_def_cnt; /* Number of categories @@ -146,7 +144,7 @@ typedef struct objc_ivar_list { const char* ivar_type; /* Description of the Ivar's type. Useful for debuggers. */ - int ivar_offset; /* Byte offset from the base + int ivar_offset; /* Byte offset from the base address of the instance structure to the variable. */ @@ -169,7 +167,7 @@ typedef struct objc_method_list { struct objc_method_list* method_next; /* This variable is used to link a method list to another. It is a singly linked list. */ - int method_count; /* Number of methods defined in + int method_count; /* Number of methods defined in this structure. */ struct objc_method { SEL method_name; /* This variable is the method's @@ -303,12 +301,23 @@ Class* objc_get_class(const char *name); Class* objc_lookup_class(const char *name); +Class* objc_next_class(void **enum_state); + const char *sel_get_name(SEL selector); +const char *sel_get_type(SEL selector); + SEL sel_get_uid(const char *name); +SEL sel_get_any_uid(const char *name); + +SEL sel_get_typed_uid(const char *name, const char*); + SEL sel_register_name(const char *name); +SEL sel_register_typed_name(const char *name, const char*type); + + BOOL sel_is_mapped (SEL aSel); extern id class_create_instance(Class* class); |
