From 94b8bab1ea17fefddf75a8ca56a7c52aee9397b7 Mon Sep 17 00:00:00 2001 From: Dennis Glatting Date: Tue, 31 Dec 1991 20:16:08 +0000 Subject: [PATCH] Deleted index variable stuff. Index variables are a hack to the language. Cleaned up some documentation. From-SVN: r149 --- gcc/objc/objc.h | 142 ++++++++++++++++++++++-------------------------- 1 file changed, 65 insertions(+), 77 deletions(-) diff --git a/gcc/objc/objc.h b/gcc/objc/objc.h index 2c19a7d55dc..7628679407f 100644 --- a/gcc/objc/objc.h +++ b/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);