Deleted index variable stuff. Index variables are a hack to the language.
Cleaned up some documentation. From-SVN: r149
This commit is contained in:
parent
77c9c6c203
commit
94b8bab1ea
142
gcc/objc/objc.h
142
gcc/objc/objc.h
@ -19,10 +19,13 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
$Header: /usr/user/dennis_glatting/ObjC/c-runtime/include/RCS/ObjC.h,v 0.8 1991/12/01 01:29:29 dennisg Exp dennisg $
|
||||
$Header: /usr/user/dennis_glatting/ObjC/c-runtime/include/RCS/ObjC.h,v 0.9 1991/12/10 12:04:22 dennisg Exp dennisg $
|
||||
$Author: dennisg $
|
||||
$Date: 1991/12/01 01:29:29 $
|
||||
$Date: 1991/12/10 12:04:22 $
|
||||
$Log: ObjC.h,v $
|
||||
* Revision 0.9 1991/12/10 12:04:22 dennisg
|
||||
* Cleaned up file format for a distribution.
|
||||
*
|
||||
* Revision 0.8 1991/12/01 01:29:29 dennisg
|
||||
* modified to remove changes previously made to
|
||||
* implement posing. posing just got easy.
|
||||
@ -134,10 +137,9 @@ typedef id ( *IMP )( id, SEL, ... );
|
||||
#define _C_STRUCT_B '{'
|
||||
#define _C_STRUCT_E '}'
|
||||
|
||||
/*
|
||||
* These definitions are masks used with
|
||||
* the "info" member variable in the class and
|
||||
* meta class structures.
|
||||
/*
|
||||
* These definitions are masks used with the "info" member variable in the
|
||||
* class and meta class structures.
|
||||
*/
|
||||
#define CLS_CLASS 0x1L /* The structure is of type
|
||||
class (Class_t). */
|
||||
@ -156,13 +158,13 @@ typedef id ( *IMP )( id, SEL, ... );
|
||||
extern BOOL objc_trace;
|
||||
|
||||
|
||||
/*
|
||||
* Whereas a Module (defined further down) is the
|
||||
* root (typically) of a file, a Symtab is the root of the
|
||||
* class and category definitions within the module.
|
||||
/*
|
||||
* Whereas a Module (defined further down) is the root (typically) of a file,
|
||||
* a Symtab is the root of the class and category definitions within the
|
||||
* module.
|
||||
*
|
||||
* A Symtab contains a variable length array of pointers
|
||||
* to classes and categories defined in the module.
|
||||
* A Symtab contains a variable length array of pointers to classes and
|
||||
* categories defined in the module.
|
||||
*/
|
||||
typedef struct objc_symtab {
|
||||
u_long sel_ref_cnt; /* Unknown. */
|
||||
@ -179,16 +181,14 @@ typedef struct objc_symtab {
|
||||
} Symtab, *Symtab_t;
|
||||
|
||||
|
||||
/*
|
||||
* The compiler generates one of these structures for each
|
||||
* module that composes the executable (eg main.m).
|
||||
/*
|
||||
* The compiler generates one of these structures for each module that
|
||||
* composes the executable (eg main.m).
|
||||
*
|
||||
* This data structure is the root of the definition tree
|
||||
* for the module.
|
||||
* This data structure is the root of the definition tree for the module.
|
||||
*
|
||||
* A collect program runs between ld stages and creates
|
||||
* a ObjC ctor array. That array holds a pointer to each
|
||||
* module structure of the executable.
|
||||
* A collect program runs between ld stages and creates a ObjC ctor array.
|
||||
* That array holds a pointer to each module structure of the executable.
|
||||
*/
|
||||
typedef struct objc_module {
|
||||
u_long version; /* Compiler revision. */
|
||||
@ -204,10 +204,9 @@ typedef struct objc_module {
|
||||
} Module, *Module_t;
|
||||
|
||||
|
||||
/*
|
||||
* The compiler generates one of these structures for a
|
||||
* class that has instance variables defined in its
|
||||
* specification.
|
||||
/*
|
||||
* The compiler generates one of these structures for a class that has
|
||||
* instance variables defined in its specification.
|
||||
*/
|
||||
typedef struct objc_ivar* Ivar_t;
|
||||
typedef struct objc_ivar_list {
|
||||
@ -232,13 +231,13 @@ typedef struct objc_ivar_list {
|
||||
} IvarList, *IvarList_t;
|
||||
|
||||
|
||||
/*
|
||||
* The compiler generates one (or more) of these structures
|
||||
* for a class that has methods defined in its specification.
|
||||
/*
|
||||
* The compiler generates one (or more) of these structures for a class that
|
||||
* has methods defined in its specification.
|
||||
*
|
||||
* The implementation of a class can be broken into separate
|
||||
* pieces in a file and categories can break them across modules.
|
||||
* To handle this problem is a singly linked list of methods.
|
||||
* The implementation of a class can be broken into separate pieces in a file
|
||||
* and categories can break them across modules. To handle this problem is a
|
||||
* singly linked list of methods.
|
||||
*/
|
||||
typedef struct objc_method Method;
|
||||
typedef Method* Method_t;
|
||||
@ -266,20 +265,16 @@ typedef struct objc_method_list {
|
||||
|
||||
|
||||
/*
|
||||
* The compiler generates one of these structures for
|
||||
* each class.
|
||||
* The compiler generates one of these structures for each class.
|
||||
*
|
||||
* This structure is the definition for meta classes.
|
||||
* By definition a meta class is the class's class. Its
|
||||
* most relevant contribution is that its method list
|
||||
* contain the class's factory methods.
|
||||
*
|
||||
* 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: isa and super_class.
|
||||
* This structure is the definition for meta classes. By definition a meta
|
||||
* class is the class's class. Its most relevant contribution is that its
|
||||
* method list contain the class's factory methods.
|
||||
*
|
||||
* 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: isa and super_class.
|
||||
*/
|
||||
typedef struct objc_metaClass {
|
||||
struct objc_metaClass* isa; /* Pointer to Object meta
|
||||
@ -306,17 +301,14 @@ typedef struct objc_metaClass {
|
||||
|
||||
|
||||
/*
|
||||
* The compiler generates one of these structures for
|
||||
* each class.
|
||||
* 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.
|
||||
* 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.
|
||||
*/
|
||||
typedef struct objc_class {
|
||||
MetaClass_t isa; /* Pointer to the class's
|
||||
@ -351,10 +343,8 @@ typedef struct objc_class {
|
||||
|
||||
|
||||
/*
|
||||
* The compiler generates one of these structures
|
||||
* for each category. A class may have many
|
||||
* categories and contain both instance and
|
||||
* factory methods.
|
||||
* The compiler generates one of these structures for each category. A class
|
||||
* may have many categories and contain both instance and factory methods.
|
||||
*/
|
||||
typedef struct objc_category {
|
||||
const char* category_name; /* Name of the category. Name
|
||||
@ -373,10 +363,10 @@ typedef struct objc_category {
|
||||
} Category, *Category_t;
|
||||
|
||||
|
||||
/*
|
||||
* Structure used when a message is send to a class's
|
||||
* super class. The compiler generates one of these
|
||||
* structures and passes it to objc_msgSuper().
|
||||
/*
|
||||
* Structure used when a message is send to a class's super class. The
|
||||
* compiler generates one of these structures and passes it to
|
||||
* objc_msgSuper().
|
||||
*/
|
||||
typedef struct objc_super {
|
||||
id receiver; /* Id of the object sending
|
||||
@ -385,33 +375,31 @@ typedef struct objc_super {
|
||||
} Super, *Super_t;
|
||||
|
||||
/*
|
||||
* _alloc points to the function, called through
|
||||
* class_createInstance(), used to allocate memory for
|
||||
* new instances.
|
||||
* _alloc points to the function, called through class_createInstance(), used
|
||||
* to allocate memory for new instances.
|
||||
*/
|
||||
extern id (*_alloc)(Class_t aClass, u_int indexedIvarBytes);
|
||||
extern id (*_alloc)(Class_t aClass);
|
||||
/*
|
||||
* _dealloc points to the function, called
|
||||
* through object_dispose(), used to free instances.
|
||||
* _dealloc points to the function, called through object_dispose(), used to
|
||||
* free instances.
|
||||
*/
|
||||
extern id (*_dealloc)(id aObject);
|
||||
/*
|
||||
* _realloc points to the function, called through
|
||||
* object_realloc(), used to reallocate memory for an object
|
||||
* _realloc points to the function, called through object_realloc(), used to
|
||||
* reallocate memory for an object
|
||||
*/
|
||||
extern id (*_realloc)(id aObject, u_int numBytes);
|
||||
extern id (*_realloc)(id aObject, u_int newSize);
|
||||
|
||||
/*
|
||||
* _copy points to the function, called through
|
||||
* object_copy(), used to create an exact copy of an object.
|
||||
* _copy points to the function, called through object_copy(), used to create
|
||||
* an exact copy of an object.
|
||||
*/
|
||||
extern id (*_copy)(id aObject, u_int indexedIvarBytes);
|
||||
extern id (*_copy)(id aObject);
|
||||
|
||||
/*
|
||||
* _error points to the function that the run-time
|
||||
* system calls in response to an error. By default,
|
||||
* it prints formatted error messages to the standard
|
||||
* error stream and calls abort() to produce a core file.
|
||||
* _error points to the function that the run-time system calls in response
|
||||
* to an error. By default, it prints formatted error messages to the
|
||||
* standard error stream and calls abort() to produce a core file.
|
||||
*/
|
||||
extern void (*_error)(id aObject, const char* fmt, va_list ap);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user