|
| 1 | +import 'package:jni/jni.dart'; |
| 2 | +import 'package:path/path.dart'; |
| 3 | +import 'package:graalvm_test/graal/org/graalvm/polyglot/_package.dart' as graal; |
| 4 | + |
| 5 | +void main(List<String> arguments) { |
| 6 | + Jni.spawn( |
| 7 | + dylibDir: join('build', 'jni_libs'), |
| 8 | + classPath: [ |
| 9 | + './mvn_jar/collections-24.2.2.jar', |
| 10 | + './mvn_jar/icu4j-24.2.2.jar', |
| 11 | + './mvn_jar/jniutils-24.2.2.jar', |
| 12 | + './mvn_jar/js-language-24.2.2.jar', |
| 13 | + './mvn_jar/nativebridge-24.2.2.jar', |
| 14 | + './mvn_jar/nativeimage-24.2.2.jar', |
| 15 | + './mvn_jar/polyglot-24.2.2.jar', |
| 16 | + './mvn_jar/regex-24.2.2.jar', |
| 17 | + './mvn_jar/truffle-api-24.2.2.jar', |
| 18 | + './mvn_jar/truffle-compiler-24.2.2.jar', |
| 19 | + './mvn_jar/truffle-enterprise-24.2.2.jar', |
| 20 | + './mvn_jar/truffle-runtime-24.2.2.jar', |
| 21 | + './mvn_jar/word-24.2.2.jar', |
| 22 | + './mvn_jar/xz-24.2.2.jar' |
| 23 | + ], |
| 24 | + ); |
| 25 | + |
| 26 | + var jsCode = "(function myFun(param){console.log('Hello ' + param + ' from JS');})"; |
| 27 | + |
| 28 | + var langs = JArray.of(JString.type, ["js".toJString()]); |
| 29 | + var context = graal.Context.create(langs); |
| 30 | + var value = context?.eval$1("js".toJString(), jsCode.toJString()); |
| 31 | + print(value); |
| 32 | + value?.execute(JArray.of(JString.type, ["World".toJString()])); |
| 33 | + return; |
| 34 | +} |
| 35 | + |
0 commit comments