checkin from browser
authorcg
Fri, 08 Aug 1997 10:20:49 +0000
changeset 204 c2f7436ceaaa
parent 203 67af98594672
child 205 11cd2ad78854
checkin from browser
JavaClass.st
--- a/JavaClass.st	Thu Aug 07 13:19:56 1997 +0000
+++ b/JavaClass.st	Fri Aug 08 10:20:49 1997 +0000
@@ -774,6 +774,12 @@
     "Created: 20.1.1997 / 13:00:48 / cg"
 !
 
+makeObsolete
+    accessFlags := accessFlags bitOr:16r8000
+
+    "Created: 7.8.1997 / 19:04:48 / cg"
+!
+
 markUninitialized
     initialized := false.
 !
@@ -930,9 +936,10 @@
     "return true, if the receiver is obsolete 
      Java classes are never."
 
+    ^ (accessFlags bitAnd:16r8000) ~~ 0.
     ^ false
 
-
+    "Modified: 7.8.1997 / 19:04:28 / cg"
 !
 
 isPublic
@@ -1276,23 +1283,28 @@
 !JavaClass methodsFor:'special'!
 
 updateClassRefsFrom:oldClass to:newClass
+    self == oldClass ifTrue:[
+        self makeObsolete.
+        ^ self
+    ].
+
     constantPool updateClassRefsFrom:oldClass to:newClass.
     interfaces notNil ifTrue:[
         interfaces := interfaces collect:[:anInterface |
                                             anInterface == oldClass ifTrue:[
                                                 newClass
                                             ] ifFalse:[
-                                                oldClass
+                                                anInterface
                                             ]
                                          ]
     ]
 
-    "Modified: 7.8.1997 / 15:13:06 / cg"
+    "Modified: 8.8.1997 / 12:19:14 / cg"
 ! !
 
 !JavaClass class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.58 1997/08/07 13:19:56 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.59 1997/08/08 10:20:49 cg Exp $'
 ! !
 JavaClass initialize!