DoWhatIMeanSupport.st
changeset 5098 58d61dee21aa
parent 5095 71e2684154a4
child 5099 2a1aa621a5e7
--- a/DoWhatIMeanSupport.st	Wed May 11 01:32:55 2016 +0200
+++ b/DoWhatIMeanSupport.st	Wed May 11 10:17:45 2016 +0200
@@ -4718,11 +4718,6 @@
         setOfTypes add:Block. 
         ^ setOfTypes.
     ].
-    (exprVal := self valueOfNode:expr) notNil ifTrue:[
-        "/ knowing the value is always great!!
-        setOfTypes add:exprVal class.
-        ^ setOfTypes.
-    ].
 
     expr isVariable ifTrue:[
         varName := expr name.
@@ -4771,6 +4766,12 @@
         ^ setOfTypes
     ].
 
+    (exprVal := self valueOfNode:expr) notNil ifTrue:[
+        "/ knowing the value is always great!!
+        setOfTypes add:exprVal class.
+        ^ setOfTypes.
+    ].
+
     expr isMessage ifTrue:[
         self addClassesOfMessage:expr inClass:classOrNil to:setOfTypes.
         ^ setOfTypes
@@ -5142,13 +5143,13 @@
     ].
 
     aVariableName = 'self' ifTrue:[
-        (classOrNil notNil and:[classOrNil isMeta]) ifTrue:[
-            ^ { classOrNil "theNonMetaclass" . #pseudoVar }
-            "/ ^ { classOrNil . #pseudoVar }
-        ].
         contextOrNil notNil ifTrue:[
             ^ { contextOrNil receiver . #pseudoVar } 
         ].
+        (classOrNil notNil and:[classOrNil isMeta]) ifTrue:[
+            "/ ^ { classOrNil . #pseudoVar }
+            ^ { classOrNil theNonMetaclass . #pseudoVar }
+        ].
         ^ nil
     ].