*** empty log message ***
authorcg
Wed, 26 Mar 1997 17:25:36 +0000
changeset 167 77dcbc4b2201
parent 166 3bb2f7fbd489
child 168 90e39cb3fa04
*** empty log message ***
Java.st
JavaClassReader.st
JavaMethodref.st
JavaUnresolvedStringConstant.st
--- 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 $'
 ! !