class: SmallSense::SmalltalkInferencer cvs_MAIN
authorClaus Gittinger <cg@exept.de>
Mon, 23 Mar 2015 18:01:20 +0100
branchcvs_MAIN
changeset 441 b5636a31bb11
parent 440 79dbd5429c66
child 443 3511d16582e6
class: SmallSense::SmalltalkInferencer removed prerequisite dependency on libjava
SmallSense__SmalltalkInferencer.st
--- a/SmallSense__SmalltalkInferencer.st	Mon Mar 23 18:01:07 2015 +0100
+++ b/SmallSense__SmalltalkInferencer.st	Mon Mar 23 18:01:20 2015 +0100
@@ -635,7 +635,7 @@
 
 visitUnaryNode:anObject
 
-    | type sel rec classes |
+    | type sel rec classes javaClass javaNamespace javaVM|
 
     super visitUnaryNode:anObject.
 
@@ -666,21 +666,25 @@
     rec := anObject receiver.
     classes := rec inferedType classes.
     classes size == 1 ifTrue:[
+        javaClass := Smalltalk at:#JavaClass.
+        javaNamespace := Smalltalk at:#JAVA.
+        javaVM := Smalltalk at:#JavaVM.
+
         "/ Special hack for Java, when code is like
         "/ `JAVA java lang reflect`
         classes anElement == JavaPackage class ifTrue:[
-            (JAVA notNil and:[anObject selector first isUppercase]) ifTrue:[
+            (javaNamespace notNil and:[anObject selector first isUppercase]) ifTrue:[
                 | jclass |
 
                 "/ fetch an accessor...
                 [
                     jclass := anObject evaluate.
                     "/ fetch the class...
-                    jclass := JavaVM classNamed: jclass fullName definedBy: JavaVM systemClassLoader.
+                    jclass := javaVM classNamed: jclass fullName definedBy: javaVM systemClassLoader.
                     jclass notNil ifTrue:[
                         anObject inferedType: (Type withClass: jclass class).
                     ] ifFalse:[
-                        anObject inferedType: (Type withClass: JavaClass class).
+                        anObject inferedType: (Type withClass: javaClass class).
                     ].
                 ] on: Error do:[
                     "/ ignore...
@@ -717,12 +721,20 @@
 
 !SmalltalkInferencer class methodsFor:'documentation'!
 
+version
+    ^ '$Header: /cvs/stx/stx/goodies/smallsense/SmallSense__SmalltalkInferencer.st,v 1.2 2015-03-23 17:01:20 cg Exp $'
+!
+
+version_CVS
+    ^ '$Path: stx/goodies/smallsense/SmallSense__SmalltalkInferencer.st, Version: 1.0, User: cg, Time: 2015-03-23T18:02:05.928+01$'
+!
+
 version_HG
 
     ^ '$Changeset: <not expanded> $'
 !
 
 version_SVN
-    ^ '$Id$'
+    ^ '$Id: SmallSense__SmalltalkInferencer.st,v 1.2 2015-03-23 17:01:20 cg Exp $'
 ! !