Method.st
changeset 25228 90cedbae4e5b
parent 24883 1093edda36a7
child 25365 57a31f87d9fe
--- a/Method.st	Sat Feb 01 16:00:43 2020 +0100
+++ b/Method.st	Mon Feb 03 01:48:41 2020 +0100
@@ -793,6 +793,18 @@
     package := aSymbol
 !
 
+setSource:aString
+    "set the method's source"
+
+    source := aString.
+!
+
+setSourcePosition:aNumberOrNil
+    "set the method's sourcePosition"
+
+    sourcePosition := aNumberOrNil.
+!
+
 source
     "return the sourcestring for the receiver"
 
@@ -1062,6 +1074,7 @@
     "Modified (format): / 18-11-2011 / 14:47:06 / cg"
 ! !
 
+
 !Method methodsFor:'accessing-visibility'!
 
 isIgnored
@@ -1549,8 +1562,14 @@
     |aCopy|
 
     aCopy := super copy.
-    sourcePosition notNil ifTrue:[
-	aCopy source:(self source)
+    aCopy setSource:source.
+    aCopy setSourcePosition:sourcePosition.
+    "/ avoid recursion problems when source needs the source 
+    "/ (to extract/verify the classs CVS-version)
+    thisContext isRecursive ifFalse:[
+        sourcePosition notNil ifTrue:[
+            aCopy source:(self source)
+        ].
     ].
     aCopy mclass:nil.
     ^ aCopy
@@ -3854,6 +3873,7 @@
     "Created: / 23-07-2012 / 11:16:36 / cg"
 ! !
 
+
 !Method methodsFor:'source management'!
 
 revisionInfo