Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
112 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
" | ||
I am an abstract base class for package refactorings. | ||
All that I provide is the package name, my subclass refactorings are operating on, and a instance creation method for setting the package name and an initial namespace model. | ||
" | ||
Class { | ||
#name : #RBPackageRefactoring, | ||
#superclass : #RBRefactoring, | ||
#instVars : [ | ||
'packageName' | ||
], | ||
#category : #'Refactoring-Core-Refactorings' | ||
} | ||
|
||
{ #category : #'as yet unclassified' } | ||
RBPackageRefactoring class >> model: aRBModel packageName: aName [ | ||
^ self new | ||
model: aRBModel; | ||
packageName: aName; | ||
yourself | ||
] | ||
|
||
{ #category : #accessing } | ||
RBPackageRefactoring class >> packageName: aName [ | ||
^self new packageName: aName | ||
] | ||
|
||
{ #category : #accessing } | ||
RBPackageRefactoring >> packageName [ | ||
|
||
^ packageName | ||
] | ||
|
||
{ #category : #accessing } | ||
RBPackageRefactoring >> packageName: anObject [ | ||
|
||
packageName := anObject | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
Class { | ||
#name : #RBRenamePackageRefactoring, | ||
#superclass : #RBPackageRefactoring, | ||
#instVars : [ | ||
'package', | ||
'newName' | ||
], | ||
#category : #'Refactoring-Core-Refactorings' | ||
} | ||
|
||
{ #category : #'instance creation' } | ||
RBRenamePackageRefactoring class >> model: aRBSmalltalk rename: aPkg to: aNewName [ | ||
^(self new) | ||
model: aRBSmalltalk; | ||
packageName: aPkg name newName: aNewName; | ||
yourself | ||
] | ||
|
||
{ #category : #'instance creation' } | ||
RBRenamePackageRefactoring class >> rename: aClass to: aNewName [ | ||
^self new packageName: aClass name newName: aNewName | ||
] | ||
|
||
{ #category : #initialization } | ||
RBRenamePackageRefactoring >> packageName: aName newName: aNewName [ | ||
packageName := aName asSymbol. | ||
package := self model packageNamed: packageName. | ||
newName := aNewName asSymbol | ||
] | ||
|
||
{ #category : #preconditions } | ||
RBRenamePackageRefactoring >> preconditions [ | ||
^ self emptyCondition | ||
] | ||
|
||
{ #category : #transforming } | ||
RBRenamePackageRefactoring >> renameManifestClass [ | ||
|refactoring manifest| | ||
manifest := package packageManifestOrNil. | ||
refactoring := RBRenameClassRefactoring | ||
rename: manifest | ||
to: (TheManifestBuilder manifestClassNameFor: newName). | ||
self performCompositeRefactoring: refactoring | ||
] | ||
|
||
{ #category : #transforming } | ||
RBRenamePackageRefactoring >> renamePackage [ | ||
|
||
self model renamePackage: package to: newName | ||
] | ||
|
||
{ #category : #transforming } | ||
RBRenamePackageRefactoring >> transform [ | ||
|
||
self renamePackage. | ||
self renameManifestClass. | ||
] |