|
|
1.1 root 1: /* GNU Objective C Runtime internal declarations 1.1.1.3 ! root 2: Copyright (C) 1993, 1995 Free Software Foundation, Inc. ! 3: Contributed by Kresten Krab Thorup 1.1 root 4: 5: This file is part of GNU CC. 6: 7: GNU CC is free software; you can redistribute it and/or modify it under the 1.1.1.3 ! root 8: terms of the GNU General Public License as published by the Free Software ! 9: Foundation; either version 2, or (at your option) any later version. 1.1 root 10: 11: GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY 1.1.1.3 ! root 12: WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ! 13: FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ! 14: details. 1.1 root 15: 16: You should have received a copy of the GNU General Public License along with 1.1.1.3 ! root 17: GNU CC; see the file COPYING. If not, write to the Free Software ! 18: Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 1.1 root 19: 20: /* As a special exception, if you link this library with files compiled with 21: GCC to produce an executable, this does not cause the resulting executable 22: to be covered by the GNU General Public License. This exception does not 23: however invalidate any other reasons why the executable file might be 24: covered by the GNU General Public License. */ 25: 26: #ifndef __objc_runtime_INCLUDE_GNU 27: #define __objc_runtime_INCLUDE_GNU 28: 1.1.1.2 root 29: #include <stdarg.h> /* for varargs and va_list's */ 1.1 root 30: 31: #include <stdio.h> 32: #include <ctype.h> 33: 1.1.1.2 root 34: #include <stddef.h> /* so noone else will get system versions */ 1.1 root 35: #include "assert.h" 36: 37: #include "objc/objc.h" /* core data types */ 38: #include "objc/objc-api.h" /* runtime api functions */ 39: 40: #include "objc/hash.h" /* hash structures */ 41: #include "objc/list.h" /* linear lists */ 42: 1.1.1.3 ! root 43: extern void __objc_add_class_to_hash(Class); /* (objc-class.c) */ 1.1 root 44: extern void __objc_init_selector_tables(); /* (objc-sel.c) */ 1.1.1.3 ! root 45: extern void __objc_init_class_tables(); /* (objc-class.c) */ 1.1 root 46: extern void __objc_init_dispatch_tables(); /* (objc-dispatch.c) */ 1.1.1.3 ! root 47: extern void __objc_install_premature_dtable(Class); /* (objc-dispatch.c) */ ! 48: extern void __objc_resolve_class_links(); /* (objc-class.c) */ ! 49: extern void __objc_register_selectors_from_class(Class); /* (objc-sel.c) */ ! 50: extern void __objc_update_dispatch_table_for_class (Class);/* (objc-msg.c) */ ! 51: extern void class_add_method_list(Class, MethodList_t); 1.1 root 52: 53: extern void objc_error(id object, const char* fmt, va_list); 54: extern void (*_objc_error)(id, const char*, va_list); 55: 56: /* True when class links has been resolved */ 57: extern BOOL __objc_class_links_resolved; 58: 59: /* Number of selectors stored in each of the selector tables */ 60: extern int __objc_selector_max_index; 61: 62: #ifdef DEBUG 1.1.1.2 root 63: #define DEBUG_PRINTF(format, args...) printf (format, ## args) 1.1 root 64: #else 1.1.1.2 root 65: #define DEBUG_PRINTF(format, args...) 1.1 root 66: #endif 67: 68: BOOL __objc_responds_to (id object, SEL sel); /* for internal use only! */ 1.1.1.2 root 69: SEL __sel_register_typed_name (const char*, const char*, 70: struct objc_selector*); 1.1 root 71: 72: #endif /* not __objc_runtime_INCLUDE_GNU */ 73: 74:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.