*** empty log message ***
authorcg
Thu, 07 Aug 1997 13:19:56 +0000
changeset 203 67af98594672
parent 202 59b27ac31896
child 204 c2f7436ceaaa
*** empty log message ***
Java.st
JavaClass.st
JavaConstantPool.st
JavaInterfaceMethodref.st
JavaMethodref.st
JavaNameandType.st
JavaRef.st
SmalltalkAppletStub.st
--- a/Java.st	Wed Aug 06 00:52:47 1997 +0000
+++ b/Java.st	Thu Aug 07 13:19:56 1997 +0000
@@ -451,9 +451,12 @@
     "update all references to oldClass to now refer to newClass.
      sent, when a class is reloaded"
 
-    self halt.
+    self allClassesDo:[:aJavaClass |
+        aJavaClass updateClassRefsFrom:oldClass to:newClass
+    ].
 
     "Created: 26.3.1997 / 13:49:20 / cg"
+    "Modified: 7.8.1997 / 14:52:51 / cg"
 ! !
 
 !Java class methodsFor:'source management'!
@@ -569,6 +572,6 @@
 !Java class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.34 1997/08/05 22:56:29 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.35 1997/08/07 13:19:39 cg Exp $'
 ! !
 Java initialize!
--- a/JavaClass.st	Wed Aug 06 00:52:47 1997 +0000
+++ b/JavaClass.st	Thu Aug 07 13:19:56 1997 +0000
@@ -1273,9 +1273,26 @@
     "Created: 1.2.1997 / 21:57:53 / cg"
 ! !
 
+!JavaClass methodsFor:'special'!
+
+updateClassRefsFrom:oldClass to:newClass
+    constantPool updateClassRefsFrom:oldClass to:newClass.
+    interfaces notNil ifTrue:[
+        interfaces := interfaces collect:[:anInterface |
+                                            anInterface == oldClass ifTrue:[
+                                                newClass
+                                            ] ifFalse:[
+                                                oldClass
+                                            ]
+                                         ]
+    ]
+
+    "Modified: 7.8.1997 / 15:13:06 / cg"
+! !
+
 !JavaClass class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.57 1997/08/05 18:49:34 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.58 1997/08/07 13:19:56 cg Exp $'
 ! !
 JavaClass initialize!
--- a/JavaConstantPool.st	Wed Aug 06 00:52:47 1997 +0000
+++ b/JavaConstantPool.st	Thu Aug 07 13:19:56 1997 +0000
@@ -93,8 +93,34 @@
     "Created: 29.7.1997 / 17:39:24 / cg"
 ! !
 
+!JavaConstantPool methodsFor:'special'!
+
+updateClassRefsFrom:oldClass to:newClass
+    self keysAndValuesDo:[:index :constItem |
+        constItem == oldClass ifTrue:[
+            self at:index put:newClass
+        ] ifFalse:[
+            constItem isNumber ifFalse:[
+                constItem isString ifTrue:[
+                    "/ nothing done ...
+                ] ifFalse:[
+                    (constItem isMemberOf:(Java java_lang_String)) ifTrue:[
+                        "/ nothing done ...
+                    ] ifFalse:[
+                        constItem isJavaClass ifFalse:[
+                            constItem updateClassRefsFrom:oldClass to:newClass
+                        ]
+                    ]
+                ]
+            ]
+        ]
+    ]
+
+    "Modified: 7.8.1997 / 15:00:10 / cg"
+! !
+
 !JavaConstantPool class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaConstantPool.st,v 1.3 1997/07/29 19:03:27 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaConstantPool.st,v 1.4 1997/08/07 13:19:09 cg Exp $'
 ! !
--- a/JavaInterfaceMethodref.st	Wed Aug 06 00:52:47 1997 +0000
+++ b/JavaInterfaceMethodref.st	Thu Aug 07 13:19:56 1997 +0000
@@ -6,8 +6,17 @@
 !
 
 
+!JavaInterfaceMethodref methodsFor:'special'!
+
+updateClassRefsFrom:oldClass to:newClass
+    lastClass := lastMethod := nil.
+    super updateClassRefsFrom:oldClass to:newClass
+
+    "Created: 7.8.1997 / 15:02:24 / cg"
+! !
+
 !JavaInterfaceMethodref class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaInterfaceMethodref.st,v 1.4 1997/02/07 20:36:21 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaInterfaceMethodref.st,v 1.5 1997/08/07 13:18:54 cg Exp $'
 ! !
--- a/JavaMethodref.st	Wed Aug 06 00:52:47 1997 +0000
+++ b/JavaMethodref.st	Thu Aug 07 13:19:56 1997 +0000
@@ -185,8 +185,18 @@
     "Modified: 26.3.1997 / 13:32:39 / cg"
 ! !
 
+!JavaMethodref methodsFor:'special'!
+
+updateClassRefsFrom:oldClass to:newClass
+    lastClass := nil.
+    lastMethod := nil.
+    super updateClassRefsFrom:oldClass to:newClass
+
+    "Created: 7.8.1997 / 15:00:46 / cg"
+! !
+
 !JavaMethodref class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaMethodref.st,v 1.26 1997/08/05 15:27:13 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaMethodref.st,v 1.27 1997/08/07 13:19:04 cg Exp $'
 ! !
--- a/JavaNameandType.st	Wed Aug 06 00:52:47 1997 +0000
+++ b/JavaNameandType.st	Thu Aug 07 13:19:56 1997 +0000
@@ -51,8 +51,16 @@
 
 ! !
 
+!JavaNameandType methodsFor:'special'!
+
+updateClassRefsFrom:oldClass to:newClass
+    "/ nothing done here
+
+    "Created: 7.8.1997 / 15:12:25 / cg"
+! !
+
 !JavaNameandType class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaNameandType.st,v 1.5 1997/02/07 20:36:15 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaNameandType.st,v 1.6 1997/08/07 13:19:01 cg Exp $'
 ! !
--- a/JavaRef.st	Wed Aug 06 00:52:47 1997 +0000
+++ b/JavaRef.st	Thu Aug 07 13:19:56 1997 +0000
@@ -69,6 +69,16 @@
 
 ! !
 
+!JavaRef methodsFor:'special'!
+
+updateClassRefsFrom:oldClass to:newClass
+    class == oldClass ifTrue:[
+        class := newClass
+    ]
+
+    "Created: 7.8.1997 / 15:01:09 / cg"
+! !
+
 !JavaRef methodsFor:'validation'!
 
 validateClass
@@ -90,5 +100,5 @@
 !JavaRef class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaRef.st,v 1.10 1997/04/07 17:26:45 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaRef.st,v 1.11 1997/08/07 13:19:07 cg Exp $'
 ! !
--- a/SmalltalkAppletStub.st	Wed Aug 06 00:52:47 1997 +0000
+++ b/SmalltalkAppletStub.st	Thu Aug 07 13:19:56 1997 +0000
@@ -93,14 +93,18 @@
 !
 
 getParameter:arg
+    (parameter includesKey:arg) ifFalse:[
+        self halt:'no parameter for: ' , arg displayString.
+        ^ nil
+    ].
     ^ parameter at:arg ifAbsent:nil
 
     "Created: 1.8.1997 / 15:56:51 / cg"
-    "Modified: 1.8.1997 / 15:58:58 / cg"
+    "Modified: 7.8.1997 / 14:32:49 / cg"
 ! !
 
 !SmalltalkAppletStub class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/SmalltalkAppletStub.st,v 1.1 1997/08/01 19:55:09 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/SmalltalkAppletStub.st,v 1.2 1997/08/07 13:19:30 cg Exp $'
 ! !