Fix in SmalltalkInferencer for known globals.
authorJan Vrany <jan.vrany@fit.cvut.cz>
Tue, 08 Oct 2013 11:11:14 +0100
changeset 128 a98866596a98
parent 127 98c615301608
child 129 71e5c8bb9dc0
Fix in SmalltalkInferencer for known globals.
SmallSense__SmalltalkCompletionEngine.st
SmallSense__SmalltalkInferencer.st
--- a/SmallSense__SmalltalkCompletionEngine.st	Mon Oct 07 19:21:53 2013 +0100
+++ b/SmallSense__SmalltalkCompletionEngine.st	Tue Oct 08 11:11:14 2013 +0100
@@ -164,7 +164,7 @@
 
     classes := type classes.
     classes size == 1 ifTrue:[
-        classes anElement == JavaPackage ifTrue:[  
+        classes anElement == JavaPackage class ifTrue:[  
             "/ Special hack for JAVA: for pattern `JAVA java lang reflect`
             "/ complete all Java classes in that package
             | node |
@@ -216,7 +216,7 @@
         ].
 
     "Created: / 26-11-2011 / 17:03:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 04-10-2013 / 14:05:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 08-10-2013 / 11:05:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 addPools
--- a/SmallSense__SmalltalkInferencer.st	Mon Oct 07 19:21:53 2013 +0100
+++ b/SmallSense__SmalltalkInferencer.st	Tue Oct 08 11:11:14 2013 +0100
@@ -456,7 +456,7 @@
     classes size == 1 ifTrue:[
         "/ Special hack for Java, when code is like
         "/ `JAVA java lang reflect` 
-        classes anElement == JavaPackage ifTrue:[
+        classes anElement == JavaPackage class ifTrue:[
             (JAVA notNil and:[anObject selector first isUppercase]) ifTrue:[
                 | jclass |
 
@@ -468,57 +468,19 @@
                     jclass notNil ifTrue:[
                         anObject inferedType: (Type withClass: jclass class).
                     ] ifFalse:[
-                        anObject inferedType: (Type withClass: JavaClass).
+                        anObject inferedType: (Type withClass: JavaClass class).
                     ].
                 ] on: Error do:[
                     "/ ignore...
                 ]
             ] ifFalse:[
-                anObject inferedType: (Type withClass: JavaPackage).
+                anObject inferedType: (Type withClass: JavaPackage class).
             ].
         ].
     ].
 
     "Created: / 27-11-2011 / 15:49:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 05-10-2013 / 00:18:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitVariableNode:anObject
-
-    | t |
-
-    "Following code ensures, that all variable nodes refering same
-     variable shares the inferred type"
-    t := types at: anObject name ifAbsentPut:[Type unknown].
-    anObject inferedType: t.
-
-    anObject isGlobalVariable ifTrue:[
-        | class |
-
-        class := Smalltalk at: anObject name asSymbol.
-        "/ Special hack for JAVA - its actually a JavaPackage...
-        class isBehavior ifFalse:[
-            "/ Actually a global variable...
-            class := class class.
-        ].
-
-        class == JAVA ifTrue:[
-            class := JavaPackage
-        ].
-        class notNil ifTrue:[
-            t addClass:  class.
-            t trustfullness: 100.
-        ].
-        ^self.
-    ].
-    anObject isClassVariable ifTrue:[
-        t addClass: (class theNonMetaclass classVarAt: anObject name asSymbol) class.
-        t trustfullness: 100.
-        ^self.
-    ].
-
-    "Created: / 26-11-2011 / 13:31:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 07-10-2013 / 12:29:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 08-10-2013 / 11:07:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !SmalltalkInferencer::Phase2 methodsFor:'processing'!