--- 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>"