Fix in SmalltalkInferencer for known globals.
--- 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'!