MethodFinderWindow.st
changeset 3315 17b0d3a76b7c
parent 3301 1663b107709f
child 3322 7fa5dfa1832f
equal deleted inserted replaced
3314:a2f087b57f90 3315:17b0d3a76b7c
  1442         rs := ReadStream on:aStringToBeCleaned.
  1442         rs := ReadStream on:aStringToBeCleaned.
  1443     ].
  1443     ].
  1444     ^ aStringToBeCleaned
  1444     ^ aStringToBeCleaned
  1445 !
  1445 !
  1446 
  1446 
  1447 markMatchingClasses:aSelector classesWithSelector:anOrderedCollection 
  1447 markMatchingClasses:aSelector classesWithSelector:anOrderedCollection
  1448     " Matches the class of the receiver with all the elements in anOrderedCollection
  1448     " Matches the class of the receiver with all the elements in anOrderedCollection
  1449      (which are classes with selectors). If a match is found it is marked with an asterisk.
  1449      (which are classes with selectors). If a match is found it is marked with an asterisk.
  1450      The classes are then sorted so the the asterisk appears first. Return the
  1450      The classes are then sorted so the asterisk appears first. Return the
  1451      markedClassList."
  1451      markedClassList."
  1452     
  1452     
  1453     |marker recClass unmarkedClassList markedClassList|
  1453     |marker recClass unmarkedClassList markedClassList|
  1454 
  1454 
  1455     marker := self class markerForImplementingClass.
  1455     marker := self class markerForImplementingClass.
  1456     recClass := receiver value class.
  1456     recClass := receiver value class.
  1457     unmarkedClassList := anOrderedCollection copy.
  1457     unmarkedClassList := anOrderedCollection copy.
  1458     unmarkedClassList do:[:classAndMethod | 
  1458     unmarkedClassList do:[:classAndMethod |
  1459         |className class sel|
  1459         |className class sel|
  1460 
  1460 
  1461         className := classAndMethod copyButLast:aSelector size.
  1461         className := classAndMethod copyButLast:aSelector size.
  1462         class := Smalltalk classNamed:className. "/ Compiler evaluate:className.
  1462         class := Smalltalk classNamed:className. "/ Compiler evaluate:className.
  1463         
  1463 
  1464         "/ (recClass == class)
  1464         "/ (recClass == class)
  1465         
  1465 
  1466         (recClass whichClassImplements:aSelector) == class ifTrue:[
  1466         (recClass whichClassImplements:aSelector) == class ifTrue:[
  1467             "/ unmarkedClassList add: marker, classAndMethod.
  1467             "/ unmarkedClassList add: marker, classAndMethod.
  1468             unmarkedClassList add:classAndMethod allBold.
  1468             unmarkedClassList add:classAndMethod allBold.
  1469             unmarkedClassList remove:classAndMethod.
  1469             unmarkedClassList remove:classAndMethod.
  1470         ].
  1470         ].
  1471     ].
  1471     ].
  1472     unmarkedClassList 
  1472     unmarkedClassList
  1473         sort:[:a :b | 
  1473         sort:[:a :b |
  1474             |rawA rawB|
  1474             |rawA rawB|
  1475 
  1475 
  1476             rawA := a string withoutPrefix:marker.
  1476             rawA := a string withoutPrefix:marker.
  1477             rawB := b string withoutPrefix:marker.
  1477             rawB := b string withoutPrefix:marker.
  1478             rawA < rawB.
  1478             rawA < rawB.