src/JavaVM.st
branchjk_new_structure
changeset 1041 d5ff8885b19f
parent 1037 3dc5755c5fe4
child 1042 a5c02f4401b8
--- a/src/JavaVM.st	Sun Oct 23 19:04:16 2011 +0000
+++ b/src/JavaVM.st	Sun Oct 23 22:22:40 2011 +0000
@@ -2296,10 +2296,13 @@
                 classForName: className asInternalJavaClassName
                 loader: classLoader 
                 ifAbsentPut: aBlock.
-    ^ self makeArrayOf: result asDescribedBy: className.
+    result notNil ifTrue:[
+        result := self makeArrayOf: result asDescribedBy: className.
+    ].
+    ^result.
 
     "Created: / 21-10-2011 / 12:13:08 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
-    "Modified: / 23-10-2011 / 11:54:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 23-10-2011 / 22:29:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 classNamed: className 
@@ -2761,18 +2764,19 @@
 !
 
 makeArrayOf: loadedJavaClass asDescribedBy: className 
-| arrayClass  dimensions |
-
-arrayClass := loadedJavaClass.
-dimensions := className occurrencesOf: $[.
-arrayClass isJavaArrayClass ifTrue: [
-"is already array (primitive arrays case, like ByteArray etc)"
-dimensions := dimensions - 1.
-].
-dimensions timesRepeat: [ arrayClass := arrayClass javaArrayClass. ].
-    ^ arrayClass.
+    | arrayClass  dimensions |
+
+    arrayClass := loadedJavaClass.
+    dimensions := className occurrencesOf: $[.
+        arrayClass isJavaArrayClass ifTrue: [
+        "is already array (primitive arrays case, like ByteArray etc)"
+        dimensions := dimensions - 1.
+    ].
+    dimensions timesRepeat: [ arrayClass := arrayClass javaArrayClass. ].
+        ^ arrayClass.
 
     "Created: / 21-10-2011 / 12:18:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+    "Modified (format): / 23-10-2011 / 22:30:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 newThread: name 
@@ -3216,12 +3220,14 @@
 !
 
 throwClassCastException
-self breakPoint: #mh.
+
+    self breakPoint: #mh.    
     ^ self throwExceptionClassName: 'java.lang.ClassCastException'
         withMessage: 'cast failed'
 
-    "Modified: / 7.1.1998 / 15:25:35 / cg"
-    "Created: / 8.1.1999 / 18:55:31 / cg"
+    "Modified: / 07-01-1998 / 15:25:35 / cg"
+    "Created: / 08-01-1999 / 18:55:31 / cg"
+    "Modified (format): / 23-10-2011 / 22:33:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 throwClassFormatError
@@ -6724,6 +6730,7 @@
 
     cls := JavaClassReader readStream: bs.
     cls classLoader: loader.
+    self classRegistry registerClass: cls.
 
     ^self reflection javaClassObjectForClass: cls.
 
@@ -15193,7 +15200,7 @@
 
     | jVM |
 
-    jVM := JavaVM classForName:'sun.misc.VM'.
+    jVM := JavaVM classNamed:'sun.misc.VM'.
     ^jVM notNil and:[(jVM instVarNamed: #booted) == 1].
 
     "