VersionDiffBrowser.st
changeset 2731 5628e2514bfa
parent 2730 0bf87aa1ac49
child 2745 8fa3af64f96e
--- a/VersionDiffBrowser.st	Tue Aug 22 23:01:39 2000 +0200
+++ b/VersionDiffBrowser.st	Wed Aug 23 14:19:43 2000 +0200
@@ -662,8 +662,8 @@
 
 <return: String>
 "
-    ^ self classChangeSet labelA
-
+    classChangeSet isNil ifTrue:[^ 'A'].
+    ^ classChangeSet labelA
 !
 
 versionB
@@ -672,8 +672,8 @@
 
 <return: String>
 "
-    ^ self classChangeSet labelB
-
+    classChangeSet isNil ifTrue:[^ 'B'].
+    ^ classChangeSet labelB
 ! !
 
 !VersionDiffBrowser methodsFor:'actions'!
@@ -1323,25 +1323,34 @@
 
 <return: self>
 "
-    |classChangeSet|
+    |classChangeSet listOnlyInA listOnlyInB listChanged|
 
     classChangeSet := self classChangeSet.
 
-    self methodsOnlyInA 
-        removeAll; addAll: (classChangeSet methodsOnlyInA collect:self generator).
+    listOnlyInA := self methodsOnlyInA. 
+    listOnlyInA removeAll.
+    classChangeSet notNil ifTrue:[
+        listOnlyInA addAll: (classChangeSet methodsOnlyInA collect:self generator).
+    ].
 
-    self methodsOnlyInB 
-        removeAll; addAll: (classChangeSet methodsOnlyInB collect:self generator).
+    listOnlyInB := self methodsOnlyInB. 
+    listOnlyInB removeAll.
+    classChangeSet notNil ifTrue:[
+        listOnlyInB addAll: (classChangeSet methodsOnlyInB collect:self generator).
+    ].
 
-    self methodsChanged 
-        removeAll; addAll: (classChangeSet methodsChanged collect:[:arr| self generator value:(arr first)]).
+    listChanged := self methodsChanged. 
+    listChanged removeAll.
+    classChangeSet notNil ifTrue:[
+        listChanged addAll: (classChangeSet methodsChanged collect:[:arr| self generator value:(arr first)]).
+    ].
 
-    self boxAVisible value:(self methodsOnlyInA notEmpty).
-    self boxBVisible value:(self methodsOnlyInB notEmpty).
+    self boxAVisible value:(listOnlyInA notEmpty).
+    self boxBVisible value:(listOnlyInB notEmpty).
 
-    self boxMVisible value:(self methodsChanged isEmpty 
-                            and: [(self methodsOnlyInA notEmpty 
-                                  or:[self methodsOnlyInB notEmpty])]) not.
+    self boxMVisible value:(listChanged isEmpty 
+                            and: [(listOnlyInA notEmpty 
+                                  or:[listOnlyInB notEmpty])]) not.
 ! !
 
 !VersionDiffBrowser methodsFor:'setup'!
@@ -1354,7 +1363,14 @@
 
 <return: self>
 "
-    self classChangeSet:(ClassChangeSet newForClass:aClass againstVersion:aVersionA)
+    |changeSet|
+
+    aClass isNameSpace ifFalse:[
+        aClass isLoaded ifTrue:[
+            changeSet := (ClassChangeSet newForClass:aClass againstVersion:aVersionA).
+        ]
+    ].
+    self classChangeSet:changeSet
 !
 
 setupForClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB
@@ -1365,7 +1381,14 @@
 
 <return: self>
 "
-    self classChangeSet:(ClassChangeSet newForClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB)
+    |changeSet|
+
+    aClass isNameSpace ifFalse:[
+        aClass isLoaded ifTrue:[
+            changeSet := (ClassChangeSet newForClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB).
+        ]
+    ].
+    self classChangeSet:changeSet
 !
 
 setupForClass:aClass versionA:aVersionA versionB:aVersionB
@@ -1376,7 +1399,14 @@
 
 <return: self>
 "
-    self classChangeSet:(ClassChangeSet newForClass:aClass versionA:aVersionA versionB:aVersionB)
+    |changeSet|
+
+    aClass isNameSpace ifFalse:[
+        aClass isLoaded ifTrue:[
+            changeSet := (ClassChangeSet newForClass:aClass versionA:aVersionA versionB:aVersionB).
+        ]
+    ].
+    self classChangeSet:changeSet
 ! !
 
 !VersionDiffBrowser methodsFor:'values'!
@@ -1691,5 +1721,5 @@
 !VersionDiffBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.31 2000-08-22 21:01:39 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.32 2000-08-23 12:19:43 cg Exp $'
 ! !