public Object eval()

in src/main/java/org/apache/bsf/engines/javascript/JavaScriptEngine.java [120:152]


    public Object eval(final String source, final int lineNo, final int columnNo, final Object oscript)
        throws BSFException {

        final String scriptText = oscript.toString();
        Object retval = null;
        Context cx;

        try {
            cx = Context.enter();

            cx.setOptimizationLevel(-1);
            cx.setGeneratingDebug(false);
            cx.setGeneratingSource(false);
            cx.setOptimizationLevel(0);
            cx.setDebugger(null, null);

            retval = cx.evaluateString(global, scriptText,
                                       source, lineNo,
                                       null);

            if (retval instanceof NativeJavaObject) {
                retval = ((NativeJavaObject) retval).unwrap();
            }

        }
        catch (final Throwable t) { // includes JavaScriptException, rethrows Errors
            handleError(t);
        }
        finally {
            Context.exit();
        }
        return retval;
    }