--- a/ChangeSet.st Thu Sep 27 10:24:03 2012 +0100
+++ b/ChangeSet.st Thu Sep 27 20:37:25 2012 +0100
@@ -553,7 +553,6 @@
"Created: / 27.10.1997 / 13:52:54 / cg"
! !
-
!ChangeSet class methodsFor:'Compatibility-VW'!
component: component definition: anObject change: changeSymbol
@@ -708,12 +707,6 @@
"Modified: / 31-07-2012 / 15:37:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!ChangeSet class methodsFor:'others'!
-
-version_CVS
- ^ '§Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.197 2012/08/13 14:22:06 stefan Exp §'
-! !
-
!ChangeSet class methodsFor:'queries'!
current
@@ -1111,7 +1104,6 @@
"Created: / 05-12-2009 / 12:32:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!ChangeSet methodsFor:'misc'!
addPatch:nameOfPatch
@@ -1120,7 +1112,6 @@
^ self
! !
-
!ChangeSet methodsFor:'private-accessing'!
addChange:aChange
@@ -1395,7 +1386,10 @@
"Created: / 25-10-2006 / 18:06:55 / cg"
!
-selectForWhichIncludesChangeForClassOrMetaclassOrPrivateClassFrom:aCollectionOfClasses
+selectClassesForWhichIncludesChangeForClassOrMetaclassOrPrivateClassFrom:aCollectionOfClasses
+ "return the set of classes from a given collection, for which I have changes.
+ Returns a collection of classes"
+
|selected alreadyProcessed classes prev|
classes := aCollectionOfClasses collect:[:eachClass | eachClass theNonMetaclass] as:Array.
@@ -1425,6 +1419,37 @@
].
^ selected.
+ "Created: / 04-09-2012 / 14:01:37 / cg"
+!
+
+selectForWhichIncludesChangeForClassOrMetaclassOrPrivateClassFrom:aCollectionOfClasses
+ "select changes for one of a given class.
+ Returns a collection of changes"
+
+ |selected classes |
+
+ classes := aCollectionOfClasses collect:[:eachClass | eachClass theNonMetaclass] as:Array.
+
+ selected := ChangeSet new.
+
+ self do:[:eachChange |
+ |changeClassName changeClass isIn|
+
+ changeClass := eachChange changeClass.
+ (changeClass notNil) ifTrue:[
+ changeClass := changeClass theNonMetaclass.
+ ((classes includes:changeClass)
+ or: [
+ changeClass isPrivate
+ and: [ (classes includes:changeClass owningClass) ]
+ ]
+ ) ifTrue:[
+ selected add: eachChange
+ ].
+ ]
+ ].
+ ^ selected.
+
"Created: / 08-09-2011 / 04:38:32 / cg"
! !
@@ -3461,7 +3486,7 @@
!
version_SVN
- ^ '$Id:: ChangeSet.st 1959 2012-09-05 15:46:10Z vranyj1 $'
+ ^ '$Id:: ChangeSet.st 1971 2012-09-27 19:37:25Z vranyj1 $'
! !
!ChangeSet::ClassSourceWriter::ClassInfo class methodsFor:'instance creation'!
@@ -3850,6 +3875,22 @@
!ChangeSet::DiffSet methodsFor:'queries'!
+changedClasses
+ |allChangedClasses|
+
+ allChangedClasses := Set new.
+ allChangedClasses addAll:(onlyInArg changedClasses).
+ allChangedClasses addAll:(onlyInReceiver changedClasses).
+ changed do:[:eachChangePair |
+ allChangedClasses add:(eachChangePair first changeClass).
+ allChangedClasses add:(eachChangePair second changeClass).
+ ].
+ allChangedClasses remove:nil ifAbsent:[].
+ ^ allChangedClasses
+
+ "Created: / 26-09-2012 / 15:39:18 / cg"
+!
+
isEmpty
^ changed isEmpty
and:[ onlyInReceiver isEmpty
@@ -4118,9 +4159,13 @@
!ChangeSet class methodsFor:'documentation'!
version
- ^ '$Id: ChangeSet.st 1959 2012-09-05 15:46:10Z vranyj1 $'
+ ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.200 2012/09/26 16:34:02 cg Exp $'
+!
+
+version_CVS
+ ^ '§Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.200 2012/09/26 16:34:02 cg Exp §'
!
version_SVN
- ^ '$Id: ChangeSet.st 1959 2012-09-05 15:46:10Z vranyj1 $'
+ ^ '$Id: ChangeSet.st 1971 2012-09-27 19:37:25Z vranyj1 $'
! !