comment/format in: #fileOutSourceCodeOf:on:withTimeStamp:withInitialize:withDefinition:methodFilter:
authorClaus Gittinger <cg@exept.de>
Wed, 29 Jun 2011 16:06:20 +0200
changeset 2380 d17747baf9e9
parent 2379 62ca6c73613a
child 2381 e0f4fbc2bf59
comment/format in: #fileOutSourceCodeOf:on:withTimeStamp:withInitialize:withDefinition:methodFilter: changed: #updateVersionMethodOf:for: #withSourceRewriteHandlerDo:
AbstractSourceCodeManager.st
--- a/AbstractSourceCodeManager.st	Tue Jun 28 23:15:15 2011 +0200
+++ b/AbstractSourceCodeManager.st	Wed Jun 29 16:06:20 2011 +0200
@@ -1319,9 +1319,10 @@
     Class methodRedefinitionNotification answer:#keep do:[
         Class withoutUpdatingChangesDo:[
             self compileVersionMethod:(self nameOfVersionMethodInClasses) of:aClass for:newRevisionString.
-            "Updates old method #version (if present)"
-            (cls includesSelector: Class nameOfVersionMethod) ifTrue: [
-                self compileVersionMethod:Class nameOfVersionMethod of:aClass for:newRevisionString.
+
+            "Updates the old method #version (if present)"
+            (cls includesSelector: Class nameOfOldVersionMethod) ifTrue: [
+                self compileVersionMethod:Class nameOfOldVersionMethod of:aClass for:newRevisionString.
             ].
         ]
     ].
@@ -1924,12 +1925,9 @@
     ].
 !
 
-fileOutSourceCodeOf:aClass 
-                 on:aStream 
-      withTimeStamp:withTimeStamp 
-     withInitialize:withInitialize 
-     withDefinition:withDefinition
-       methodFilter:methodFilter
+fileOutSourceCodeOf:aClass on:aStream 
+      withTimeStamp:withTimeStamp withInitialize:withInitialize withDefinition:withDefinition
+      methodFilter:methodFilter
 
     self withSourceRewriteHandlerDo:[
         aClass fileOutOn:aStream 
@@ -2539,6 +2537,8 @@
 !
 
 withSourceRewriteHandlerDo:aBlock
+    "hook for just-in-time rewriting of a method's sourceCode while filing out
+     used when saving version_XXX methods in a non-XXX sourceCodeManager"
 
     AbstractSourceFileWriter methodSourceRewriteQuery handle:[:rewriteQuery |
         |m newSource |
@@ -2547,7 +2547,9 @@
         m isVersionMethod ifFalse:[                                                            
             rewriteQuery proceedWith:rewriteQuery source.
         ].
-        (m selector = self nameOfVersionMethodInClasses or:[m selector = Class nameOfVersionMethod]) ifTrue:[
+        (m selector = self nameOfVersionMethodInClasses 
+        or:[m selector = self nameOfVersionMethodForExtensions 
+        or:[m selector = Class nameOfOldVersionMethod]]) ifTrue:[
             "/ it's my version method - make sure that it has $'s around...
             newSource := self ensureDollarsInVersionMethod:rewriteQuery source.
         ] ifFalse:[
@@ -2906,12 +2908,8 @@
 
 !AbstractSourceCodeManager class methodsFor:'documentation'!
 
-version
-    ^ '$Header: /cvs/stx/stx/libbasic3/AbstractSourceCodeManager.st,v 1.242 2011-04-19 11:52:56 cg Exp $'
-!
-
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic3/AbstractSourceCodeManager.st,v 1.242 2011-04-19 11:52:56 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/AbstractSourceCodeManager.st,v 1.243 2011-06-29 14:06:20 cg Exp $'
 ! !
 
 AbstractSourceCodeManager initialize!