allow comparing private classes
authorClaus Gittinger <cg@exept.de>
Wed, 16 Aug 2000 23:25:21 +0200
changeset 2710 88a97fa1d140
parent 2709 0c8564f828c2
child 2711 aee70084f11e
allow comparing private classes
VersionDiffBrowser.st
--- a/VersionDiffBrowser.st	Wed Aug 16 17:01:28 2000 +0200
+++ b/VersionDiffBrowser.st	Wed Aug 16 23:25:21 2000 +0200
@@ -1487,7 +1487,7 @@
 
 <return: ClassChangeSet>
 "
-    |theChangeSetA theChangeSetB theClassChangeSet versionCompared|
+    |theChangeSetA theChangeSetB theClassChangeSet versionCompared diffSet|
 
     theClassChangeSet := self new.
     theClassChangeSet classBeingCompared:aClass.
@@ -1508,8 +1508,19 @@
         ifTrue: [theChangeSetA := ChangeSet new].
     theChangeSetB isNil
         ifTrue: [theChangeSetB := ChangeSet new].
-    ^theClassChangeSet diffSet:(theChangeSetA diffSetsAgainst:theChangeSetB)
-
+    "/ if we are comparing a private class, prune out other changes
+    aClass isPrivate ifTrue:[
+        theChangeSetA removeAllSuchThat:[:aChange |
+                                                aChange className ~= aClass name
+                                        ].
+        theChangeSetB removeAllSuchThat:[:aChange |
+                                                aChange className ~= aClass name
+                                        ].
+    ].
+    self activityNotification:'generating diff-set...'.
+    diffSet := theClassChangeSet diffSet:(theChangeSetA diffSetsAgainst:theChangeSetB).
+    self activityNotification:nil.
+    ^ diffSet
 !
 
 newForClass:aClass labelA:aLabelA sourceA:aSourceA labelB:aLabelB sourceB:aSourceB
@@ -1667,5 +1678,5 @@
 !VersionDiffBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.25 2000-08-15 14:16:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.26 2000-08-16 21:25:21 cg Exp $'
 ! !