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. |