Changed Class * to Class in order to match NEXTSTEP and OpenStep
authorRichard Kenner <kenner@gcc.gnu.org>
Wed, 26 Apr 1995 23:16:05 +0000 (19:16 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Wed, 26 Apr 1995 23:16:05 +0000 (19:16 -0400)
runtime.

From-SVN: r9497

gcc/objc/Object.h
gcc/objc/Object.m
gcc/objc/archive.c
gcc/objc/class.c
gcc/objc/encoding.c
gcc/objc/objc.h
gcc/objc/objects.c
gcc/objc/runtime.h
gcc/objc/selector.c
gcc/objc/sendmsg.c
gcc/objc/typedstream.h

index e2722dc18fb2bd2ef078a629d788eca54a446ae3..cb8e00fecdb8ba8135ba98fd250ca652a1e22242 100644 (file)
@@ -1,5 +1,5 @@
 /* Interface for the Object class for Objective-C.
-   Copyright (C) 1993, 1994 Free Software Foundation, Inc.
+   Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -35,7 +35,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  */
 @interface Object
 {
-    Class*     isa;    /* A pointer to the instance's class structure */
+    Class      isa;    /* A pointer to the instance's class structure */
 }
 
         /* Initializing classes and instances */
@@ -52,9 +52,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 - deepCopy;
 
         /* Identifying classes */
-- (Class*)class;
-- (Class*)superClass;
-- (MetaClass*)metaClass;
+- (Class)class;
+- (Class)superClass;
+- (MetaClass)metaClass;
 - (const char *)name;
 
         /* Identifying and comparing objects */
@@ -69,8 +69,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 - (BOOL)isInstance;
 
         /* Testing inheritance relationships */
-- (BOOL)isKindOf:(Class*)aClassObject;
-- (BOOL)isMemberOf:(Class*)aClassObject;
+- (BOOL)isKindOf:(Class)aClassObject;
+- (BOOL)isMemberOf:(Class)aClassObject;
 - (BOOL)isKindOfClassNamed:(const char *)aClassName;
 - (BOOL)isMemberOfClassNamed:(const char *)aClassName;
 
@@ -97,8 +97,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 - (retval_t)performv:(SEL)aSel :(arglist_t)argFrame;
 
         /* Posing */
-+ poseAs:(Class*)aClassObject;
-- (Class*)transmuteClassTo:(Class*)aClassObject;
++ poseAs:(Class)aClassObject;
+- (Class)transmuteClassTo:(Class)aClassObject;
 
         /* Enforcing intentions */
 - subclassResponsibility:(SEL)aSel;
index 1716d1d37c336264cbfb68b7c7c74a2fc8b34bf6..6187c9663babe26a75e327d071c941cbec0e2d2b 100644 (file)
@@ -1,5 +1,5 @@
 /* The implementation of class Object for Objective-C.
-   Copyright (C) 1993, 1994 Free Software Foundation, Inc.
+   Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -81,17 +81,17 @@ extern int errno;
   return [self copy];
 }
 
-- (Class*)class
+- (Class)class
 {
   return object_get_class(self);
 }
 
-- (Class*)superClass
+- (Class)superClass
 {
   return object_get_super_class(self);
 }
 
-- (MetaClass*)metaClass
+- (MetaClass)metaClass
 {
   return object_get_meta_class(self);
 }
@@ -143,9 +143,9 @@ extern int errno;
   return object_is_instance(self);
 }
 
-- (BOOL)isKindOf:(Class*)aClassObject
+- (BOOL)isKindOf:(Class)aClassObject
 {
-  Class* class;
+  Class class;
 
   for (class = self->isa; class!=Nil; class = class_get_super_class(class))
     if (class==aClassObject)
@@ -153,14 +153,14 @@ extern int errno;
   return NO;
 }
 
-- (BOOL)isMemberOf:(Class*)aClassObject
+- (BOOL)isMemberOf:(Class)aClassObject
 {
   return self->isa==aClassObject;
 }
 
 - (BOOL)isKindOfClassNamed:(const char *)aClassName
 {
-  Class* class;
+  Class class;
 
   if (aClassName!=NULL)
     for (class = self->isa; class!=Nil; class = class_get_super_class(class))
@@ -204,7 +204,7 @@ extern int errno;
   struct objc_protocol_list* proto_list;
   id parent;
 
-  for (proto_list = ((Class*)self)->protocols;
+  for (proto_list = ((Class)self)->protocols;
        proto_list; proto_list = proto_list->next)
     {
       for (i=0; i < proto_list->count; i++)
@@ -280,19 +280,19 @@ extern int errno;
   return objc_msg_sendv(self, aSel, argFrame);
 }
 
-+ poseAs:(Class*)aClassObject
++ poseAs:(Class)aClassObject
 {
   return class_pose_as(self, aClassObject);
 }
 
-- (Class*)transmuteClassTo:(Class*)aClassObject
+- (Class)transmuteClassTo:(Class)aClassObject
 {
   if (object_is_instance(self))
     if (class_is_class(aClassObject))
       if (class_get_instance_size(aClassObject)==class_get_instance_size(isa))
         if ([self isKindOf:aClassObject])
           {
-            Class* old_isa = isa;
+            Class old_isa = isa;
             isa = aClassObject;
             return old_isa;
           }
index f2d5f714e4c1a73cc7623f65fba80077466ad7e1..42a4a004cf8cea8341ae97ab69dcf208eafa4c5a 100644 (file)
@@ -1,22 +1,21 @@
 /* GNU Objective C Runtime archiving
-   Copyright (C) 1993 Free Software Foundation, Inc.
-
-Author: Kresten Krab Thorup
+   Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   Contributed by Kresten Krab Thorup
 
 This file is part of GNU CC.
 
 GNU CC is free software; you can redistribute it and/or modify it under the
-   terms of the GNU General Public License as published by the Free Software
-   Foundation; either version 2, or (at your option) any later version.
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2, or (at your option) any later version.
 
 GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY
-   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-   FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-   details.
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+details.
 
 You should have received a copy of the GNU General Public License along with
-   GNU CC; see the file COPYING.  If not, write to the Free Software
-   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+GNU CC; see the file COPYING.  If not, write to the Free Software
+Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 /* As a special exception, if you link this library with files compiled with
    GCC to produce an executable, this does not cause the resulting executable
@@ -45,7 +44,7 @@ extern int fflush(FILE*);
 /* Declare some functions... */
 
 static int
-objc_read_class (struct objc_typed_stream* stream, Class** class);
+objc_read_class (struct objc_typed_stream* stream, Class* class);
 
 int objc_sizeof_type(const char* type);
 
@@ -796,7 +795,7 @@ objc_read_object (struct objc_typed_stream* stream, id* object)
 
       if (buf[0] == (_B_EXT | _BX_OBJECT))
        {
-         Class* class;
+         Class class;
 
          /* get class */
          len = objc_read_class (stream, &class);
@@ -849,7 +848,7 @@ objc_read_object (struct objc_typed_stream* stream, id* object)
 }
 
 static int
-objc_read_class (struct objc_typed_stream* stream, Class** class)
+objc_read_class (struct objc_typed_stream* stream, Class* class)
 {
   unsigned char buf[sizeof (unsigned int)];
   int len;
@@ -958,7 +957,7 @@ objc_write_type(TypedStream* stream, const char* type, const void* data)
     break;
 
   case _C_CLASS:
-    return objc_write_class (stream, *(Class**)data);
+    return objc_write_class (stream, *(Class*)data);
     break;
 
   case _C_SEL:
@@ -1052,7 +1051,7 @@ objc_read_type(TypedStream* stream, const char* type, void* data)
     break;
 
   case _C_CLASS:
-    return objc_read_class (stream, (Class**)data);
+    return objc_read_class (stream, (Class*)data);
     break;
 
   case _C_SEL:
@@ -1153,7 +1152,7 @@ objc_write_types (TypedStream* stream, const char* type, ...)
        break;
 
       case _C_CLASS:
-       res = objc_write_class (stream, *va_arg(args, Class**));
+       res = objc_write_class (stream, *va_arg(args, Class*));
        break;
 
       case _C_SEL:
@@ -1252,7 +1251,7 @@ objc_read_types(TypedStream* stream, const char* type, ...)
        break;
 
       case _C_CLASS:
-       res = objc_read_class(stream, va_arg(args, Class**));
+       res = objc_read_class(stream, va_arg(args, Class*));
        break;
 
       case _C_SEL:
@@ -1589,7 +1588,7 @@ objc_flush_typed_stream (TypedStream* stream)
 }
 
 long
-objc_get_stream_class_version (TypedStream* stream, Class* class)
+objc_get_stream_class_version (TypedStream* stream, Class class)
 {
   if (stream->class_table)
     return PTR2LONG(hash_value_for_key (stream->class_table, class->name));
index 4d674fe363b0b27c095d33addce04dbd59faf8f2..0e7d49b14035034011d65085b6a440327c03f4fb 100644 (file)
@@ -1,22 +1,21 @@
 /* GNU Objective C Runtime class related functions
-   Copyright (C) 1993 Free Software Foundation, Inc.
-
-Author: Kresten Krab Thorup, Dennis Glatting
+   Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   Contributed by Kresten Krab Thorup and Dennis Glatting.
 
 This file is part of GNU CC.
 
 GNU CC is free software; you can redistribute it and/or modify it under the
-   terms of the GNU General Public License as published by the Free Software
-   Foundation; either version 2, or (at your option) any later version.
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2, or (at your option) any later version.
 
 GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY
-   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-   FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-   details.
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+details.
 
 You should have received a copy of the GNU General Public License along with
-   GNU CC; see the file COPYING.  If not, write to the Free Software
-   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+GNU CC; see the file COPYING.  If not, write to the Free Software
+Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 /* As a special exception, if you link this library with files compiled with
    GCC to produce an executable, this does not cause the resulting executable
@@ -33,7 +32,7 @@ static cache_ptr __objc_class_hash = 0;
 /* This is a hook which is called by objc_get_class and 
    objc_lookup_class if the runtime is not able to find the class.
    This may e.g. try to load in the class using dynamic loading */
-Class* (*_objc_lookup_class)(const char* name) = 0;
+Class (*_objc_lookup_class)(const char* name) = 0;
 
 
 /* True when class links has been resolved */     
@@ -59,9 +58,9 @@ void __objc_init_class_tables()
 /* This function adds a class to the class hash table, and assigns the 
    class a number, unless it's already known */
 void
-__objc_add_class_to_hash(Class* class)
+__objc_add_class_to_hash(Class class)
 {
-  Class* h_class;
+  Class h_class;
 
   /* make sure the table is there */
   assert(__objc_class_hash);
@@ -88,9 +87,9 @@ __objc_add_class_to_hash(Class* class)
 /* Get the class object for the class named NAME.  If NAME does not
    identify a known class, the hook _objc_lookup_class is called.  If
    this fails, nil is returned */
-Class* objc_lookup_class (const char* name)
+Class objc_lookup_class (const char* name)
 {
-  Class* class;
+  Class class;
 
   /* Make sure the class hash table exists.  */
   assert (__objc_class_hash);
@@ -109,10 +108,10 @@ Class* objc_lookup_class (const char* name)
 /* Get the class object for the class named NAME.  If NAME does not
    identify a known class, the hook _objc_lookup_class is called.  If
    this fails,  an error message is issued and the system aborts */
-Class*
+Class
 objc_get_class (const char *name)
 {
-  Class* class;
+  Class class;
 
   /* Make sure the class hash table exists.  */
   assert (__objc_class_hash);
@@ -132,7 +131,7 @@ objc_get_class (const char *name)
   abort();
 }
 
-MetaClass*
+MetaClass
 objc_get_meta_class(const char *name)
 {
   return objc_get_class(name)->class_pointer;
@@ -147,7 +146,7 @@ objc_get_meta_class(const char *name)
        while ((class = objc_next_class(&es)))
          ... do something with class; 
 */
-Class
+Class
 objc_next_class(void **enum_state)
 {
   /* make sure the table is there */
@@ -157,7 +156,7 @@ objc_next_class(void **enum_state)
     hash_next(__objc_class_hash, *(node_ptr*)enum_state);
   if (*(node_ptr*)enum_state)
     return (*(node_ptr*)enum_state)->value;
-  return (Class*)0;
+  return (Class)0;
 }
 
 /* Resolve super/subclass links for all classes.  The only thing we 
@@ -166,7 +165,7 @@ objc_next_class(void **enum_state)
 void __objc_resolve_class_links()
 {
   node_ptr node;
-  Class* object_class = objc_get_class ("Object");
+  Class object_class = objc_get_class ("Object");
 
   assert(object_class);
 
@@ -174,7 +173,7 @@ void __objc_resolve_class_links()
   for (node = hash_next (__objc_class_hash, NULL); node;
        node = hash_next (__objc_class_hash, node))
     {
-      Class* class1 = node->value;
+      Class class1 = node->value;
 
       /* Make sure we have what we think we have.  */
       assert (CLS_ISCLASS(class1));
@@ -190,7 +189,7 @@ void __objc_resolve_class_links()
               
           if(class1->super_class)
             {   
-              Class* a_super_class 
+              Class a_super_class 
                 = objc_get_class ((char *) class1->super_class);
               
               assert (a_super_class);
@@ -225,8 +224,8 @@ void __objc_resolve_class_links()
   for (node = hash_next (__objc_class_hash, NULL); node;
        node = hash_next (__objc_class_hash, node))
     {
-      Class* class1 = node->value;
-      Class* sub_class;
+      Class class1 = node->value;
+      Class sub_class;
       for (sub_class = class1->subclass_list; sub_class;
            sub_class = sub_class->sibling_class)
         {
@@ -241,11 +240,11 @@ void __objc_resolve_class_links()
 
 #define CLASSOF(c) ((c)->class_pointer)
 
-Class*
-class_pose_as (Class* impostor, Class* super_class)
+Class
+class_pose_as (Class impostor, Class super_class)
 {
   node_ptr node;
-  Class* class1;
+  Class class1;
 
   if (!CLS_ISRESOLV (impostor))
     __objc_resolve_class_links ();
@@ -259,16 +258,16 @@ class_pose_as (Class* impostor, Class* super_class)
   assert (impostor->instance_size == super_class->instance_size);
 
   {
-    Class **subclass = &(super_class->subclass_list);
+    Class *subclass = &(super_class->subclass_list);
 
     /* move subclasses of super_class to impostor */
     while (*subclass)
       {
-       Class *nextSub = (*subclass)->sibling_class;
+       Class nextSub = (*subclass)->sibling_class;
 
        if (*subclass != impostor)
          {
-           Class *sub = *subclass;
+           Class sub = *subclass;
 
            /* classes */
            sub->sibling_class = impostor->subclass_list;
@@ -311,7 +310,7 @@ class_pose_as (Class* impostor, Class* super_class)
   for (node = hash_next (__objc_class_hash, NULL); node;
        node = hash_next (__objc_class_hash, node))
     {
-      class1 = (Class*)node->value;
+      class1 = (Class)node->value;
       if (class1 == super_class)
        {
          node->value = impostor; /* change hash table value */
index 27b4b8a4d0d8260a09a5094baf6c3c3d022dcb5b..7f64046a4872190c64ef49348d21b2d1a6d614a3 100644 (file)
@@ -1,7 +1,6 @@
 /* Encoding of types for Objective C.
-   Copyright (C) 1993 Free Software Foundation, Inc.
-
-Author: Kresten Krab Thorup
+   Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   Contributed by Kresten Krab Thorup
 
 This file is part of GNU CC.
 
@@ -64,7 +63,7 @@ objc_sizeof_type(const char* type)
     break;
 
   case _C_CLASS:
-    return sizeof(Class*);
+    return sizeof(Class);
     break;
 
   case _C_SEL:
@@ -171,7 +170,7 @@ objc_alignof_type(const char* type)
     break;
 
   case _C_CLASS:
-    return __alignof__(Class*);
+    return __alignof__(Class);
     break;
     
   case _C_SEL:
index 2b74a1b7af451dac20efa2dab46331ced01b11ff..93655e6c7ed4a99822824de79dc25f4787d23b55 100644 (file)
@@ -1,5 +1,5 @@
 /* Basic data types for Objective C.
-   Copyright (C) 1993 Free Software Foundation, Inc.
+   Copyright (C) 1993, 1995 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -76,7 +76,7 @@ typedef id (*IMP)(id, SEL, ...);
 ** More simple types...
 */
 #define nil (id)0                               /* id of Nil instance */
-#define Nil (Class*)0                          /* id of Nil class */
+#define Nil (Class)0                            /* id of Nil class */
 typedef char *STR;                              /* String alias */
 
 /*
@@ -89,10 +89,10 @@ typedef char *STR;                              /* String alias */
 ** change type. The compiler generates "char* const" and places a string in
 ** the following member variables:  super_class. 
 */
-typedef struct objc_class MetaClass;
-typedef struct objc_class Class;
+typedef struct objc_class *MetaClass;
+typedef struct objc_class *Class;
 struct objc_class {     
-  MetaClass*         class_pointer;          /* Pointer to the class's
+  MetaClass           class_pointer;          /* Pointer to the class's
                                                 meta class. */
   struct objc_class*  super_class;            /* Pointer to the super 
                                                 class. NULL for class 
index 5c64fdaaf517ef02e3132947c50d01e1285b972a..ed0899eb77edd50d81f3a88b301ab2131d37da74 100644 (file)
@@ -1,22 +1,21 @@
 /* GNU Objective C Runtime class related functions
-   Copyright (C) 1993 Free Software Foundation, Inc.
-
-Author: Kresten Krab Thorup
+   Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   Contributed by Kresten Krab Thorup
 
 This file is part of GNU CC.
 
 GNU CC is free software; you can redistribute it and/or modify it under the
-   terms of the GNU General Public License as published by the Free Software
-   Foundation; either version 2, or (at your option) any later version.
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2, or (at your option) any later version.
 
 GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY
-   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-   FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-   details.
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+details.
 
 You should have received a copy of the GNU General Public License along with
-   GNU CC; see the file COPYING.  If not, write to the Free Software
-   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+GNU CC; see the file COPYING.  If not, write to the Free Software
+Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 /* As a special exception, if you link this library with files compiled with
    GCC to produce an executable, this does not cause the resulting executable
@@ -27,16 +26,16 @@ You should have received a copy of the GNU General Public License along with
 #include "../tconfig.h"         /* include defs of bzero for target */
 #include "runtime.h"           /* the kitchen sink */
 
-id __objc_object_alloc(Class*);
+id __objc_object_alloc(Class);
 id __objc_object_dispose(id);
 id __objc_object_copy(id);
 
-id (*_objc_object_alloc)(Class*) = __objc_object_alloc;
+id (*_objc_object_alloc)(Class)   = __objc_object_alloc;
 id (*_objc_object_dispose)(id)    = __objc_object_dispose;
 id (*_objc_object_copy)(id)       = __objc_object_copy;
 
 id
-class_create_instance(Class* class)
+class_create_instance(Class class)
 {
   id new = nil;
   if (CLS_ISCLASS(class))
@@ -71,7 +70,7 @@ object_dispose(id object)
   return nil;
 }
 
-id __objc_object_alloc(Class* class)
+id __objc_object_alloc(Class class)
 {
   return (id)__objc_xmalloc(class->instance_size);
 }
index 224c4490011104478c56ff9cdf2a109a289abae0..8086b25b15bdedbd595e3ef15c236e84f40aab93 100644 (file)
@@ -1,22 +1,21 @@
 /* GNU Objective C Runtime internal declarations
-   Copyright (C) 1993 Free Software Foundation, Inc.
-
-Author: Kresten Krab Thorup
+   Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   Contributed by Kresten Krab Thorup
 
 This file is part of GNU CC.
 
 GNU CC is free software; you can redistribute it and/or modify it under the
-   terms of the GNU General Public License as published by the Free Software
-   Foundation; either version 2, or (at your option) any later version.
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2, or (at your option) any later version.
 
 GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY
-   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-   FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-   details.
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+details.
 
 You should have received a copy of the GNU General Public License along with
-   GNU CC; see the file COPYING.  If not, write to the Free Software
-   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+GNU CC; see the file COPYING.  If not, write to the Free Software
+Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 /* As a special exception, if you link this library with files compiled with
    GCC to produce an executable, this does not cause the resulting executable
@@ -41,15 +40,15 @@ You should have received a copy of the GNU General Public License along with
 #include "objc/hash.h"         /* hash structures */
 #include "objc/list.h"         /* linear lists */
 
-extern void __objc_add_class_to_hash(Class*); /* (objc-class.c) */
+extern void __objc_add_class_to_hash(Class);   /* (objc-class.c) */
 extern void __objc_init_selector_tables();     /* (objc-sel.c) */
-extern void __objc_init_class_tables();     /* (objc-class.c) */
+extern void __objc_init_class_tables();        /* (objc-class.c) */
 extern void __objc_init_dispatch_tables();     /* (objc-dispatch.c) */
-extern void __objc_install_premature_dtable(Class*); /* (objc-dispatch.c) */
-extern void __objc_resolve_class_links(); /* (objc-class.c) */
-extern void __objc_register_selectors_from_class(Class*); /* (objc-sel.c) */
-extern void __objc_update_dispatch_table_for_class (Class*);/* (objc-msg.c) */
-extern void class_add_method_list(Class*, MethodList_t);
+extern void __objc_install_premature_dtable(Class); /* (objc-dispatch.c) */
+extern void __objc_resolve_class_links();      /* (objc-class.c) */
+extern void __objc_register_selectors_from_class(Class); /* (objc-sel.c) */
+extern void __objc_update_dispatch_table_for_class (Class);/* (objc-msg.c) */
+extern void class_add_method_list(Class, MethodList_t);
 
 extern void objc_error(id object, const char* fmt, va_list);
 extern void (*_objc_error)(id, const char*, va_list);
index 5f7ac213dfb209f20fa75f2e16787e3f06f46720..9adb56a2948360cd089bf391740f783101d68eb1 100644 (file)
@@ -1,22 +1,21 @@
 /* GNU Objective C Runtime selector related functions
-   Copyright (C) 1993 Free Software Foundation, Inc.
-
-Author: Kresten Krab Thorup
+   Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   Contributed by Kresten Krab Thorup
 
 This file is part of GNU CC.
 
 GNU CC is free software; you can redistribute it and/or modify it under the
-   terms of the GNU General Public License as published by the Free Software
-   Foundation; either version 2, or (at your option) any later version.
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2, or (at your option) any later version.
 
 GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY
-   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-   FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-   details.
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+details.
 
 You should have received a copy of the GNU General Public License along with
-   GNU CC; see the file COPYING.  If not, write to the Free Software
-   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+GNU CC; see the file COPYING.  If not, write to the Free Software
+Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 /* As a special exception, if you link this library with files compiled with
    GCC to produce an executable, this does not cause the resulting executable
@@ -54,7 +53,7 @@ void __objc_init_selector_tables()
 /* This routine is given a class and records all of the methods in its class
    structure in the record table.  */
 void
-__objc_register_selectors_from_class (Class* class)
+__objc_register_selectors_from_class (Class class)
 {
   MethodList_t method_list;
 
index 818548578987272424f972ad74cea6694658293c..9f252d8ffa592d8cb145253b2da59cf69b99efa3 100644 (file)
@@ -1,22 +1,21 @@
 /* GNU Objective C Runtime message lookup 
-   Copyright (C) 1993 Free Software Foundation, Inc.
-
-Author: Kresten Krab Thorup
+   Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   Contributed by Kresten Krab Thorup
 
 This file is part of GNU CC.
 
 GNU CC is free software; you can redistribute it and/or modify it under the
-   terms of the GNU General Public License as published by the Free Software
-   Foundation; either version 2, or (at your option) any later version.
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2, or (at your option) any later version.
 
 GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY
-   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-   FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-   details.
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+details.
 
 You should have received a copy of the GNU General Public License along with
-   GNU CC; see the file COPYING.  If not, write to the Free Software
-   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+GNU CC; see the file COPYING.  If not, write to the Free Software
+Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 /* As a special exception, if you link this library with files compiled with
    GCC to produce an executable, this does not cause the resulting executable
@@ -43,9 +42,9 @@ You should have received a copy of the GNU General Public License along with
 struct sarray* __objc_uninstalled_dtable = 0;
 
 /* Send +initialize to class */
-static void __objc_send_initialize(Class*);
+static void __objc_send_initialize(Class);
 
-static void __objc_install_dispatch_table_for_class (Class*);
+static void __objc_install_dispatch_table_for_class (Class);
 
 /* Forward declare some functions */
 static void __objc_init_install_dtable(id, SEL);
@@ -57,7 +56,7 @@ static __big
 static id
 #endif
 __objc_block_forward(id, SEL, ...);
-static Method_t search_for_method_in_hierarchy (Class* class, SEL sel);
+static Method_t search_for_method_in_hierarchy (Class class, SEL sel);
 static Method_t search_for_method_in_list(MethodList_t list, SEL op);
 id nil_method(id, SEL, ...);
 
@@ -70,7 +69,7 @@ nil_method(id receiver, SEL op, ...)
 /* Given a class and selector, return the selector's implementation.  */
 __inline__
 IMP
-get_imp (Class* class, SEL sel)
+get_imp (Class class, SEL sel)
 {
   IMP impl;
   void* res = sarray_get (class->dtable, (size_t) sel->sel_id);
@@ -187,16 +186,16 @@ static void __objc_init_install_dtable(id receiver, SEL op)
   else
     {
       /* receiver is a class object */
-      assert(CLS_ISCLASS((Class*)receiver));
+      assert(CLS_ISCLASS((Class)receiver));
       assert(CLS_ISMETA(receiver->class_pointer));
 
       /* Install real dtable for factory methods */
       __objc_install_dispatch_table_for_class (receiver->class_pointer);
 
       if (strcmp (sel_get_name (op), "initialize"))
-       __objc_send_initialize((Class*)receiver);
+       __objc_send_initialize((Class)receiver);
       else
-       CLS_SETINITIALIZED((Class*)receiver);
+       CLS_SETINITIALIZED((Class)receiver);
     }
 
 allready_initialized:
@@ -215,14 +214,14 @@ allready_initialized:
 
 /* Install dummy table for class which causes the first message to
    that class (or instances hereof) to be initialized properly */
-void __objc_install_premature_dtable(Class* class)
+void __objc_install_premature_dtable(Class class)
 {
   assert(__objc_uninstalled_dtable);
   class->dtable = __objc_uninstalled_dtable;
 }   
 
 /* Send +initialize to class if not already done */
-static void __objc_send_initialize(Class* class)
+static void __objc_send_initialize(Class class)
 {
   /* This *must* be a class object */
   assert(CLS_ISCLASS(class));
@@ -264,9 +263,9 @@ static void __objc_send_initialize(Class* class)
 }  
 
 static void
-__objc_install_dispatch_table_for_class (Class* class)
+__objc_install_dispatch_table_for_class (Class class)
 {
-  Class* super;
+  Class super;
   MethodList_t mlist;
   int counter;
 
@@ -302,9 +301,9 @@ __objc_install_dispatch_table_for_class (Class* class)
     }
 }
 
-void __objc_update_dispatch_table_for_class (Class* class)
+void __objc_update_dispatch_table_for_class (Class class)
 {
-  Class* next;
+  Class next;
 
   /* not yet installed -- skip it */
   if (class->dtable == __objc_uninstalled_dtable) 
@@ -329,7 +328,7 @@ void __objc_update_dispatch_table_for_class (Class* class)
    methods installed rightaway, and their selectors are made into
    SEL's by the function __objc_register_selectors_from_class. */ 
 void
-class_add_method_list (Class* class, MethodList_t list)
+class_add_method_list (Class class, MethodList_t list)
 {
   int i;
   static SEL initialize_sel = 0;
@@ -370,13 +369,13 @@ class_add_method_list (Class* class, MethodList_t list)
 
 
 Method_t
-class_get_instance_method(Class* class, SEL op)
+class_get_instance_method(Class class, SEL op)
 {
   return search_for_method_in_hierarchy(class, op);
 }
 
 Method_t
-class_get_class_method(MetaClass* class, SEL op)
+class_get_class_method(MetaClass class, SEL op)
 {
   return search_for_method_in_hierarchy(class, op);
 }
@@ -387,10 +386,10 @@ class_get_class_method(MetaClass* class, SEL op)
    otherwise. */   
 
 static Method_t
-search_for_method_in_hierarchy (Class* cls, SEL sel)
+search_for_method_in_hierarchy (Class cls, SEL sel)
 {
   Method_t method = NULL;
-  Class* class;
+  Class class;
 
   if (! sel_is_mapped (sel))
     return NULL;
index f3d7cd987cb9fbb5861082c2e972ce11f1e6ad4e..f02a6fd1a4b167913d1592f111b84a9efc83d72e 100644 (file)
@@ -1,5 +1,5 @@
 /* GNU Objective-C Typed Streams interface.
-   Copyright (C) 1993 Free Software Foundation, Inc.
+   Copyright (C) 1993, 1995 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -98,7 +98,7 @@ int objc_read_types (TypedStream* stream, const char* type, ...);
 int objc_write_object_reference (TypedStream* stream, id object);
 int objc_write_root_object (TypedStream* stream, id object);
 
-long objc_get_stream_class_version (TypedStream* stream, Class* class);
+long objc_get_stream_class_version (TypedStream* stream, Class class);
 
 
 /*