home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / OpenStepConversion / ConversionScripts / NSObjectConversion.tops < prev    next >
Text File  |  1994-12-20  |  3KB  |  70 lines

  1. /* 
  2. dependencies : NXZone/NSZone should occur in the same stage as NSNameConversion for zone 
  3. compatibility (or else move zone stuff into this file).
  4. */
  5.  
  6. /*********** NSObjectConversion: declaration changes ***********/
  7.  
  8. replace "\<objc/Object.h>" with "<Foundation/NSObject.h>"
  9.  
  10. replace "\<objc/NSObject.h>" with "<Foundation/NSObject.h>"
  11.  
  12. replace "Object" with "NSObject"
  13.  
  14. /*********** NSObjectConversion: simple renaming ***********/
  15.  
  16. replacemethod "<old>" with "<new>"
  17.     where ("<old>", "<new>") isOneOf {
  18.         ("isKindOf:", "isKindOfClass:"),
  19.     ("isMemberOf:", "isMemberOfClass:"),
  20.     ("conformsTo:", "conformsToProtocol:"),
  21.     ("respondsTo:", "respondsToSelector:"),
  22.     ("poseAs:", "poseAsClass:"),
  23.     ("instancesRespondTo:", "instancesRespondToSelector:"),
  24.     ("methodFor:", "methodForSelector:"),
  25.     ("instanceMethodFor:", "instanceMethodForSelector:"),
  26.     ("doesNotRecognize:", "doesNotRecognizeSelector:"),
  27.     ("perform:with:", "perform:withObject:"),
  28.     ("perform:with:with:", "perform:withObject:withObject:"),
  29.     ("perform:with:afterDelay:", "perform:withObject:afterDelay:"),
  30.     ("allocFromZone:", "allocWithZone:"),
  31.     ("copyFromZone:", "copyWithZone:"),
  32.     ("mutableCopyFromZone:", "mutableCopyWithZone:")
  33.     }
  34.  
  35. replace "return [<obj> doesNotRecognizeSelector:<sel>];" with "[<obj> doesNotRecognizeSelector:<sel>];  return nil;"
  36.  
  37. replacemethod "forward:" with same
  38.     error "NSObjectConversion:  'forward:' has been replaced by forwardInvocation: which has different calling semantics.  Convert by hand."
  39.  
  40. replace "[<obj> perform:<sel> with:<arg> afterDelay:<ms> cancelPrevious:NO];" with "[<obj> performSelector:<sel> object:<arg> afterDelay:(<ms>) / 1000.0];"
  41.  
  42. 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];"
  43.  
  44. 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];"
  45.  
  46. /*********** NSObjectConversion: notImplemented, subclassResponsibility ***********/
  47.  
  48. replace "[<obj> notImplemented:<sel>];" with "[NSException raise:NSInvalidArgumentException format:@\"*** Method not implemented: %s\", sel_getName(_cmd)];"
  49.  
  50. replace "[<obj> subclassResponsibility:<sel>];" with "[NSException raise:NSInvalidArgumentException format:@\"*** Subclass responsibility: %s\", sel_getName(_cmd)];"
  51.  
  52. replace "return [NSException raise:<b args>];" with "[NSException raise:<b args>]; return nil;"
  53.  
  54. /*********** NSObjectConversion: free => release/dealloc ***********/
  55.  
  56. replace "[<obj> free]" with "[<obj> release]"
  57.  
  58. replacemethod "free" with "dealloc" {
  59.     replace "<rettype>" with "(void)"
  60.     }
  61.     within ("<implementation>") {
  62.     replace "[super release]"  with "[super dealloc]"
  63.     }
  64.  
  65. replace "return [super dealloc]" with "{ [super dealloc]; return; }"
  66.         
  67. /*********** NSObjectConversion: name how can we handle this ***********/
  68.  
  69. /*replace "[<obj> name>]" with "[[<obj> class] description]"*/
  70.