home *** CD-ROM | disk | FTP | other *** search
- /*
- dependencies : NXZone/NSZone should occur in the same stage as NSNameConversion for zone
- compatibility (or else move zone stuff into this file).
- */
-
- /*********** NSObjectConversion: declaration changes ***********/
-
- replace "\<objc/Object.h>" with "<Foundation/NSObject.h>"
-
- replace "\<objc/NSObject.h>" with "<Foundation/NSObject.h>"
-
- replace "Object" with "NSObject"
-
- /*********** NSObjectConversion: simple renaming ***********/
-
- replacemethod "<old>" with "<new>"
- where ("<old>", "<new>") isOneOf {
- ("isKindOf:", "isKindOfClass:"),
- ("isMemberOf:", "isMemberOfClass:"),
- ("conformsTo:", "conformsToProtocol:"),
- ("respondsTo:", "respondsToSelector:"),
- ("poseAs:", "poseAsClass:"),
- ("instancesRespondTo:", "instancesRespondToSelector:"),
- ("methodFor:", "methodForSelector:"),
- ("instanceMethodFor:", "instanceMethodForSelector:"),
- ("doesNotRecognize:", "doesNotRecognizeSelector:"),
- ("perform:with:", "perform:withObject:"),
- ("perform:with:with:", "perform:withObject:withObject:"),
- ("perform:with:afterDelay:", "perform:withObject:afterDelay:"),
- ("allocFromZone:", "allocWithZone:"),
- ("copyFromZone:", "copyWithZone:"),
- ("mutableCopyFromZone:", "mutableCopyWithZone:")
- }
-
- replace "return [<obj> doesNotRecognizeSelector:<sel>];" with "[<obj> doesNotRecognizeSelector:<sel>]; return nil;"
-
- replacemethod "forward:" with same
- error "NSObjectConversion: 'forward:' has been replaced by forwardInvocation: which has different calling semantics. Convert by hand."
-
- replace "[<obj> perform:<sel> with:<arg> afterDelay:<ms> cancelPrevious:NO];" with "[<obj> performSelector:<sel> object:<arg> afterDelay:(<ms>) / 1000.0];"
-
- replace "[<obj> perform:<sel> with:<arg> afterDelay:<ms> cancelPrevious:YES];" with "[NSObject cancelPreviousPerformRequestsWithTarget:<obj> selector:<sel> object:<arg>], [<obj> performSelector:<sel> object:<arg> afterDelay:(<ms>) / 1000.0];"
-
- replace "[<obj> perform:<sel> with:<arg> afterDelay:<ms> cancelPrevious:<flag>];" with "if (<flag>) { [NSObject cancelPreviousPerformRequestsWithTarget:<obj> selector:<sel> object:<arg>]; } [<obj> performSelector:<sel> object:<arg> afterDelay:(<ms>) / 1000.0];"
-
- /*********** NSObjectConversion: notImplemented, subclassResponsibility ***********/
-
- replace "[<obj> notImplemented:<sel>];" with "[NSException raise:NSInvalidArgumentException format:@\"*** Method not implemented: %s\", sel_getName(_cmd)];"
-
- replace "[<obj> subclassResponsibility:<sel>];" with "[NSException raise:NSInvalidArgumentException format:@\"*** Subclass responsibility: %s\", sel_getName(_cmd)];"
-
- replace "return [NSException raise:<b args>];" with "[NSException raise:<b args>]; return nil;"
-
- /*********** NSObjectConversion: free => release/dealloc ***********/
-
- replace "[<obj> free]" with "[<obj> release]"
-
- replacemethod "free" with "dealloc" {
- replace "<rettype>" with "(void)"
- }
- within ("<implementation>") {
- replace "[super release]" with "[super dealloc]"
- }
-
- replace "return [super dealloc]" with "{ [super dealloc]; return; }"
-
- /*********** NSObjectConversion: name how can we handle this ***********/
-
- /*replace "[<obj> name>]" with "[[<obj> class] description]"*/
-