From 344bfd093394bbfd16bfc4614972d6577b6413a8 Mon Sep 17 00:00:00 2001 From: nicola Date: Sat, 11 Sep 2010 12:38:56 +0000 Subject: In libobjc: * objc/deprecated/struct_objc_selector.h: New file. Definition of 'struct objc_selector' and 'sel_eq' moved here. * objc/deprecated/struct_objc_protocol.h: New file. Definition of 'struct objc_procotol' moved here. * objc/deprecated/struct_objc_class.h: New file. Definition of 'struct objc_class' moved here. * objc/deprecated/MetaClass.h: New file. Definition of MetClass moved here. * objc/deprecated/STR.h: New file. Definition of STR moved here. * objc/message.h: New file. Definitions for relval_t, apply_t, arglist, arglist_t and objc_msg_lookup were moved here. * objc/objc.h: Include the above files instead of defining the corresponding structs, types and functions here. Added new opaque definitions for SEL and Class. Use Class and not 'struct objc_class *' in the definition of 'struct objc_object'. Commented all types defined in the file. Removed special definition of BOOL as 'int' on __vxworks; use 'unsigned char' there as well. * objc/deprecated/objc-unexpected-exception.h: Renamed to objc_unexpected_exception.h. * objc/objc-api.h: Updated include of objc-unexpetected-exception.h * objc/objc-exception.h: Updated comments. * Makefile.in (OBJC_H, OBJC_DEPRECATED_H): Added the new header files. Reindented list of files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164212 138bc75d-0d04-0410-961f-82ee72b054a4 --- libobjc/objc/deprecated/struct_objc_class.h | 44 +++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 libobjc/objc/deprecated/struct_objc_class.h (limited to 'libobjc/objc/deprecated/struct_objc_class.h') diff --git a/libobjc/objc/deprecated/struct_objc_class.h b/libobjc/objc/deprecated/struct_objc_class.h new file mode 100644 index 00000000000..4918e738e8d --- /dev/null +++ b/libobjc/objc/deprecated/struct_objc_class.h @@ -0,0 +1,44 @@ +/* This structure used to be public, but is now private to the runtime. */ + +/* +** The compiler generates one of these structures for each class. +** +** This structure is the definition for classes. +** +** This structure is generated by the compiler in the executable and used by +** the run-time during normal messaging operations. Therefore some members +** change type. The compiler generates "char* const" and places a string in +** the following member variables: super_class. +*/ +struct objc_class { + MetaClass class_pointer; /* Pointer to the class's + meta class. */ + struct objc_class* super_class; /* Pointer to the super + class. NULL for class + Object. */ + const char* name; /* Name of the class. */ + long version; /* Unknown. */ + unsigned long info; /* Bit mask. See class masks + defined above. */ + long instance_size; /* Size in bytes of the class. + The sum of the class + definition and all super + class definitions. */ + struct objc_ivar_list* ivars; /* Pointer to a structure that + describes the instance + variables in the class + definition. NULL indicates + no instance variables. Does + not include super class + variables. */ + struct objc_method_list* methods; /* Linked list of instance + methods defined for the + class. */ + struct sarray * dtable; /* Pointer to instance + method dispatch table. */ + struct objc_class* subclass_list; /* Subclasses */ + struct objc_class* sibling_class; + + struct objc_protocol_list *protocols; /* Protocols conformed to */ + void* gc_object_type; +}; -- cgit v1.2.3