--- a/Tools__ClassChecker.st Sun Jul 16 11:50:52 2017 +0200
+++ b/Tools__ClassChecker.st Sun Jul 16 11:52:36 2017 +0200
@@ -525,28 +525,25 @@
checkedClass allSuperclasses do:[:eachSuperClass |
eachSuperClass methodDictionary keysAndValuesDo:[:mSelector :method |
- (method referencesLiteral:#subclassResponsibility) ifTrue:[
- "/ parse it to see if it really does ...
- (method sendsSelector:#subclassResponsibility) ifTrue:[
- "/ ok, got one;
- "/ now, see if it is defined below this superClass
- classesInBetween := checkedClass withAllSuperclasses copy.
- classesInBetween removeAll:(eachSuperClass withAllSuperclasses).
- (self anyImplementationOf:mSelector in:classesInBetween) ifFalse:[
- (self methodShouldBeIgnoredInSubclassResponsibilityNotDefined:method)
- ifFalse:[
- self
- rememberBadMethod:method
- key:#subclassResponsibilityNotDefined
- info:(checkedClass name allBold , ' should redefine the #' , mSelector allBold , ' method (#subclassResponsibilityNotDefined)').
- ].
+ (method isSubclassResponsibility) ifTrue:[
+ "/ ok, got one;
+ "/ now, see if it is defined below this superClass
+ classesInBetween := checkedClass withAllSuperclasses copy.
+ classesInBetween removeAll:(eachSuperClass withAllSuperclasses).
+ (self anyImplementationOf:mSelector in:classesInBetween) ifFalse:[
+ (self methodShouldBeIgnoredInSubclassResponsibilityNotDefined:method)
+ ifFalse:[
+ self
+ rememberBadMethod:method
+ key:#subclassResponsibilityNotDefined
+ info:(checkedClass name allBold , ' should redefine the #' , mSelector allBold , ' method (#subclassResponsibilityNotDefined)').
].
- ]
+ ].
]
]
].
- "Modified: / 05-02-2017 / 01:25:21 / cg"
+ "Modified: / 16-07-2017 / 11:33:24 / cg"
!
unusedClassVariables