Fix compile problems in JavaScript class

This commit is contained in:
litetex 2025-03-05 15:44:46 +01:00
parent b376539062
commit 470a719861
No known key found for this signature in database
GPG Key ID: 525B43E6039B3689

View File

@ -10,31 +10,25 @@ public final class JavaScript {
}
public static void compileOrThrow(final String function) {
try {
final Context context = Context.enter();
context.setOptimizationLevel(-1);
try (Context context = Context.enter()) {
context.setInterpretedMode(true);
// If it doesn't compile it throws an exception here
context.compileString(function, null, 1, null);
} finally {
Context.exit();
}
}
public static String run(final String function,
final String functionName,
final String... parameters) {
try {
final Context context = Context.enter();
context.setOptimizationLevel(-1);
try (Context context = Context.enter()) {
context.setInterpretedMode(true);
final ScriptableObject scope = context.initSafeStandardObjects();
context.evaluateString(scope, function, functionName, 1, null);
final Function jsFunction = (Function) scope.get(functionName, scope);
final Object result = jsFunction.call(context, scope, scope, parameters);
return result.toString();
} finally {
Context.exit();
}
}