--- a/AbstractSourceFileWriter.st Tue Sep 29 15:06:05 2009 +0200
+++ b/AbstractSourceFileWriter.st Tue Sep 29 18:16:28 2009 +0200
@@ -7,10 +7,27 @@
category:'Kernel-Classes'
!
-!AbstractSourceFileWriter class methodsFor:'documentation'!
+Query subclass:#MethodSourceRewriteQuery
+ instanceVariableNames:'method source'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:AbstractSourceFileWriter
+!
+
+
+!AbstractSourceFileWriter class methodsFor:'signal constants'!
-version_SVN
- ^'$Id: AbstractSourceFileWriter.st,v 1.2 2009-09-23 12:23:23 fm Exp $'
+methodSourceRewriteQuery
+ "hook to allow for just-in-time rewriting of a method's sourceCode while filing out
+ used when saving version_XXX methods in a non-XXX sourceCodeManager
+ (i.e. to rewrite all non-CVS version methods while saving into a CVS repository)
+ this is required because we cannot save an SVN version method (dollar-ID-...-dollar) into a
+ CVS repository without loosing the original string with the next checkout, because it also gets
+ expanded by CVS. The same is true vice-versa for CVS-Ids, which get clobbered by SVN.
+
+ see SmalltalkChunkFileSourceWriter fileOutMethod:on:"
+
+ ^ MethodSourceRewriteQuery
! !
!AbstractSourceFileWriter methodsFor:'fileout'!
@@ -95,8 +112,46 @@
"Created: / 21-08-2009 / 09:40:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
+!AbstractSourceFileWriter::MethodSourceRewriteQuery class methodsFor:'documentation'!
+
+documentation
+"
+ hook to allow for just-in-time rewriting of a method's sourceCode while filing out
+ used when saving version_XXX methods in a non-XXX sourceCodeManager
+ (i.e. to rewrite all non-CVS version methods while saving into a CVS repository)
+ this is required because we cannot save an SVN version method (dollar-ID-...-dollar) into a
+ CVS repository without loosing the original string with the next checkout, because it also gets
+ expanded by CVS. The same is true vice-versa for CVS-Ids, which get clobbered by SVN.
+
+ see SmalltalkChunkFileSourceWriter fileOutMethod:on:
+"
+! !
+
+!AbstractSourceFileWriter::MethodSourceRewriteQuery methodsFor:'accessing'!
+
+method
+ ^ method
+!
+
+method:methodArg source:sourceArg
+ method := methodArg.
+ source := sourceArg.
+!
+
+source
+ ^ source
+! !
+
!AbstractSourceFileWriter class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/AbstractSourceFileWriter.st,v 1.2 2009-09-23 12:23:23 fm Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/AbstractSourceFileWriter.st,v 1.3 2009-09-29 16:16:28 fm Exp $'
+!
+
+version_CVS
+ ^ '$Header: /cvs/stx/stx/libbasic/AbstractSourceFileWriter.st,v 1.3 2009-09-29 16:16:28 fm Exp $'
+!
+
+version_SVN
+ ^'Id: AbstractSourceFileWriter.st,v 1.2 2009/09/23 12:23:23 fm Exp '
! !