--- a/Java.st Wed Mar 26 17:23:17 1997 +0000
+++ b/Java.st Wed Mar 26 17:25:36 1997 +0000
@@ -1,7 +1,7 @@
Object subclass:#Java
instanceVariableNames:''
classVariableNames:'Classes UnresolvedClassRefs ClassPath SourceDirectories
- JavaString'
+ Java_lang_String Java_lang_Class'
poolDictionaries:''
category:'Java-Support'
!
@@ -42,8 +42,24 @@
"Created: 7.2.1997 / 19:23:45 / cg"
!
-javaString
- ^ JavaString
+java_lang_Class
+ Java_lang_Class isNil ifTrue:[
+ Java_lang_Class := self at:'java.lang.Class'
+ ].
+ ^ Java_lang_Class
+
+ "Created: 26.3.1997 / 13:42:59 / cg"
+ "Modified: 26.3.1997 / 13:46:24 / cg"
+!
+
+java_lang_String
+ Java_lang_String isNil ifTrue:[
+ Java_lang_String := self at:'java.lang.String'
+ ].
+ ^ Java_lang_String
+
+ "Created: 26.3.1997 / 13:43:17 / cg"
+ "Modified: 26.3.1997 / 13:50:21 / cg"
!
sourceDirectories
@@ -202,11 +218,12 @@
nameSymbol := aJavaName asSymbol.
(Classes includesKey:nameSymbol) ifTrue:[
('JAVA: class ' , aJavaName , ' is already loaded') infoPrintCR.
+ self updateClassRefsFrom:(Classes at:nameSymbol) to:aJavaClass
].
Classes at:nameSymbol put:aJavaClass.
nameSymbol == #'java/lang/String' ifTrue:[
- JavaString := aJavaClass
+ Java_lang_String := aJavaClass
].
"/ UnresolvedClassRefs notNil ifTrue:[
@@ -217,11 +234,12 @@
self changed:#classes
"Created: 17.4.1996 / 23:29:31 / cg"
- "Modified: 18.4.1996 / 00:45:39 / cg"
+ "Modified: 26.3.1997 / 13:48:15 / cg"
!
flushClasses
- Classes := UnresolvedClassRefs := JavaString := nil.
+ Classes := UnresolvedClassRefs := nil.
+ Java_lang_String := Java_lang_Class := nil.
JavaInterpreter releaseAllJavaResources.
JavaUnresolvedConstant flushPatchLists.
@@ -229,7 +247,7 @@
Java flushClasses
"
- "Modified: 18.4.1996 / 00:20:23 / cg"
+ "Modified: 26.3.1997 / 13:46:07 / cg"
!
markAllClassesUninitialized
@@ -292,6 +310,15 @@
unresolvedClassRefFor:aClassName
UnresolvedClassRefs isNil ifTrue:[^ nil].
^ UnresolvedClassRefs at:aClassName ifAbsent:nil.
+!
+
+updateClassRefsFrom:oldClass to:newClass
+ "update all references to oldClass to now refer to newClass.
+ sent, when a class is reloaded"
+
+ self halt.
+
+ "Created: 26.3.1997 / 13:49:20 / cg"
! !
!Java class methodsFor:'source management'!
@@ -400,6 +427,6 @@
!Java class methodsFor:'documentation'!
version
- ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.25 1997/03/22 14:24:49 cg Exp $'
+ ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.26 1997/03/26 17:25:36 cg Exp $'
! !
Java initialize!
--- a/JavaClassReader.st Wed Mar 26 17:23:17 1997 +0000
+++ b/JavaClassReader.st Wed Mar 26 17:25:36 1997 +0000
@@ -219,7 +219,7 @@
|classes prevUnresolved newUnresolved|
"/ need at least java.lang.String, for valid constants
- Java javaString isNil ifTrue:[
+ Java java_lang_String isNil ifTrue:[
self loadClassLazy:'java.lang.String' ignoring:Set new.
].
@@ -261,6 +261,8 @@
]
].
]
+
+ "Modified: 26.3.1997 / 13:43:45 / cg"
!
readFile:aFilename ignoring:classesBeingLoaded
@@ -1280,6 +1282,6 @@
!JavaClassReader class methodsFor:'documentation'!
version
- ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClassReader.st,v 1.38 1997/02/07 20:37:08 cg Exp $'
+ ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClassReader.st,v 1.39 1997/03/26 17:25:18 cg Exp $'
! !
JavaClassReader initialize!
--- a/JavaMethodref.st Wed Mar 26 17:23:17 1997 +0000
+++ b/JavaMethodref.st Wed Mar 26 17:25:36 1997 +0000
@@ -141,7 +141,7 @@
cls := cls soleInstance.
].
(cls isKindOf:JavaClass) ifFalse:[
- self halt:'not a javaClass'.
+"/ self halt:'not a javaClass'.
^ nil
]
].
@@ -172,11 +172,11 @@
^ nil
- "Modified: 18.3.1997 / 19:57:01 / cg"
+ "Modified: 26.3.1997 / 13:32:39 / cg"
! !
!JavaMethodref class methodsFor:'documentation'!
version
- ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaMethodref.st,v 1.23 1997/03/24 13:20:16 cg Exp $'
+ ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaMethodref.st,v 1.24 1997/03/26 17:24:04 cg Exp $'
! !
--- a/JavaUnresolvedStringConstant.st Wed Mar 26 17:23:17 1997 +0000
+++ b/JavaUnresolvedStringConstant.st Wed Mar 26 17:25:36 1997 +0000
@@ -29,7 +29,7 @@
preResolve
|jString chars|
- Java javaString notNil ifTrue:[
+ Java java_lang_String notNil ifTrue:[
chars := (constantPool at:stringIndex).
chars isString ifFalse:[
self halt:'should not happen'
@@ -46,10 +46,12 @@
self rememberForResolveWith:'java/lang/String'.
^ self
+
+ "Modified: 26.3.1997 / 13:44:12 / cg"
! !
!JavaUnresolvedStringConstant class methodsFor:'documentation'!
version
- ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedStringConstant.st,v 1.4 1997/02/07 20:35:44 cg Exp $'
+ ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedStringConstant.st,v 1.5 1997/03/26 17:24:11 cg Exp $'
! !