public void callJavaScriptFunctionFromJava() { Source src = Source.newBuilder("js", "(function (a, b) {\n" + " return a * b;\n" + "})\n", "mul.js").buildLiteral(); // Evaluate JavaScript function definition Value jsFunction = context.eval(src); // Create Java access to JavaScript function Multiplier mul = jsFunction.as(Multiplier.class); assertEquals(42, mul.multiply(6, 7)); assertEquals(144, mul.multiply(12, 12)); assertEquals(256, mul.multiply(32, 8)); } // END: com.oracle.truffle.tck.impl.PolyglotEngineWithJavaScript#callJavaScriptFunctionFromJava
public void callJavaScriptFunctionFromJava() { Source src = Source.newBuilder("js", "(function (a, b) {\n" + " return a * b;\n" + "})\n", "mul.js").buildLiteral(); // Evaluate JavaScript function definition Value jsFunction = context.eval(src); // Create Java access to JavaScript function Multiplier mul = jsFunction.as(Multiplier.class); assertEquals(42, mul.multiply(6, 7)); assertEquals(144, mul.multiply(12, 12)); assertEquals(256, mul.multiply(32, 8)); } // END: com.oracle.truffle.tck.impl.PolyglotEngineWithJavaScript#callJavaScriptFunctionFromJava