initial checkin
authorClaus Gittinger <cg@exept.de>
Tue, 04 Mar 2014 22:15:48 +0100
changeset 339 2655134745cc
parent 338 fad5fe04f982
child 340 51d23338b32e
initial checkin
gui/PPRemoveProdcutionRefactoring.st
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gui/PPRemoveProdcutionRefactoring.st	Tue Mar 04 22:15:48 2014 +0100
@@ -0,0 +1,54 @@
+"{ Package: 'stx:goodies/petitparser/gui' }"
+
+RBRefactoring subclass:#PPRemoveProdcutionRefactoring
+	instanceVariableNames:'production class'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'PetitGui-Refactoring'
+!
+
+
+!PPRemoveProdcutionRefactoring class methodsFor:'instance creation'!
+
+onClass: aClass production: aSelector
+	^ self new
+		setClass: aClass;
+		setProduction: aSelector;
+		yourself
+! !
+
+!PPRemoveProdcutionRefactoring methodsFor:'initialization'!
+
+setClass: aClass
+	class := self classObjectFor: aClass
+!
+
+setProduction: aSymbol
+	production := aSymbol
+! !
+
+!PPRemoveProdcutionRefactoring methodsFor:'preconditions'!
+
+preconditions
+	^ (self checkCompositeParser: class)
+		& (RBCondition definesSelector: production asSymbol in: class)
+		& (RBCondition definesInstanceVariable: production asString in: class)
+! !
+
+!PPRemoveProdcutionRefactoring methodsFor:'transforming'!
+
+transform
+	class removeMethod: production asSymbol.
+	class removeInstanceVariable: production asString
+! !
+
+!PPRemoveProdcutionRefactoring class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/goodies/petitparser/gui/PPRemoveProdcutionRefactoring.st,v 1.1 2014-03-04 21:15:48 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/goodies/petitparser/gui/PPRemoveProdcutionRefactoring.st,v 1.1 2014-03-04 21:15:48 cg Exp $'
+! !
+