#FEATURE by cg
class: DoWhatIMeanSupport
comment/format in: #isNonDestructive:whenSentTo:
changed: #valueOfNode:
--- 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