--- a/src/JavaClassReader.st Fri Oct 28 20:15:40 2011 +0000
+++ b/src/JavaClassReader.st Sun Oct 30 13:04:54 2011 +0000
@@ -223,6 +223,18 @@
"Modified: / 08-09-2011 / 08:10:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+readClass: aClassName classPath: classPath
+ "reads a class, and returns it.
+ <clinit> is called, class is not installed"
+
+ ^ self readClass: aClassName ignoring: Set new classPath: classPath
+
+ "Created: / 15-04-1996 / 14:58:53 / cg"
+ "Modified: / 20-10-1998 / 17:24:54 / cg"
+ "Modified: / 08-09-2011 / 08:10:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 30-10-2011 / 12:27:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
readClass: className ignoring: classesBeingLoadedOrNil
"This method is bit hacky, as it tries to supply 'correct'
@@ -238,7 +250,7 @@
Groovy is running afterwards!!!!!!
"
- | class java_lang_ClassLoader scl |
+ | class |
class := self
readClass: className ignoring: classesBeingLoadedOrNil
classPath: Java release classPath.
@@ -248,18 +260,11 @@
JavaVM booted ifFalse:[
self breakPoint:#jv info: 'Should not happen!!'.
].
- java_lang_ClassLoader := JavaVM classForName: 'java.lang.ClassLoader'.
- (scl := java_lang_ClassLoader instVarNamed:#scl) isNil ifTrue:[
- scl := java_lang_ClassLoader perform: #'getSystemClassLoader()Ljava/lang/ClassLoader;'
- ].
- JavaClassReader classLoaderQuerySignal answer: scl do:[
+ JavaClassReader classLoaderQuerySignal answer: JavaVM systemClassLoader do:[
class := self
readClass: className ignoring: classesBeingLoadedOrNil
classPath: Java classPath.
].
- class notNil ifTrue:[
- self assert: class classLoader == scl.
- ].
].
^class
@@ -267,7 +272,7 @@
"Created: / 15-04-1996 / 14:58:53 / cg"
"Modified: / 20-10-1998 / 17:24:54 / cg"
"Modified: / 21-10-2011 / 13:39:14 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
- "Modified: / 28-10-2011 / 21:56:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-10-2011 / 13:14:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
readClass: className ignoring: classesBeingLoadedOrNil classPath: classPath
@@ -659,7 +664,7 @@
"Modified: / 15-10-2010 / 17:37:38 / Jan Kurs <kurs.jan@post.cz>"
"Modified: / 28-01-2011 / 15:09:48 / Marcel Hlopko <hlopik@gmail.com>"
"Modified: / 18-05-2011 / 15:30:29 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
- "Modified: / 28-10-2011 / 21:58:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-10-2011 / 13:26:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
readStream:aStream ignoring:classesBeingLoaded