Tools_SearchDialog.st
changeset 7378 4c1785cf6bb6
parent 7374 0efb6827e9de
child 7384 8af5e37f3dea
equal deleted inserted replaced
7377:94c55739eec8 7378:4c1785cf6bb6
   836 !
   836 !
   837 
   837 
   838 getClassesAndMethodsFor:where 
   838 getClassesAndMethodsFor:where 
   839     where == #everywhere ifTrue:[ 
   839     where == #everywhere ifTrue:[ 
   840         classes := Smalltalk allClasses.
   840         classes := Smalltalk allClasses.
       
   841         methods := nil.
   841         ^ self.
   842         ^ self.
   842     ].
   843     ].
   843     where == #currentNameSpace ifTrue:[ 
   844     where == #currentNameSpace ifTrue:[ 
   844         classes := currentNamespace allClassesWithAllPrivateClasses.
   845         classes := currentNamespace allClassesWithAllPrivateClasses.
       
   846         methods := nil.
   845         ^ self.
   847         ^ self.
   846     ].
   848     ].
   847     where == #currentClassesNameSpace ifTrue:[ 
   849     where == #currentClassesNameSpace ifTrue:[ 
   848         currentClass isPrivate ifTrue:[ 
   850         currentClass isPrivate ifTrue:[ 
   849             classes := currentClass topOwningClass nameSpace 
   851             classes := currentClass topOwningClass nameSpace 
   850                         allClassesWithAllPrivateClasses.
   852                         allClassesWithAllPrivateClasses.
   851         ] ifFalse:[ 
   853         ] ifFalse:[ 
   852             classes := currentClass nameSpace allClassesWithAllPrivateClasses.
   854             classes := currentClass nameSpace allClassesWithAllPrivateClasses.
   853         ].
   855         ].
       
   856         methods := nil.
   854         ^ self.
   857         ^ self.
   855     ].
   858     ].
   856     where == #currentPackage ifTrue:[ 
   859     where == #currentPackage ifTrue:[ 
   857         classes := Smalltalk allClassesInPackage:currentPackage. 
   860         classes := Smalltalk allClassesInPackage:currentPackage. 
       
   861         methods := nil.
   858         ^ self.
   862         ^ self.
   859     ].
   863     ].
   860     where == #currentClassesPackage ifTrue:[ 
   864     where == #currentClassesPackage ifTrue:[ 
   861         classes := Smalltalk allClassesInPackage:currentClass package. 
   865         classes := Smalltalk allClassesInPackage:currentClass package. 
       
   866         methods := nil.
   862         ^ self.
   867         ^ self.
   863     ].
   868     ].
   864     where == #classCategories ifTrue:[ 
   869     where == #classCategories ifTrue:[ 
   865         classes := Smalltalk allClasses 
   870         classes := Smalltalk allClasses 
   866                     select:[ :cls | selectedCategories includes:cls category. ].
   871                     select:[ :cls | selectedCategories includes:cls category. ].
   867         classes := classes collect:[ :each | each theNonMetaclass. ].
   872         classes := classes collect:[ :each | each theNonMetaclass. ].
       
   873         methods := nil.
   868         ^ self.
   874         ^ self.
   869     ].
   875     ].
   870     (where == #classes or:[ where == #classesWithPrivateClasses. ]) ifTrue:[ 
   876     (where == #classes or:[ where == #classesWithPrivateClasses. ]) ifTrue:[ 
   871         classes := selectedClasses collect:[ :each | each theNonMetaclass. ].
   877         classes := selectedClasses collect:[ :each | each theNonMetaclass. ].
   872         ^ self.
   878         methods := nil.
   873     ].
   879         ^ self.
   874     (where == #classHierarchies 
   880     ].
   875         or:[ where == #classHierarchiesWithPrivateClasses. ]) 
   881     (where == #classHierarchies or:[ where == #classHierarchiesWithPrivateClasses. ]) 
   876             ifTrue:[ 
   882     ifTrue:[ 
   877                 classes := IdentitySet new.
   883         classes := IdentitySet new.
   878                 selectedClasses do:[ :cls | 
   884         selectedClasses do:[ :cls | 
   879                     classes addAll:cls theNonMetaclass withAllSubclasses.
   885             classes addAll:cls theNonMetaclass withAllSubclasses.
   880                 ].
   886         ].
   881                 ^ self.
   887         methods := nil.
   882             ].
   888         ^ self.
       
   889     ].
   883     where == #ownersWithPrivateClasses ifTrue:[ 
   890     where == #ownersWithPrivateClasses ifTrue:[ 
   884         classes := IdentitySet new.
   891         classes := IdentitySet new.
   885         selectedClasses do:[ :cls | 
   892         selectedClasses do:[ :cls | 
   886             |c|
   893             |c|
   887 
   894 
   888             c := cls theNonMetaclass.
   895             c := cls theNonMetaclass.
   889             classes add:(c owningClass ? c).
   896             classes add:(c owningClass ? c).
   890         ].
   897         ].
       
   898         methods := nil.
   891         ^ self.
   899         ^ self.
   892     ].
   900     ].
   893     where == #ownersHierarchiesWithPrivateClasses ifTrue:[ 
   901     where == #ownersHierarchiesWithPrivateClasses ifTrue:[ 
   894         classes := IdentitySet new.
   902         classes := IdentitySet new.
   895         selectedClasses do:[ :cls | 
   903         selectedClasses do:[ :cls | 
   896             |c|
   904             |c|
   897 
   905 
   898             c := cls theNonMetaclass.
   906             c := cls theNonMetaclass.
   899             classes addAll:(c owningClass ? c) withAllSubclasses.
   907             classes addAll:(c owningClass ? c) withAllSubclasses.
   900         ].
   908         ].
       
   909         methods := nil.
   901         ^ self.
   910         ^ self.
   902     ].
   911     ].
   903     (where == #classesAndSuperclasses) ifTrue:[ 
   912     (where == #classesAndSuperclasses) ifTrue:[ 
   904         classes := IdentitySet new.
   913         classes := IdentitySet new.
   905         selectedClasses do:[ :cls | 
   914         selectedClasses do:[ :cls | 
   906             classes addAll:cls theNonMetaclass withAllSuperclasses.
   915             classes addAll:cls theNonMetaclass withAllSuperclasses.
   907         ].
   916         ].
       
   917         methods := nil.
   908         ^ self.
   918         ^ self.
   909     ].
   919     ].
   910     (where == #listOfMethods) ifTrue:[ 
   920     (where == #listOfMethods) ifTrue:[ 
   911         classes := nil.
   921         classes := nil.
   912         methods := browser methodListApp methodList value.
   922         methods := browser methodListApp methodList value.
   916         classes := nil.
   926         classes := nil.
   917         methods := browser selectedMethods value.
   927         methods := browser selectedMethods value.
   918         ^ self.
   928         ^ self.
   919     ].
   929     ].
   920 "/    self halt.
   930 "/    self halt.
       
   931 
       
   932     "Modified: / 09-10-2006 / 12:34:40 / cg"
   921 !
   933 !
   922 
   934 
   923 isMethodHolder
   935 isMethodHolder
   924     isMethodHolder isNil ifTrue:[isMethodHolder := (LastCodeSearchWasMethod ? false) asValue].
   936     isMethodHolder isNil ifTrue:[isMethodHolder := (LastCodeSearchWasMethod ? false) asValue].
   925     ^ isMethodHolder
   937     ^ isMethodHolder
  1005 ! !
  1017 ! !
  1006 
  1018 
  1007 !SearchDialog class methodsFor:'documentation'!
  1019 !SearchDialog class methodsFor:'documentation'!
  1008 
  1020 
  1009 version
  1021 version
  1010     ^ '$Header: /cvs/stx/stx/libtool/Tools_SearchDialog.st,v 1.19 2006-10-09 09:11:05 cg Exp $'
  1022     ^ '$Header: /cvs/stx/stx/libtool/Tools_SearchDialog.st,v 1.20 2006-10-09 10:48:45 cg Exp $'
  1011 ! !
  1023 ! !