diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-08-13 21:47:34 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-08-13 21:47:34 -0400 |
commit | 8b4d4a9da83023da12e9bd896b953fd2051a2917 (patch) | |
tree | 33b843031b38dd91bf28a58aac458aec39a1fada | |
parent | a43ea3192f8f3dfe1c59e33f50e2e6f323c7e4db (diff) | |
download | gcc-8b4d4a9da83023da12e9bd896b953fd2051a2917.zip gcc-8b4d4a9da83023da12e9bd896b953fd2051a2917.tar.gz gcc-8b4d4a9da83023da12e9bd896b953fd2051a2917.tar.bz2 |
(sel_get_any_typed_uid): New function.
From-SVN: r10233
-rw-r--r-- | gcc/objc/selector.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/objc/selector.c b/gcc/objc/selector.c index 0be75d1..be68f4f 100644 --- a/gcc/objc/selector.c +++ b/gcc/objc/selector.c @@ -146,6 +146,29 @@ sel_get_typed_uid (const char *name, const char *types) return 0; } +/* Return selector representing name; prefer a selector with non-NULL type */ +SEL +sel_get_any_typed_uid (const char *name) +{ + struct objc_list *l; + sidx i; + SEL s; + + i = (sidx) hash_value_for_key (__objc_selector_hash, name); + if (i == 0) + return 0; + + for (l = (struct objc_list*)sarray_get (__objc_selector_array, i); + l; l = l->tail) + { + s = (SEL) l->head; + if (s->sel_types) + return s; + } + + return s; +} + /* return selector representing name */ SEL sel_get_any_uid (const char *name) |