update for obsolete class in methodcategory list
authorca
Wed, 29 Jan 2003 10:52:03 +0100
changeset 4506 677f46ffe683
parent 4505 4c309bc91890
child 4507 7aeed604c4db
update for obsolete class in methodcategory list
NewSystemBrowser.st
Tools__NewSystemBrowser.st
--- a/NewSystemBrowser.st	Tue Jan 28 16:35:02 2003 +0100
+++ b/NewSystemBrowser.st	Wed Jan 29 10:52:03 2003 +0100
@@ -38695,6 +38695,21 @@
 
 !NewSystemBrowser::MethodCategoryList methodsFor:'change & update'!
 
+classDefinitionChanged:aClass
+     |refetch|
+
+     refetch := [:eachOldClass | 
+                        eachOldClass isMeta ifTrue:[
+                            (Smalltalk at:eachOldClass theNonMetaclass name) theMetaclass
+                        ] ifFalse:[
+                            Smalltalk at:eachOldClass name
+                        ]
+                ].
+
+     classes := classes collect:refetch.
+     leafClasses := leafClasses collect:refetch.
+!
+
 delayedUpdate:something with:aParameter from:changedObject
     |sel oldMethod newMethod mthd selectedCategories selectedProtocolsHolder oldProtocol newProtocol
      rawProtocolListHolder rawProtocolList oldSelectedProtocols newSelectedProtocols newIndices idx cls listView|
@@ -38782,6 +38797,10 @@
                 cls := aParameter.
                 (classes includesIdentical:cls) ifTrue:[
                     self invalidateList.
+                ] ifFalse:[
+                    (classes contains:[:aClass | aClass name = cls name]) ifTrue:[
+                        self error:'obsolete class: should not happen'.
+                    ]
                 ].
                 ^ self.
             ].
@@ -38803,6 +38822,13 @@
                 ].
                 ^ self
             ].
+
+            (something == #classDefinition or:[something == #classVariables])
+            ifTrue:[
+                self classDefinitionChanged:aParameter.
+                ^ self
+            ].
+
             "/ everything else is ignored    
             "/ self halt.
         ].
@@ -38942,9 +38968,9 @@
             "/ self halt "/ huh - Smalltalk changed - so what ?
             ^ self.
         ].
-        something == #classDefinition ifTrue:[
-            ^ self.
-        ].
+"/        something == #classDefinition ifTrue:[
+"/            ^ self.
+"/        ].
         something == #newClass ifTrue:[
             ^ self.
         ].
@@ -38954,9 +38980,9 @@
         something == #classRename ifTrue:[
             ^ self.
         ].
-        something == #classVariables ifTrue:[
-            ^ self.
-        ].
+"/        something == #classVariables ifTrue:[
+"/            ^ self.
+"/        ].
         something == #classComment ifTrue:[
             ^ self.
         ].
@@ -55365,7 +55391,7 @@
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.519 2003-01-28 11:27:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.520 2003-01-29 09:52:03 ca Exp $'
 ! !
 
 NewSystemBrowser initialize!
--- a/Tools__NewSystemBrowser.st	Tue Jan 28 16:35:02 2003 +0100
+++ b/Tools__NewSystemBrowser.st	Wed Jan 29 10:52:03 2003 +0100
@@ -38695,6 +38695,21 @@
 
 !NewSystemBrowser::MethodCategoryList methodsFor:'change & update'!
 
+classDefinitionChanged:aClass
+     |refetch|
+
+     refetch := [:eachOldClass | 
+                        eachOldClass isMeta ifTrue:[
+                            (Smalltalk at:eachOldClass theNonMetaclass name) theMetaclass
+                        ] ifFalse:[
+                            Smalltalk at:eachOldClass name
+                        ]
+                ].
+
+     classes := classes collect:refetch.
+     leafClasses := leafClasses collect:refetch.
+!
+
 delayedUpdate:something with:aParameter from:changedObject
     |sel oldMethod newMethod mthd selectedCategories selectedProtocolsHolder oldProtocol newProtocol
      rawProtocolListHolder rawProtocolList oldSelectedProtocols newSelectedProtocols newIndices idx cls listView|
@@ -38782,6 +38797,10 @@
                 cls := aParameter.
                 (classes includesIdentical:cls) ifTrue:[
                     self invalidateList.
+                ] ifFalse:[
+                    (classes contains:[:aClass | aClass name = cls name]) ifTrue:[
+                        self error:'obsolete class: should not happen'.
+                    ]
                 ].
                 ^ self.
             ].
@@ -38803,6 +38822,13 @@
                 ].
                 ^ self
             ].
+
+            (something == #classDefinition or:[something == #classVariables])
+            ifTrue:[
+                self classDefinitionChanged:aParameter.
+                ^ self
+            ].
+
             "/ everything else is ignored    
             "/ self halt.
         ].
@@ -38942,9 +38968,9 @@
             "/ self halt "/ huh - Smalltalk changed - so what ?
             ^ self.
         ].
-        something == #classDefinition ifTrue:[
-            ^ self.
-        ].
+"/        something == #classDefinition ifTrue:[
+"/            ^ self.
+"/        ].
         something == #newClass ifTrue:[
             ^ self.
         ].
@@ -38954,9 +38980,9 @@
         something == #classRename ifTrue:[
             ^ self.
         ].
-        something == #classVariables ifTrue:[
-            ^ self.
-        ].
+"/        something == #classVariables ifTrue:[
+"/            ^ self.
+"/        ].
         something == #classComment ifTrue:[
             ^ self.
         ].
@@ -55365,7 +55391,7 @@
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.519 2003-01-28 11:27:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.520 2003-01-29 09:52:03 ca Exp $'
 ! !
 
 NewSystemBrowser initialize!