--- a/CustomSimpleSetterMethodsCodeGeneratorTests.st Fri Aug 29 22:48:21 2014 +0200
+++ b/CustomSimpleSetterMethodsCodeGeneratorTests.st Sat Aug 30 19:33:55 2014 +0200
@@ -7,6 +7,7 @@
category:'Interface-Refactoring-Custom-Tests'
!
+
!CustomSimpleSetterMethodsCodeGeneratorTests methodsFor:'accessing'!
generatorOrRefactoring
@@ -49,3 +50,10 @@
"Modified: / 05-07-2014 / 19:38:17 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
! !
+!CustomSimpleSetterMethodsCodeGeneratorTests class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/CustomSourceCodeBuilder.st Fri Aug 29 22:48:21 2014 +0200
+++ b/CustomSourceCodeBuilder.st Sat Aug 30 19:33:55 2014 +0200
@@ -17,7 +17,14 @@
!
CustomSourceCodeBuilder subclass:#Method
- instanceVariableNames:'classes commentPlaceholderMarker commentReplacements'
+ instanceVariableNames:'classes commentPlaceholderMarker commentReplacements package'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CustomSourceCodeBuilder
+!
+
+InteractiveAddMethodChange subclass:#MethodChange
+ instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
privateIn:CustomSourceCodeBuilder
@@ -463,6 +470,15 @@
"Created: / 23-03-2014 / 23:02:08 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
! !
+!CustomSourceCodeBuilder methodsFor:'refactory-changes'!
+
+methodChange
+
+ ^ CustomSourceCodeBuilder::MethodChange new
+
+ "Created: / 30-08-2014 / 18:27:59 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
+! !
+
!CustomSourceCodeBuilder::Class methodsFor:'accessing'!
category:something
@@ -764,6 +780,13 @@
"Created: / 25-05-2014 / 17:41:20 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
!
+package:aPackage
+
+ package := aPackage
+
+ "Created: / 30-08-2014 / 18:32:01 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
+!
+
protocol:aString
protocol := aString
@@ -825,14 +848,20 @@
methodClass := class asRBClass
].
- change addChange: (InteractiveAddMethodChange new
- class: methodClass
- protocol: protocol
- source: self buildedSource)
+ methodChange := (self methodChange
+ class: methodClass
+ protocol: protocol
+ source: self buildedSource).
+
+ package notNil ifTrue: [
+ methodChange package: package
+ ].
+
+ change addChange: methodChange.
]
"Created: / 10-04-2014 / 00:03:34 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
- "Modified (comment): / 18-05-2014 / 19:24:09 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
+ "Modified: / 30-08-2014 / 18:31:07 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
!
replaceCommentsInSource: aSourceString
@@ -866,6 +895,28 @@
"Modified: / 24-03-2014 / 22:44:28 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
! !
+!CustomSourceCodeBuilder::MethodChange class methodsFor:'documentation'!
+
+documentation
+"
+ Method change (refacotry browser) wrapper to support additional functionality.
+ For now its just package accesor.
+
+ [author:]
+ Jakub Nesveda <nesvejak@fit.cvut.cz>
+
+"
+! !
+
+!CustomSourceCodeBuilder::MethodChange methodsFor:'accessing'!
+
+package: aPackage
+
+ package := aPackage
+
+ "Created: / 30-08-2014 / 18:24:25 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
+! !
+
!CustomSourceCodeBuilder class methodsFor:'documentation'!
version_HG
--- a/CustomSourceCodeBuilderTests.st Fri Aug 29 22:48:21 2014 +0200
+++ b/CustomSourceCodeBuilderTests.st Sat Aug 30 19:33:55 2014 +0200
@@ -368,6 +368,49 @@
"Created: / 23-08-2014 / 21:48:51 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
!
+test_create_method_within_given_package
+ | mockClass package method |
+
+ package := self class package.
+ self assert: package size > 3.
+
+ mockClass := codeBuilder createClassImmediate: 'MockClassForTestCase' superClassName: 'Object'.
+ (codeBuilder createMethod)
+ class: mockClass;
+ protocol: 'a protocol';
+ package: package;
+ source: 'selector ^ 123'.
+
+ codeBuilder execute.
+
+ method := (mockClass compiledMethodAt: #selector).
+
+ self assert: method package = package
+
+ "Created: / 30-08-2014 / 18:45:35 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
+!
+
+test_create_method_without_given_package
+ | mockClass package method |
+
+ package := self class package.
+ self assert: package size > 3.
+
+ mockClass := codeBuilder createClassImmediate: 'MockClassForTestCase' superClassName: 'Object'.
+ (codeBuilder createMethod)
+ class: mockClass;
+ protocol: 'a protocol';
+ source: 'selector ^ 123'.
+
+ codeBuilder execute.
+
+ method := (mockClass compiledMethodAt: #selector).
+
+ self assert: (method package = package) not
+
+ "Created: / 30-08-2014 / 18:46:52 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
+!
+
test_empty_class_not_in_change
codeBuilder createClass.
--- a/Make.proto Fri Aug 29 22:48:21 2014 +0200
+++ b/Make.proto Sat Aug 30 19:33:55 2014 +0200
@@ -144,7 +144,7 @@
$(OUTDIR)CustomParseTreeRewriter.$(O) CustomParseTreeRewriter.$(H): CustomParseTreeRewriter.st $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/ParseTreeRewriter.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/ParseTreeSearcher.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)CustomPerspective.$(O) CustomPerspective.$(H): CustomPerspective.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)CustomRefactoryBuilder.$(O) CustomRefactoryBuilder.$(H): CustomRefactoryBuilder.st $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/refactoring/RefactoryBuilder.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)CustomSourceCodeBuilder.$(O) CustomSourceCodeBuilder.$(H): CustomSourceCodeBuilder.st $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libtool/CodeGenerator.$(H) $(STCHDR)
+$(OUTDIR)CustomSourceCodeBuilder.$(O) CustomSourceCodeBuilder.$(H): CustomSourceCodeBuilder.st $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/changes/AddMethodChange.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/changes/InteractiveAddMethodChange.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/changes/RefactoryChange.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/changes/RefactoryClassChange.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libtool/CodeGenerator.$(H) $(STCHDR)
$(OUTDIR)CustomSourceCodeFormatter.$(O) CustomSourceCodeFormatter.$(H): CustomSourceCodeFormatter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)CustomSourceCodeSelection.$(O) CustomSourceCodeSelection.$(H): CustomSourceCodeSelection.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)TestClass.$(O) TestClass.$(H): TestClass.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/bc.mak Fri Aug 29 22:48:21 2014 +0200
+++ b/bc.mak Sat Aug 30 19:33:55 2014 +0200
@@ -90,7 +90,7 @@
$(OUTDIR)CustomParseTreeRewriter.$(O) CustomParseTreeRewriter.$(H): CustomParseTreeRewriter.st $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\ParseTreeRewriter.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\ParseTreeSearcher.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)CustomPerspective.$(O) CustomPerspective.$(H): CustomPerspective.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)CustomRefactoryBuilder.$(O) CustomRefactoryBuilder.$(H): CustomRefactoryBuilder.st $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\refactoring\RefactoryBuilder.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)CustomSourceCodeBuilder.$(O) CustomSourceCodeBuilder.$(H): CustomSourceCodeBuilder.st $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libtool\CodeGenerator.$(H) $(STCHDR)
+$(OUTDIR)CustomSourceCodeBuilder.$(O) CustomSourceCodeBuilder.$(H): CustomSourceCodeBuilder.st $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\changes\AddMethodChange.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\changes\InteractiveAddMethodChange.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\changes\RefactoryChange.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\changes\RefactoryClassChange.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libtool\CodeGenerator.$(H) $(STCHDR)
$(OUTDIR)CustomSourceCodeFormatter.$(O) CustomSourceCodeFormatter.$(H): CustomSourceCodeFormatter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)CustomSourceCodeSelection.$(O) CustomSourceCodeSelection.$(H): CustomSourceCodeSelection.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)TestClass.$(O) TestClass.$(H): TestClass.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/refactoring_custom.rc Fri Aug 29 22:48:21 2014 +0200
+++ b/refactoring_custom.rc Sat Aug 30 19:33:55 2014 +0200
@@ -25,7 +25,7 @@
VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
VALUE "ProductName", "ProductName\0"
VALUE "ProductVersion", "6.2.4.1333\0"
- VALUE "ProductDate", "Fri, 29 Aug 2014 20:45:38 GMT\0"
+ VALUE "ProductDate", "Sat, 30 Aug 2014 17:29:11 GMT\0"
END
END