GroovyEvaluator.st
changeset 3123 81791eb890eb
parent 3080 4fbf1e915fdd
child 3208 5517d6a75d40
--- a/GroovyEvaluator.st	Thu Jun 12 16:07:43 2014 +0100
+++ b/GroovyEvaluator.st	Fri Jun 13 08:43:55 2014 +0100
@@ -135,7 +135,7 @@
     requestor := requestorObj.
     source := sourceObj.
     bindings := Dictionary new.
-    isForWorkspace := requestor notNil and: [ requestor application isKindOf: WorkspaceApplication ].
+    isForWorkspace := requestor notNil and: [ requestor isKindOf: Workspace ].
 
     groovyShellClass := JAVA stx libjava groovy GroovyShell.
     groovyShellClass isNil ifTrue:[
@@ -146,7 +146,7 @@
     groovyBindingClass := JavaVM classForName: 'groovy.lang.Binding'.
 
     (isForWorkspace or:[groovyBindingClass isNil]) ifTrue: [
-        WorkspaceShell isNil ifTrue: [
+        "WorkspaceShell isNil"true ifTrue: [
             WorkspaceShell := groovyShellClass new.
         ].
         shell:= WorkspaceShell.
@@ -209,7 +209,7 @@
     ^result class javaUnwrap: result.
 
     "Created: / 17-08-2011 / 08:54:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 19-02-2014 / 09:52:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 13-06-2014 / 08:23:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 evaluate:src notifying: requestorObj
@@ -239,10 +239,11 @@
     [
         context := shell getContext.
         bindings keysAndValuesDo:[:name :pair | 
-            | value |
+            | value jvalue |
 
             value := pair first value.
-            context setVariable: name to: (value class javaWrap: value).
+            jvalue := value class isJavaPrimitiveType ifTrue:[ value class javaWrapperClass javaWrap: value ] ifFalse:[ value ].
+            context setVariable: name to: jvalue.
         ].
         [
             result := shell 
@@ -264,6 +265,7 @@
     ^ result class javaUnwrap: result.
 
     "Created: / 19-02-2014 / 09:13:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 13-06-2014 / 08:38:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !GroovyEvaluator methodsFor:'error reporting'!