Context.st
branchjv
changeset 18017 7fef9e17913f
parent 18011 deb0c3355881
parent 14700 4d0c0720fbe8
child 18045 c0c600e0d3b3
--- a/Context.st	Wed Jan 23 10:08:55 2013 +0000
+++ b/Context.st	Mon Jan 28 21:53:19 2013 +0000
@@ -1726,13 +1726,14 @@
         newString := receiverClassName
     ].
 
-    selector notNil ifTrue:[
-"/        implementorClass := self searchClass whichClassIncludesSelector:selector.
+    (selector notNil or:[ method notNil ]) ifTrue:[
+        "/ implementorClass := self searchClass whichClassIncludesSelector:selector.
 
         "
          kludge to avoid slow search for containing class
         "
-        (selector ~~ #doIt and:[selector ~~ #doIt:]) ifTrue:[
+        (method notNil
+        or:[ (selector ~~ #doIt and:[selector ~~ #doIt:]) ]) ifTrue:[
             implementorClass := self methodClass.
             implementorClass isNil ifTrue:[
                 "
@@ -1765,9 +1766,17 @@
              kludge for doIt - these unbound methods are not
              found in the classes methodDictionary
             "
-            (selector ~~ #doIt and:[selector ~~ #doIt:]) ifTrue:[
-                "/ newString := newString , '>>>**NONE**'
-                newString := newString , '(**NONE**)'
+            true "(selector ~~ #doIt and:[selector ~~ #doIt:])" ifTrue:[
+                "
+                 kludge for methods invoked explicitly via valueWithReceiver...
+                "
+                (self sender notNil 
+                and:[ self sender receiver isMethod
+                and:[ self sender selector startsWith:'valueWithReceiver:' ]]) ifTrue:[
+                    newString := newString , '(**DIRECTED**)'
+                ] ifFalse:[
+                    newString := newString , '(**NONE**)'
+                ]
             ]
         ]
     ].
@@ -2465,15 +2474,16 @@
 !Context class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Context.st,v 1.178 2012-12-12 22:59:00 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Context.st,v 1.179 2013-01-24 15:22:59 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/Context.st,v 1.178 2012-12-12 22:59:00 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Context.st,v 1.179 2013-01-24 15:22:59 cg Exp $'
 !
 
 version_SVN
     ^ '§ Id: Context.st 10643 2011-06-08 21:53:07Z vranyj1  §'
 ! !
 
+
 Context initialize!