Boolean tests fixed jk_new_structure
authorkursjan
Fri, 30 Dec 2011 14:29:35 +0000
branchjk_new_structure
changeset 1327 93935c907516
parent 1326 9480cfef063e
child 1328 06e2e372ebb0
Boolean tests fixed
src/experiments/JavaLookup.st
src/experiments/ProxyMethodJavaMethodInvocationNode.st
--- a/src/experiments/JavaLookup.st	Fri Dec 30 12:42:21 2011 +0000
+++ b/src/experiments/JavaLookup.st	Fri Dec 30 14:29:35 2011 +0000
@@ -283,6 +283,9 @@
         m := self compileProxyWithSelector: selector in: receiver class calling: candidates.
         ilc notNil ifTrue:[ilc bindTo: m forClass: receiver class].
         "Install the proxy"
+
+"/        self halt.
+"/        JK: Skip for now
         Class withoutUpdatingChangesDo:[
             receiver class addSelector: selector withMethod: m.        
         ].
@@ -296,7 +299,7 @@
     "Modified: / 20-09-2011 / 00:03:48 / Jan Kurs <kursjan@fit.cvut.cz>"
     "Modified (format): / 25-09-2011 / 21:08:45 / Jan Kurs <kursjan@fit.cvut.cz>"
     "Created: / 19-11-2011 / 13:03:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 30-12-2011 / 10:46:14 / kursjan <kursjan@fit.cvut.cz>"
+    "Modified: / 30-12-2011 / 15:28:19 / kursjan <kursjan@fit.cvut.cz>"
 ! !
 
 !JavaLookup::Smalltalk2Java methodsFor:'lookup (old)'!
@@ -487,13 +490,17 @@
                 compile:body
                 arguments:methods anyOne descriptor numPhysicalArgs
                 selector: selector.
-    self 
-        addSelector:selector
-        withMethod:proxy
-        toClasS:class.
+    
+"/    self halt.
+"/    JK: do NOT install here, just compile and return the proxy. Let someone else to install
+"/    self 
+"/        addSelector:selector
+"/        withMethod:proxy
+"/        toClasS:class.
     ^ proxy
 
     "Created: / 16-12-2011 / 23:21:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 30-12-2011 / 14:44:11 / kursjan <kursjan@fit.cvut.cz>"
 ! !
 
 !JavaLookup::Smalltalk2Java methodsFor:'utilities (old)'!
--- a/src/experiments/ProxyMethodJavaMethodInvocationNode.st	Fri Dec 30 12:42:21 2011 +0000
+++ b/src/experiments/ProxyMethodJavaMethodInvocationNode.st	Fri Dec 30 14:29:35 2011 +0000
@@ -119,10 +119,14 @@
 
         invocation := super generate: compiler.
         "(descriptor return javaClass isJavaWrapperClass)"true ifTrue:[
+"/            invocation := MessageNode
+"/                receiver: invocation
+"/                selector: #javaUnwrap:
+"/                arg: (super generate: compiler).
             invocation := MessageNode
                 receiver: invocation
-                selector: #javaUnwrap:
-                arg: (super generate: compiler).
+                selector: #javaUnwrapFrom:
+                arg: (ConstantNode value: descriptor return javaClassName).
         ].
 
         ^invocation
@@ -154,6 +158,7 @@
     "
 
     "Created: / 22-12-2011 / 09:27:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 30-12-2011 / 15:20:08 / kursjan <kursjan@fit.cvut.cz>"
 ! !
 
 !ProxyMethodJavaMethodInvocationNode methodsFor:'testing'!