--- 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 $'
! !