#REFACTORING by cg
class: Smalltalk class
added: #allMethodsForWhich:do:
changed: #allMethodsForWhich:
--- a/Smalltalk.st Fri Jul 14 00:07:00 2017 +0200
+++ b/Smalltalk.st Fri Jul 14 10:54:05 2017 +0200
@@ -2280,14 +2280,36 @@
|coll|
coll := OrderedCollection new.
+ self allMethodsForWhich:aBlock do:[:mthd | coll add:mthd].
+ ^ coll
+
+ "
+ Smalltalk allMethodsForWhich:[:m | m isObsolete].
+
+ Smalltalk allMethodsForWhich:#isObsolete.
+ "
+
+ "Modified (comment): / 14-07-2017 / 10:52:54 / cg"
+!
+
+allMethodsForWhich:aCheckBlock do:actionBlock
+ "enumerate methods for which aCheckBlock returns true"
+
Smalltalk allClassesDo:[:eachClass |
- eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
- (aBlock value:mthd) ifTrue:[
- coll add:mthd
- ].
- ]
- ].
- ^ coll
+ eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+ (aCheckBlock value:mthd) ifTrue:[
+ actionBlock value:mthd
+ ].
+ ]
+ ].
+
+ "
+ Smalltalk allMethodsForWhich:[:m | m isObsolete] do:[:m | Transcript showCR:m].
+
+ Smalltalk allMethodsForWhich:#isObsolete do:[:m | Transcript showCR:m].
+ "
+
+ "Created: / 14-07-2017 / 10:51:53 / cg"
!
allMethodsWithSelectorDo:aTwoArgBlock