2764 class names are matched using String>>matches:. |
2764 class names are matched using String>>matches:. |
2765 ALL CLASSES ARE INSTALLED!! |
2765 ALL CLASSES ARE INSTALLED!! |
2766 Returns a set of loaded classes." |
2766 Returns a set of loaded classes." |
2767 |
2767 |
2768 | dir dirString className loadedClasses | |
2768 | dir dirString className loadedClasses | |
2769 dir := directory asFilename asAbsoluteFilename. |
2769 |
|
2770 dir := directory asFilename. |
2770 loadedClasses := Set new. |
2771 loadedClasses := Set new. |
2771 Java addToClassPath: dir pathName. |
2772 Java addToClassPath: dir pathName. |
2772 JavaClassReader classLoaderQuerySignal answer: SystemClassLoader do:[ |
2773 JavaClassReader classLoaderQuerySignal answer: SystemClassLoader do:[ |
2773 dir isDirectory ifTrue:[ |
2774 dir isDirectory ifTrue:[ |
2774 dir recursiveDirectoryContentsAsFilenamesDo: [ |
2775 dir recursiveDirectoryContentsAsFilenamesDo:[:eachFilename| |
2775 :filename | |
2776 (eachFilename isRegularFile and: [ eachFilename suffix = #class ]) ifTrue: [ |
2776 (filename isRegularFile and: [ filename suffix = #class ]) ifTrue: [ |
|
2777 dirString := dir pathName. |
2777 dirString := dir pathName. |
2778 className := filename withoutSuffix pathName. |
2778 className := eachFilename withoutSuffix pathName. |
2779 className := className subString: dirString size + 2 to: className size. |
2779 className := className subString: dirString size + 2 to: className size. |
2780 className := className replaceAll: (Filename separator) with: $.. |
2780 className := className replaceAll: (Filename separator) with: $.. |
2781 (pattern isNil or:[className matches: pattern]) ifTrue: [ |
2781 (pattern isNil or:[className matches: pattern]) ifTrue: [ |
2782 (self classNamed: className) isNil ifTrue:[ |
2782 (self classNamed: className) isNil ifTrue:[ |
2783 loadedClasses add: (self classForName:className). |
2783 loadedClasses add: (self classForName:className). |
2806 ]. |
2806 ]. |
2807 ^ loadedClasses. |
2807 ^ loadedClasses. |
2808 |
2808 |
2809 "Modified: / 21-10-2011 / 12:52:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>" |
2809 "Modified: / 21-10-2011 / 12:52:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>" |
2810 "Modified: / 27-05-2014 / 12:20:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
2810 "Modified: / 27-05-2014 / 12:20:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
2811 "Modified: / 11-04-2019 / 18:19:50 / Stefan Vogel" |
2811 ! ! |
2812 ! ! |
2812 |
2813 |
2813 !JavaVM class methodsFor:'class loading/unloading'! |
2814 !JavaVM class methodsFor:'class loading/unloading'! |
2814 |
2815 |
2815 loadClassNamed: className usingClassLoader: classLoader |
2816 loadClassNamed: className usingClassLoader: classLoader |