--- a/JavaVM.st Fri Jan 23 16:50:52 1998 +0000
+++ b/JavaVM.st Fri Jan 23 16:51:35 1998 +0000
@@ -917,6 +917,14 @@
!JavaVM class methodsFor:'helpers'!
+classForJavaClassObject:aJavaClassObject
+ "given java.lang.class instance, return the real class for it."
+
+ ^ JavaClasses at:aJavaClassObject ifAbsent:nil.
+
+ "Created: / 23.1.1998 / 17:44:09 / cg"
+!
+
enteredMonitors
|p monitors|
@@ -931,6 +939,26 @@
"Created: / 2.1.1998 / 21:26:19 / cg"
!
+javaClassObjectForClass:aClass
+ "given a real class, return the corresponding java.lang.class
+ instance for it."
+
+ |jClass|
+
+ jClass := JavaClasses at:aClass ifAbsent:nil.
+ jClass isNil ifTrue:[
+ "/ class must be initialized (with all of its superclasses ?).
+ aClass classInit.
+
+ JavaClasses at:aClass put:(jClass := (Java at:'java.lang.Class') new).
+ JavaClasses at:jClass put:aClass.
+ ].
+ ^ jClass
+
+ "Created: / 23.1.1998 / 17:43:38 / cg"
+ "Modified: / 23.1.1998 / 17:46:51 / cg"
+!
+
javaThreadForSTProcess:stProcess
|t|
@@ -3562,19 +3590,11 @@
('Java: defined new class: ' , newClass fullName) infoPrintCR.
- jClass := JavaClasses at:newClass ifAbsent:nil.
- jClass isNil ifTrue:[
- "/ class must be initialized (with all of its superclasses ?).
- newClass classInit.
-
- JavaClasses at:newClass put:(jClass := (Java at:'java.lang.Class') new).
- JavaClasses at:jClass put:newClass.
- ].
-
+ jClass := self javaClassObjectForClass:newClass.
^ jClass
"Created: / 7.1.1998 / 12:35:10 / cg"
- "Modified: / 15.1.1998 / 00:57:08 / cg"
+ "Modified: / 23.1.1998 / 17:47:14 / cg"
!
_ClassLoader_findSystemClass0:nativeContext
@@ -3607,18 +3627,11 @@
].
'JAVA: findSystemClass0 - loaded: ' infoPrint. class fullName infoPrintCR.
- jClass := JavaClasses at:class ifAbsent:nil.
- jClass isNil ifTrue:[
- "/ class must be initialized (with all of its superclasses ?).
- class classInit.
-
- JavaClasses at:class put:(jClass := (Java at:'java.lang.Class') new).
- JavaClasses at:jClass put:class.
- ].
+ jClass := self javaClassObjectForClass:class.
^ jClass
"Created: / 5.1.1998 / 02:53:04 / cg"
- "Modified: / 15.1.1998 / 00:57:14 / cg"
+ "Modified: / 23.1.1998 / 17:47:30 / cg"
!
_ClassLoader_getSystemResourceAsStream0:nativeContext
@@ -3729,17 +3742,10 @@
cls classInit.
- jClass := JavaClasses at:cls ifAbsent:nil.
- jClass isNil ifTrue:[
- "/ class must be initialized (with all of its superclasses ?).
-
- JavaClasses at:cls put:(jClass := (Java at:'java.lang.Class') new).
- JavaClasses at:jClass put:cls.
- ].
-
+ jClass := self javaClassObjectForClass:cls.
^ jClass
- "Modified: / 15.1.1998 / 00:57:22 / cg"
+ "Modified: / 23.1.1998 / 17:48:00 / cg"
!
_Class_getClassLoader:nativeContext
@@ -4115,18 +4121,11 @@
o := nativeContext receiver.
cls := o class.
- jClass := JavaClasses at:cls ifAbsent:nil.
- jClass isNil ifTrue:[
- "/ class must be initialized (with all of its superclasses ?).
- cls classInit.
-
- JavaClasses at:cls put:(jClass := (Java at:'java.lang.Class') new).
- JavaClasses at:jClass put:cls.
- ].
+ jClass := self javaClassObjectForClass:cls.
^ jClass
"Created: / 6.1.1998 / 18:28:27 / cg"
- "Modified: / 15.1.1998 / 00:57:39 / cg"
+ "Modified: / 23.1.1998 / 17:48:22 / cg"
!
_Object_hashCode:nativeContext
@@ -6011,6 +6010,6 @@
!JavaVM class methodsFor:'documentation'!
version
- ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaVM.st,v 1.5 1998/01/17 20:56:15 cg Exp $'
+ ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaVM.st,v 1.6 1998/01/23 16:51:35 cg Exp $'
! !
JavaVM initialize!