--- a/src/JavaClassReader.st Wed Aug 31 22:30:01 2011 +0000
+++ b/src/JavaClassReader.st Thu Sep 01 08:54:37 2011 +0000
@@ -217,14 +217,21 @@
The classes string constants are resolved & <clinit> is called,
if it implements it."
- |rslt loader|
+ | loader|
+
+ (aClassName startsWith: $[) ifTrue:[self halt].
loader := ClassLoaderQuerySignal query.
loader isNil ifTrue:[
^ self loadSystemClass:aClassName
].
- ^ loader loadClass:aClassName
+ ^loader isJavaObject ifTrue:[
+ JavaVM classForJavaClassObject:
+ (loader perform: #'loadClass(Ljava/lang/String;)Ljava/lang/Class;' with: (Java as_String: aClassName))
+ ] ifFalse:[
+ loader loadClass:aClassName
+ ]
"
JavaClassReader loadClass:'awt/Component'
@@ -236,8 +243,9 @@
JavaClassReader loadClass:'java/lang/Thread'
"
- "Created: / 15.4.1996 / 14:58:53 / cg"
- "Modified: / 20.10.1998 / 17:24:54 / cg"
+ "Created: / 15-04-1996 / 14:58:53 / cg"
+ "Modified: / 20-10-1998 / 17:24:54 / cg"
+ "Modified: / 31-08-2011 / 21:29:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
loadClassLazy: internalJavaClassName
@@ -2699,10 +2707,13 @@
has no owner set and therefore access check will cause DNU.
Ask JV for details."
+ "
^Java classForName: something javaClassName.
+ "
+ ^self class loadClass: something javaClassName.
"Created: / 18-05-2011 / 14:55:32 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
- "Modified: / 22-05-2011 / 13:58:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 31-08-2011 / 21:25:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
updateOwnerInCPItem: each