JavaNativeMethodImpl_OpenJDK6.st
branchdevelopment
changeset 2588 58b1e0fd20e7
parent 2581 cc6745b4e183
child 2597 24475baf6abc
child 2640 6c1fe640b736
--- a/JavaNativeMethodImpl_OpenJDK6.st	Fri May 03 10:56:50 2013 +0100
+++ b/JavaNativeMethodImpl_OpenJDK6.st	Tue May 07 12:39:09 2013 +0100
@@ -904,7 +904,7 @@
         ] ifFalse:[
             retval := method valueWithReceiver: obj arguments: bargs.
         ].
-    ] on: (JavaVM classForName:'java.lang.Throwable') do:[:ex |
+    ] on: (JavaVM classForName:'java.lang.Throwable' definedBy:nil) do:[:ex |
         executionEx := ex.
     ].
     executionEx notNil ifTrue:[
@@ -3107,7 +3107,7 @@
     envArray := nativeContext argAt: 2.
     cmd := cmdAndArgArray at: 1.
     OperatingSystem isUNIXlike ifTrue: [
-        jProcessClass := JavaVM classForName:'java.lang.UNIXProcess'.
+        jProcessClass := JavaVM classForName:'java.lang.UNIXProcess' definedBy:nil.
     ] ifFalse: [ jProcessClass := Java classForName: 'java.lang.Win32Process'. ].
 
 "/
@@ -4174,7 +4174,7 @@
         ^ nil.
     ].
     clr := clr on: (Screen current).
-    jClr := (JavaVM classForName:'java.awt.Color') new.
+    jClr := (JavaVM classForName:'java.awt.Color' definedBy:nil) new.
     jClr instVarNamed: 'pData' put: clr.
     jClr instVarNamed: 'value' put: (clr rgbValue).
 
@@ -4307,7 +4307,7 @@
     view := self viewForWPeer: nativeContext.
     view isNil ifTrue: [ ^ nil ].
     p := view originRelativeTo: nil.
-    jP := (JavaVM classForName:'java.awt.Point') basicNew.
+    jP := (JavaVM classForName:'java.awt.Point' definedBy:nil) basicNew.
     jP instVarNamed: 'x' put: p x.
     jP instVarNamed: 'y' put: p y.
     ^ jP
@@ -5454,7 +5454,7 @@
 
 "/    gc isNil ifTrue:[^ nil].
 
-    rect := (JavaVM classForName:'java.awt.Rectangle') basicNew.
+    rect := (JavaVM classForName:'java.awt.Rectangle' definedBy:nil) basicNew.
     (gc isMemberOf: JavaView) ifTrue: [
         "/ r := gc clippingRectangleOrNil.
         r := gc getNextUpdateRectangle.
@@ -8273,7 +8273,7 @@
 _java_io_FileSystem_getFileSystem: this
     <javanative: 'java/io/FileSystem' name: 'getFileSystem()Ljava/io/FileSystem;'>
     OperatingSystem isUNIXlike ifTrue: [
-        ^ (JavaVM classForName:'java.io.UnixFileSystem') new
+        ^ (JavaVM classForName:'java.io.UnixFileSystem' definedBy:nil) new
     ].
     OperatingSystem isMSWINDOWSlike ifTrue: [
         ^ (Java classForName: 'java.io.WinNTFileSystem') new
@@ -8737,7 +8737,7 @@
     retval := 0.
     file := a1.
     path := Java as_ST_String: (a1 perform: #'getAbsolutePath()Ljava/lang/String;').
-    fileSystemClass := JavaVM classForName:'java.io.FileSystem'.
+    fileSystemClass := JavaVM classForName:'java.io.FileSystem' definedBy:nil.
     path asFilename exists ifTrue: [
         retval := retval bitOr: (fileSystemClass instVarNamed: #'BA_EXISTS')
     ] ifFalse: [ ^ 0. ].
@@ -9307,13 +9307,13 @@
     <javanative: 'java/lang/ClassLoader' name: 'retrieveDirectives()Ljava/lang/AssertionStatusDirectives;'>
 
     | directives |
-    directives := (JavaVM classForName:'java.lang.AssertionStatusDirectives') new.
+    directives := (JavaVM classForName:'java.lang.AssertionStatusDirectives' definedBy:nil) new.
     directives instVarNamed:#classes
-        put: ((JavaVM classForName:'java.lang.String') javaArrayClass new:0).
+        put: ((JavaVM classForName:'java.lang.String' definedBy:nil) javaArrayClass new:0).
     directives instVarNamed:#classEnabled
         put: (Boolean javaArrayClass new:0).
     directives instVarNamed:#packages
-        put: ((JavaVM classForName:'java.lang.String') javaArrayClass new:0).
+        put: ((JavaVM classForName:'java.lang.String' definedBy:nil) javaArrayClass new:0).
     directives instVarNamed:#packageEnabled
         put: (Boolean javaArrayClass new:0).
     directives instVarNamed:#deflt
@@ -9347,21 +9347,24 @@
     ].
     initialize := a2.
     loader := a3.
+
+    (nm first == $[) ifTrue:[
     JavaClassReader classLoaderQuerySignal answer:loader do:[
-        (nm first == $[) ifTrue:[
-            |nms|
-
-            nms := nm readStream.
-            descriptor := JavaDescriptor readFrom:nms
-                        onError:[^ JavaVM throwClassNotFoundException:nm].
-            nms atEnd ifFalse:[
-                ^ JavaVM throwClassNotFoundException:nm
-            ].
-            class := descriptor javaClass.
-        ] ifFalse:[
-            class := JavaVM classForName:nm
-        ]
-    ].
+        |nms|
+
+        nms := nm readStream.
+        descriptor := JavaDescriptor readFrom:nms
+                    onError:[^ JavaVM throwClassNotFoundException:nm].
+        nms atEnd ifFalse:[
+            ^ JavaVM throwClassNotFoundException:nm
+        ].
+        class := descriptor javaClass.
+    ].
+    ] ifFalse:[
+        class := JavaVM classForName:nm definedBy: loader.
+    ].
+
+
     class isNil ifTrue:[
         ^ JavaVM throwClassNotFoundException:nm
     ].
@@ -9373,9 +9376,8 @@
     ^ JavaVM javaClassObjectForClass:class.
 
     "Created: / 24-11-2010 / 09:03:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 30-10-2011 / 23:30:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 02-11-2011 / 19:12:43 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
-    "Modified (format): / 03-12-2011 / 10:49:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 07-05-2013 / 12:18:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 _java_lang_Class_getClassLoader0: this
@@ -9467,7 +9469,7 @@
     class := Reflection
                 classForJavaClassObject:(this).
     (class isJavaPrimitiveType or:[class isJavaArrayClass]) ifTrue:[
-        ^(JavaVM classForName:'java.lang.reflect.Field') javaArrayClass new:0.
+        ^(JavaVM classForName:'java.lang.reflect.Field' definedBy:nil) javaArrayClass new:0.
     ].
 
     publicOnly := a1 == 1.
@@ -9515,7 +9517,7 @@
     (cls isJavaPrimitiveType or: [ cls isJavaArrayClass ]) ifTrue: [ ^ nil ].
     (cls name includes: $$) ifFalse: [ ^ nil ].
     enclosingClsName := cls name copyTo: (cls name lastIndexOf: $$) - 1.
-    enclosingCls := JavaVM classForName:enclosingClsName.
+    enclosingCls := JavaVM classForName:enclosingClsName definedBy:nil.
     enclosingCls isNil ifTrue: [ self error: 'Cannot fins declaring class' ].
     ^ Reflection javaClassObjectForClass: enclosingCls
 
@@ -9555,7 +9557,7 @@
     jClass := this.
     cls := Reflection classForJavaClassObject:jClass.
     interfaces := cls javaMirror getInterfaces.
-    jInterfaces := (JavaVM classForName:'java.lang.Class') javaArrayClass new:interfaces size.
+    jInterfaces := (JavaVM classForName:'java.lang.Class' definedBy:nil) javaArrayClass new:interfaces size.
     interfaces
         withIndexDo:[:iface :idx | jInterfaces at:idx put:(Reflection javaClassObjectForClass:iface) ].
     ^ jInterfaces
@@ -10397,7 +10399,7 @@
         ctx := ctx sender.
     ].
 
-    jclasses := (JavaVM classForName:'java.lang.Class') javaArrayClass new: classes size.
+    jclasses := (JavaVM classForName:'java.lang.Class' definedBy:nil) javaArrayClass new: classes size.
     1 to: classes size do:[:i|
         jclasses at: i put: (Reflection javaClassObjectForClass: (classes at: i)).
     ].
@@ -11323,7 +11325,7 @@
     index :=  a1.
     ctx := (throwable instVarNamed:#backtrace) at: index + 1.
 
-    stackTraceElement := (JavaVM classForName:'java.lang.StackTraceElement') new.
+    stackTraceElement := (JavaVM classForName:'java.lang.StackTraceElement' definedBy:nil) new.
 
     stackTraceElement
         instVarNamed: #declaringClass
@@ -11838,14 +11840,14 @@
     "Bad, here we have an access to just one inet address,
      that's fine for now, however"
 
-    inet4Address := (JavaVM classForName:'java.net.Inet4Address') newCleared.
+    inet4Address := (JavaVM classForName:'java.net.Inet4Address' definedBy:nil) newCleared.
     inet4Address
         instVarNamed: #family put: 1; "/IPv4
         instVarNamed: #address put: (sockaddr address doubleWordAt: 1 MSB: true);
         instVarNamed: #hostName put: a1;
         instVarNamed: #canonicalHostName put: a1.
 
-    ^(JavaVM classForName:'java.net.InetAddress') javaArrayClass with: inet4Address.
+    ^(JavaVM classForName:'java.net.InetAddress' definedBy:nil) javaArrayClass with: inet4Address.
 
     "Modified: / 08-11-2011 / 10:10:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -13062,7 +13064,7 @@
         ].
         con := con sender.
     ].
-    ^(JavaVM classForName:'java.lang.Class') javaArrayClass withAll: chain
+    ^(JavaVM classForName:'java.lang.Class' definedBy:nil) javaArrayClass withAll: chain
 
     "Created: / 05-01-1998 / 02:47:00 / cg"
     "Modified: / 24-12-1998 / 00:34:57 / cg"
@@ -17475,7 +17477,8 @@
     "HACK, we'll see"
 
     | beanCls |
-    beanCls := JavaVM classForName:'java.lang.management.MemoryManagerMXBean'.
+    beanCls := JavaVM classForName:'java.lang.management.MemoryManagerMXBean'
+    definedBy:nil.
     ^beanCls javaArrayClass new:0.
 
     "Modified: / 04-12-2011 / 19:57:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -17488,7 +17491,7 @@
     "HACK, we'll see"
 
     | beanCls |
-    beanCls := JavaVM classForName:'java.lang.management.MemoryPoolMXBean'.
+    beanCls := JavaVM classForName:'java.lang.management.MemoryPoolMXBean' definedBy:nil.
     ^beanCls javaArrayClass new:0.
 
     "Modified: / 04-12-2011 / 19:58:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"