ChangesBrowser.st
changeset 5806 eaaab48a7e8b
parent 5735 f550dbf1abd0
child 5816 a6ef24d61438
--- a/ChangesBrowser.st	Tue Mar 30 20:48:27 2004 +0200
+++ b/ChangesBrowser.st	Tue Mar 30 20:49:09 2004 +0200
@@ -1969,9 +1969,7 @@
 
 fullClassNameOfChange:changeNr
     "return the full classname of a change 
-     (for classChanges (i.e. xxx class), a string ending in ' class' is returned.
-     - since parsing ascii methods is slow, keep result cached in 
-       changeClassNames for the next query"
+     (for classChanges (i.e. xxx class), a string ending in ' class' is returned."
 
     |chunk aParseTree recTree sel name arg1Tree isMeta prevMethodDefNr
      words changeStream fullParseTree ownerTree ownerName oldDollarSetting|
@@ -1981,7 +1979,10 @@
      first look, if not already known
     "
     name := changeClassNames at:changeNr.
-    name notNil ifTrue:[^ name].
+    name notNil ifTrue:[
+        name == #nil ifTrue:[^ nil].
+        ^ name
+    ].
 
     prevMethodDefNr := changeNr.
     [changeIsFollowupMethodChange at:prevMethodDefNr] whileTrue:[
@@ -1999,7 +2000,6 @@
         words size > 2 ifTrue:[
             (words at:2) = 'checkin' ifTrue:[
                 name := words at:3.
-                changeClassNames at:changeNr put:name.
                 ^ name
             ]
         ].
@@ -2090,7 +2090,6 @@
                 isMeta ifTrue:[
                     name := name , ' class'.
                 ].
-                changeClassNames at:changeNr put:name.
                 ^ name
             ]
         ].
@@ -2136,7 +2135,6 @@
                 ownerName := ownerTree name asString.
                 name := ownerName , '::' , name
             ].
-            changeClassNames at:changeNr put:name.
             ^ name
         ].
         "very strange"
@@ -2154,7 +2152,6 @@
             arg1Tree := aParseTree arg1.
             (arg1Tree notNil and:[arg1Tree isPrimary]) ifTrue:[
                 name := arg1Tree name.
-                changeClassNames at:changeNr put:name.
                 ^ name
             ].
         ]
@@ -2181,7 +2178,6 @@
                     name := name , ' class'.
                 ].
                 name := recTree name.
-                changeClassNames at:changeNr put:name.
                 ^ name
             ]
         ]
@@ -2234,14 +2230,20 @@
 !
 
 realClassNameOfChange:changeNr
-    "return the classname of a change"
+    "return the classname of a change.
+     - since parsing ascii methods is slow, keep result cached in 
+       changeClassNames for the next query"
 
     |name|
 
     name := changeClassNames at:changeNr.
     name isNil ifTrue:[
         name := self fullClassNameOfChange:changeNr.
+        name isNil ifTrue:[
+            changeClassNames at:changeNr put:#nil.
+        ].
     ].
+    name == #nil ifTrue:[^ nil].
     ^ name
 
     "Modified: / 6.12.1995 / 17:06:31 / cg"
@@ -5580,5 +5582,5 @@
 !ChangesBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.318 2004-03-16 11:42:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.319 2004-03-30 18:49:09 cg Exp $'
 ! !