#FEATURE by cg
authorClaus Gittinger <cg@exept.de>
Thu, 09 Mar 2017 11:00:40 +0100
changeset 5512 4375d3732703
parent 5511 4c0bb98c0ecb
child 5513 2fd8ee891d82
#FEATURE by cg class: DoWhatIMeanSupport comment/format in: #isNonDestructive:whenSentTo: changed: #valueOfNode:
DoWhatIMeanSupport.st
--- a/DoWhatIMeanSupport.st	Wed Mar 08 01:25:43 2017 +0100
+++ b/DoWhatIMeanSupport.st	Thu Mar 09 11:00:40 2017 +0100
@@ -14,20 +14,20 @@
 "{ NameSpace: Smalltalk }"
 
 Object subclass:#DoWhatIMeanSupport
-        instanceVariableNames:'tree tokens languageOrNil classOrNil methodOrNil contextOrNil
-                instanceOrNil codeView rememberedScopeNodes rememberedNodes
-                codeAspect'
-        classVariableNames:'LastSource LastParseTree LastScanTokens LastChoices
-                LastCompletedSelectors Verbose'
-        poolDictionaries:''
-        category:'System-Support'
+	instanceVariableNames:'tree tokens languageOrNil classOrNil methodOrNil contextOrNil
+		instanceOrNil codeView rememberedScopeNodes rememberedNodes
+		codeAspect'
+	classVariableNames:'LastSource LastParseTree LastScanTokens LastChoices
+		LastCompletedSelectors Verbose'
+	poolDictionaries:''
+	category:'System-Support'
 !
 
 Array variableSubclass:#InputCompletionResult
-        instanceVariableNames:''
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:DoWhatIMeanSupport
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:DoWhatIMeanSupport
 !
 
 !DoWhatIMeanSupport class methodsFor:'documentation'!
@@ -6037,7 +6037,6 @@
     |selector method impl arg1Value|
 
     selector := aMessageNode selector.
-    
     impl := receiverValue class whichClassIncludesSelector:selector.
 
     ( #( 
@@ -6081,6 +6080,8 @@
     ].
     
     ^ false
+
+    "Modified: / 09-03-2017 / 10:58:50 / cg"
 !
 
 valueAndKindOfVariable:aVariableName
@@ -6206,13 +6207,18 @@
         ^ aNode value
     ].
     aNode isVariable ifTrue:[
+        aNode isSelf ifTrue:[
+            instanceOrNil notNil ifTrue:[
+                ^ instanceOrNil
+            ].    
+        ].    
         ^ self valueOfVariable:aNode name.
     ].
 
     aNode isMessage ifTrue:[
         nodeSelector := aNode selector.
         nodeReceiver := aNode receiver.
-                
+
         "/ some hardwired knowledge here
         classOrNil notNil ifTrue:[
             (nodeReceiver isSelf and:[nodeSelector = #'class']) ifTrue:[
@@ -6239,6 +6245,7 @@
     ^ nil
 
     "Created: / 28-08-2013 / 16:34:53 / cg"
+    "Modified: / 09-03-2017 / 10:58:42 / cg"
 !
 
 valueOfVariable:aVariableName