mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
Make NSObject conform to specs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2987 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
a7933f2496
commit
5380811bdc
14 changed files with 97 additions and 120 deletions
24
ChangeLog
24
ChangeLog
|
@ -1,3 +1,27 @@
|
|||
Mon Sep 28 17:02:33 1998 Adam Fedor <fedor@ultra.doc.com>
|
||||
|
||||
* src/include/NSObject.h (-perform:, -perform:withObject:,
|
||||
-perform:withObject:withObject:): Remove definitions (use
|
||||
performSelector:... instead.
|
||||
(+class, +superclass, +setVersion:, +version): Add.
|
||||
Rearrange some other method definitions.
|
||||
* src/include/NSProxy.h: Likewise.
|
||||
|
||||
* src/NSObject.m (+class): Add.
|
||||
(-perform:, -perform:withObject:,
|
||||
-perform:withObject:withObject:): Depreciate these methods.
|
||||
* src/Proxy.m: Likewise.
|
||||
|
||||
* src/Collection.m: Use performSelector instead of perform.
|
||||
* src/IndexedCollection.m: Likewise.
|
||||
* src/NSArray.m: Likewise.
|
||||
* src/NSRunLoop.m: Likewise.
|
||||
* src/NSSet.m: Likewise.
|
||||
* src/NSTimer.m: Likewise.
|
||||
* src/NotificationDispatcher.m: Likewise.
|
||||
|
||||
* src/NSException (-initWithCoder:): Fix object decoding.
|
||||
|
||||
Fri Sep 18 10:20:55 1998 Adam Fedor <fedor@ultra.doc.com>
|
||||
|
||||
* src/include/preface.h.in (MIN, MAX): Rewrite macros (suggestion
|
||||
|
|
|
@ -19,4 +19,9 @@ gnustep-base_5.html
|
|||
gnustep-base_6.html
|
||||
CODING-STANDARDS
|
||||
STATUS
|
||||
TODO
|
||||
INSTALL
|
||||
NEWS
|
||||
README
|
||||
ANNOUNCE
|
||||
|
||||
|
|
|
@ -40,22 +40,23 @@
|
|||
@class Protocol;
|
||||
|
||||
@protocol NSObject
|
||||
- autorelease;
|
||||
- (Class) class;
|
||||
- (BOOL) conformsToProtocol: (Protocol *)aProtocol;
|
||||
- (unsigned) hash;
|
||||
- (Class) superclass;
|
||||
- (BOOL) isEqual: anObject;
|
||||
- (BOOL) isKindOfClass: (Class)aClass;
|
||||
- (BOOL) isMemberOfClass: (Class)aClass;
|
||||
- (BOOL) isProxy;
|
||||
- perform: (SEL)aSelector;
|
||||
- perform: (SEL)aSelector withObject: anObject;
|
||||
- perform: (SEL)aSelector withObject: object1 withObject: object2;
|
||||
- (oneway void) release;
|
||||
- (BOOL) respondsToSelector: (SEL)aSelector;
|
||||
- retain;
|
||||
- (unsigned) retainCount;
|
||||
- (unsigned) hash;
|
||||
- self;
|
||||
- performSelector: (SEL)aSelector;
|
||||
- performSelector: (SEL)aSelector withObject: anObject;
|
||||
- performSelector: (SEL)aSelector withObject: object1 withObject: object2;
|
||||
- (BOOL) respondsToSelector: (SEL)aSelector;
|
||||
- (BOOL) conformsToProtocol: (Protocol *)aProtocol;
|
||||
- retain;
|
||||
- autorelease;
|
||||
- (oneway void) release;
|
||||
- (unsigned) retainCount;
|
||||
- (NSZone *) zone;
|
||||
- (NSString *) description;
|
||||
@end
|
||||
|
@ -88,8 +89,8 @@
|
|||
- (id) init;
|
||||
- (id) mutableCopy;
|
||||
|
||||
- (Class) class;
|
||||
- (Class) superclass;
|
||||
+ (Class) class;
|
||||
+ (Class) superclass;
|
||||
|
||||
+ (BOOL) instancesRespondToSelector: (SEL)aSelector;
|
||||
|
||||
|
@ -111,6 +112,9 @@
|
|||
- (Class) classForCoder;
|
||||
- (id) replacementObjectForCoder: (NSCoder*)anEncoder;
|
||||
|
||||
+ setVersion: (int)aVersion;
|
||||
+ (int) version;
|
||||
|
||||
@end
|
||||
|
||||
@interface NSObject (NSPortCoder)
|
||||
|
@ -158,13 +162,6 @@ enum {NSNotFound = 0x7fffffff};
|
|||
- write: (TypedStream*)aStream;
|
||||
@end
|
||||
|
||||
@interface NSObject (OPENSTEP)
|
||||
- performSelector: (SEL)aSelector;
|
||||
- performSelector: (SEL)aSelector withObject: anObject;
|
||||
- performSelector: (SEL)aSelector withObject: object1 withObject: object2;
|
||||
@end
|
||||
|
||||
|
||||
#include <Foundation/NSDate.h>
|
||||
@interface NSObject (TimedPerformers)
|
||||
+ (void) cancelPreviousPerformRequestsWithTarget: (id)obj
|
||||
|
|
|
@ -42,28 +42,9 @@
|
|||
+ (void) load;
|
||||
+ (BOOL) respondsToSelector: (SEL)aSelector;
|
||||
|
||||
- autorelease;
|
||||
- (Class) class;
|
||||
- (BOOL) conformsToProtocol: (Protocol*)aProtocol;
|
||||
- (void) dealloc;
|
||||
- (NSString*) description;
|
||||
- (void) forwardInvocation: (NSInvocation*)anInvocation;
|
||||
- (unsigned int) hash;
|
||||
- (BOOL) isEqual: anObject;
|
||||
- (BOOL) isKindOfClass: (Class)aClass;
|
||||
- (BOOL) isMemberOfClass: (Class)aClass;
|
||||
- (BOOL) isProxy;
|
||||
- methodSignatureForSelector: (SEL)aSelector;
|
||||
- perform: (SEL)aSelector;
|
||||
- perform: (SEL)aSelector withObject: anObject;
|
||||
- perform: (SEL)aSelector withObject: anObject withObject: anotherObject;
|
||||
- (void) release;
|
||||
- (BOOL) respondsToSelector: (SEL)aSelector;
|
||||
- retain;
|
||||
- (unsigned int) retainCount;
|
||||
- self;
|
||||
- superclass;
|
||||
- (NSZone*)zone;
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
@ -410,7 +410,7 @@
|
|||
|
||||
FOR_COLLECTION(self, o)
|
||||
{
|
||||
[o perform: aSel];
|
||||
[o performSelector: aSel];
|
||||
}
|
||||
END_FOR_COLLECTION(self);
|
||||
}
|
||||
|
@ -421,7 +421,7 @@
|
|||
|
||||
FOR_COLLECTION(self, o)
|
||||
{
|
||||
[o perform: aSel withObject: argObject];
|
||||
[o performSelector: aSel withObject: argObject];
|
||||
}
|
||||
END_FOR_COLLECTION(self);
|
||||
}
|
||||
|
|
|
@ -249,7 +249,7 @@
|
|||
id o;
|
||||
FOR_INDEXED_COLLECTION_REVERSE(self, o)
|
||||
{
|
||||
[o perform: aSel];
|
||||
[o performSelector: aSel];
|
||||
}
|
||||
END_FOR_INDEXED_COLLECTION_REVERSE(self);
|
||||
}
|
||||
|
@ -259,7 +259,7 @@
|
|||
id o;
|
||||
FOR_INDEXED_COLLECTION_REVERSE(self, o)
|
||||
{
|
||||
[o perform: aSel withObject: argObject];
|
||||
[o performSelector: aSel withObject: argObject];
|
||||
}
|
||||
END_FOR_INDEXED_COLLECTION_REVERSE(self);
|
||||
}
|
||||
|
|
|
@ -421,7 +421,7 @@ static Class NSMutableArray_concrete_class;
|
|||
{
|
||||
unsigned i = [self count];
|
||||
while (i-- > 0)
|
||||
[[self objectAtIndex:i] perform:aSelector];
|
||||
[[self objectAtIndex:i] performSelector:aSelector];
|
||||
}
|
||||
|
||||
- (void) makeObjectsPerformSelector: (SEL)aSelector
|
||||
|
@ -433,7 +433,7 @@ static Class NSMutableArray_concrete_class;
|
|||
{
|
||||
unsigned i = [self count];
|
||||
while (i-- > 0)
|
||||
[[self objectAtIndex:i] perform:aSelector withObject:argument];
|
||||
[[self objectAtIndex:i] performSelector:aSelector withObject:argument];
|
||||
}
|
||||
|
||||
- (void) makeObjectsPerformSelector: (SEL)aSelector withObject:argument
|
||||
|
@ -446,7 +446,7 @@ static Class NSMutableArray_concrete_class;
|
|||
{
|
||||
int compare(id elem1, id elem2, void* context)
|
||||
{
|
||||
return (int)[elem1 perform:comparator withObject:elem2];
|
||||
return (int)[elem1 performSelector:comparator withObject:elem2];
|
||||
}
|
||||
|
||||
return [self sortedArrayUsingFunction:compare context:NULL];
|
||||
|
@ -921,7 +921,7 @@ static Class NSMutableArray_concrete_class;
|
|||
{
|
||||
int compare(id elem1, id elem2, void* context)
|
||||
{
|
||||
return (int)[elem1 perform:comparator withObject:elem2];
|
||||
return (int)[elem1 performSelector:comparator withObject:elem2];
|
||||
}
|
||||
|
||||
[self sortUsingFunction:compare context:NULL];
|
||||
|
|
|
@ -147,9 +147,9 @@ _NSFoundationUncaughtExceptionHandler(NSException *exception)
|
|||
- (id)initWithCoder: aDecoder
|
||||
{
|
||||
self = [super initWithCoder:aDecoder];
|
||||
[aDecoder decodeObjectAt: &e_name];
|
||||
[aDecoder decodeObjectAt: &e_reason];
|
||||
[aDecoder decodeObjectAt: &e_info];
|
||||
e_name = [[aDecoder decodeObject] retain];
|
||||
e_reason = [[aDecoder decodeObject] retain];
|
||||
e_info = [[aDecoder decodeObject] retain];
|
||||
return self;
|
||||
}
|
||||
|
||||
|
|
|
@ -510,6 +510,11 @@ static BOOL double_release_check_enabled = NO;
|
|||
return self;
|
||||
}
|
||||
|
||||
+ (Class) class
|
||||
{
|
||||
return self;
|
||||
}
|
||||
|
||||
- (Class) class
|
||||
{
|
||||
return object_get_class(self);
|
||||
|
@ -568,7 +573,7 @@ static BOOL double_release_check_enabled = NO;
|
|||
return NO;
|
||||
}
|
||||
|
||||
- perform: (SEL)aSelector
|
||||
- performSelector: (SEL)aSelector
|
||||
{
|
||||
IMP msg = objc_msg_lookup(self, aSelector);
|
||||
if (!msg)
|
||||
|
@ -581,7 +586,7 @@ static BOOL double_release_check_enabled = NO;
|
|||
return (*msg)(self, aSelector);
|
||||
}
|
||||
|
||||
- perform: (SEL)aSelector withObject: anObject
|
||||
- performSelector: (SEL)aSelector withObject: anObject
|
||||
{
|
||||
IMP msg = objc_msg_lookup(self, aSelector);
|
||||
if (!msg)
|
||||
|
@ -594,7 +599,7 @@ static BOOL double_release_check_enabled = NO;
|
|||
return (*msg)(self, aSelector, anObject);
|
||||
}
|
||||
|
||||
- perform: (SEL)aSelector withObject: object1 withObject: object2
|
||||
- performSelector: (SEL)aSelector withObject: object1 withObject: object2
|
||||
{
|
||||
IMP msg = objc_msg_lookup(self, aSelector);
|
||||
if (!msg)
|
||||
|
@ -685,6 +690,17 @@ static BOOL double_release_check_enabled = NO;
|
|||
return self;
|
||||
}
|
||||
|
||||
+ (int)version
|
||||
{
|
||||
return class_get_version(self);
|
||||
}
|
||||
|
||||
+ setVersion:(int)aVersion
|
||||
{
|
||||
class_set_version(self, aVersion);
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
@ -774,17 +790,6 @@ static BOOL double_release_check_enabled = NO;
|
|||
return self;
|
||||
}
|
||||
|
||||
+ (int)version
|
||||
{
|
||||
return class_get_version(self);
|
||||
}
|
||||
|
||||
+ setVersion:(int)aVersion
|
||||
{
|
||||
class_set_version(self, aVersion);
|
||||
return self;
|
||||
}
|
||||
|
||||
- notImplemented:(SEL)aSel
|
||||
{
|
||||
[NSException
|
||||
|
@ -803,12 +808,24 @@ static BOOL double_release_check_enabled = NO;
|
|||
|
||||
- perform: (SEL)sel with: anObject
|
||||
{
|
||||
return [self perform:sel withObject:anObject];
|
||||
return [self performSelector:sel withObject:anObject];
|
||||
}
|
||||
|
||||
- perform: (SEL)sel with: anObject with: anotherObject
|
||||
{
|
||||
return [self perform:sel withObject:anObject withObject:anotherObject];
|
||||
return [self performSelector:sel withObject:anObject
|
||||
withObject:anotherObject];
|
||||
}
|
||||
|
||||
- perform: (SEL)sel withObject: anObject
|
||||
{
|
||||
return [self performSelector:sel withObject:anObject];
|
||||
}
|
||||
|
||||
- perform: (SEL)sel withObject: anObject withObject: anotherObject
|
||||
{
|
||||
return [self performSelector:sel withObject:anObject
|
||||
withObject:anotherObject];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@ -944,50 +961,3 @@ static BOOL double_release_check_enabled = NO;
|
|||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@implementation NSObject (OPENSTEP)
|
||||
|
||||
/* OPENSTEP Object class extensions
|
||||
as distinquished from the OpenStep specification. */
|
||||
|
||||
- performSelector: (SEL)aSelector
|
||||
{
|
||||
IMP msg = objc_msg_lookup(self, aSelector);
|
||||
if (!msg)
|
||||
{
|
||||
[NSException
|
||||
raise: NSGenericException
|
||||
format: @"invalid selector passed to %s", sel_get_name(_cmd)];
|
||||
return nil;
|
||||
}
|
||||
return (*msg)(self, aSelector);
|
||||
}
|
||||
|
||||
- performSelector: (SEL)aSelector withObject: anObject
|
||||
{
|
||||
IMP msg = objc_msg_lookup(self, aSelector);
|
||||
if (!msg)
|
||||
{
|
||||
[NSException
|
||||
raise: NSGenericException
|
||||
format: @"invalid selector passed to %s", sel_get_name(_cmd)];
|
||||
return nil;
|
||||
}
|
||||
return (*msg)(self, aSelector, anObject);
|
||||
}
|
||||
|
||||
- performSelector: (SEL)aSelector withObject: object1 withObject: object2
|
||||
{
|
||||
IMP msg = objc_msg_lookup(self, aSelector);
|
||||
if (!msg)
|
||||
{
|
||||
[NSException
|
||||
raise: NSGenericException
|
||||
format: @"invalid selector passed to %s", sel_get_name(_cmd)];
|
||||
return nil;
|
||||
}
|
||||
return (*msg)(self, aSelector, object1, object2);
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -176,7 +176,7 @@
|
|||
return nil;
|
||||
}
|
||||
|
||||
- perform: (SEL)aSelector
|
||||
- performSelector: (SEL)aSelector
|
||||
{
|
||||
IMP msg = objc_msg_lookup(self, aSelector);
|
||||
|
||||
|
@ -189,7 +189,7 @@
|
|||
return (*msg)(self, aSelector);
|
||||
}
|
||||
|
||||
- perform: (SEL)aSelector withObject: anObject
|
||||
- performSelector: (SEL)aSelector withObject: anObject
|
||||
{
|
||||
IMP msg = objc_msg_lookup(self, aSelector);
|
||||
|
||||
|
@ -202,7 +202,7 @@
|
|||
return (*msg)(self, aSelector, anObject);
|
||||
}
|
||||
|
||||
- perform: (SEL)aSelector withObject: anObject withObject: anotherObject
|
||||
- performSelector: (SEL)aSelector withObject: anObject withObject: anotherObject
|
||||
{
|
||||
IMP msg = objc_msg_lookup(self, aSelector);
|
||||
|
||||
|
|
|
@ -332,7 +332,7 @@ static int debug_run_loop = 0;
|
|||
[[[NSRunLoop currentInstance] _timedPerformers]
|
||||
removeObjectIdenticalTo: self];
|
||||
}
|
||||
[target perform: selector withObject: argument];
|
||||
[target performSelector: selector withObject: argument];
|
||||
}
|
||||
|
||||
- initWithSelector: (SEL)aSelector
|
||||
|
|
|
@ -237,14 +237,14 @@ static Class NSMutableSet_concrete_class;
|
|||
{
|
||||
id o, e = [self objectEnumerator];
|
||||
while ((o = [e nextObject]))
|
||||
[o perform:aSelector];
|
||||
[o performSelector:aSelector];
|
||||
}
|
||||
|
||||
- (void) makeObjectsPerform: (SEL)aSelector withObject:argument
|
||||
{
|
||||
id o, e = [self objectEnumerator];
|
||||
while ((o = [e nextObject]))
|
||||
[o perform:aSelector withObject: argument];
|
||||
[o performSelector:aSelector withObject: argument];
|
||||
}
|
||||
|
||||
- (BOOL) intersectsSet: (NSSet*) otherSet
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
- (void) fire
|
||||
{
|
||||
if (_selector)
|
||||
[_target perform: _selector withObject: self];
|
||||
[_target performSelector: _selector withObject: self];
|
||||
else
|
||||
[_target invoke];
|
||||
|
||||
|
|
|
@ -183,7 +183,7 @@
|
|||
|
||||
- (void) postNotification: n
|
||||
{
|
||||
[_target perform: _selector withObject: n];
|
||||
[_target performSelector: _selector withObject: n];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
Loading…
Reference in a new issue