Change.st
changeset 2411 37acd98eb083
parent 2378 9d8435b2e196
child 2471 b0dd40fea5d3
--- a/Change.st	Wed Jul 06 13:50:00 2011 +0200
+++ b/Change.st	Wed Jul 06 13:50:11 2011 +0200
@@ -119,6 +119,13 @@
     ^ self "/ to be added 
 !
 
+nonMetaClassName
+
+    ^nil
+
+    "Created: / 26-11-2009 / 16:14:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 objectType:aSymbol
     ^ self "/ to be added as instvar
 !
@@ -133,6 +140,20 @@
     ^ self source
 !
 
+removed
+
+    ^(self objectAttributeAt: #removed) ? false
+
+    "Created: / 24-10-2009 / 21:10:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+removed: aBoolean
+
+    ^self objectAttributeAt: #removed put: aBoolean
+
+    "Created: / 24-10-2009 / 21:11:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 selector
     ^ nil
 
@@ -218,6 +239,25 @@
     "Modified: / 25-07-2006 / 11:22:46 / cg"
 ! !
 
+!Change methodsFor:'converting'!
+
+asAntiChange
+    "Returns my anti-change, i.e. change that do the
+     opposite. For class defintion change it returns
+     class remove change, for method defintion change
+     it returns method remove change. If there is no way
+     how to revert the change, an error is trigerred.
+
+     JV: personal note: we should switch to deltastreams
+     (http://wiki.squeak.org/squeak/6001)
+    "
+
+    "/self error: 'Could not create antichange'
+    ^self copy
+
+    "Created: / 02-11-2009 / 11:11:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 26-11-2009 / 16:10:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
 
 !Change methodsFor:'enumerating'!
 
@@ -260,6 +300,18 @@
 
 ! !
 
+!Change methodsFor:'private'!
+
+flattenOnto: aCollection 
+	aCollection add: self
+!
+
+flattenedChanges
+	| changes |
+	changes := OrderedCollection new.
+	self flattenOnto: changes.
+	^changes
+! !
 
 !Change methodsFor:'queries'!
 
@@ -321,6 +373,12 @@
     "Created: / 7.2.1998 / 19:26:50 / cg"
 !
 
+isClassRemoveChangeOrMethodRemoveChange
+    ^self isClassRemoveChange or: [self isMethodRemoveChange]
+
+    "Created: / 25-11-2009 / 08:16:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 isClassRenameChange
     ^ false
 
@@ -416,9 +474,9 @@
 !Change class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic3/Change.st,v 1.49 2011-06-28 21:13:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/Change.st,v 1.50 2011-07-06 11:50:11 vrany Exp $'
 !
 
 version_SVN
-    ^ ' Id: Change.st 1867 2011-06-08 21:57:08Z vranyj1  '
+    ^ '§ Id: Change.st 1867 2011-06-08 21:57:08Z vranyj1  §'
 ! !