src/JavaClassReader.st
branchjk_new_structure
changeset 1059 22fe06c9e367
parent 1058 1db06119bf3e
child 1060 c3ac98001802
--- 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