Giter Club home page Giter Club logo

Comments (7)

iamstolis avatar iamstolis commented on June 20, 2024 1

Do you know date of next release that should have a fix?

There is no fix yet. So, there is no date of a release with a fix yet ;-).

And if I use org.graalvm.polyglot.Context instead GraalJSScriptEngine will I also have issue?

The mentioned context variable refers to ScriptContext used by the ScriptEngine. There is no ScriptContext/ScriptEngine when you use org.graalvm.polyglot.Context. So, there cannot be this context global variable.

I wonder if you really need/use this context variable and why. If you really need it then you can provide it on your own as a workaround (i.e. you can set the variable/binding yourself explicitly).

from graaljs.

iamstolis avatar iamstolis commented on June 20, 2024

neither in Nashorn and it didn't fail there.

ReferenceError is expected in this case and I see the same behavior in Nashorn. Namely, when I execute the following code

System.out.println(System.getProperty("java.version"));
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("nashorn");
System.out.println(engine);
CompiledScript script = ((Compilable) engine).compile("(function __f(arg) { return null; })(arg);");
script.eval();

I get

11.0.12
Warning: Nashorn engine is planned to be removed from a future JDK release
jdk.nashorn.api.scripting.NashornScriptEngine@52aa2946
Exception in thread "main" javax.script.ScriptException: ReferenceError: "arg" is not defined in <eval> at line number 1
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:477)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:461)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine$3.eval(NashornScriptEngine.java:517)
	at java.scripting/javax.script.CompiledScript.eval(CompiledScript.java:103)

from graaljs.

yevsh avatar yevsh commented on June 20, 2024

oops.
@iamstolis
Can you replace in your code 'arg' with "context" and repeat?

from graaljs.

iamstolis avatar iamstolis commented on June 20, 2024

Can you replace in your code 'arg' with "context" and repeat?

Yes, the usage of context throws in graaljs but does not throw in nashorn. Nashorn seems to provide a global context variable that points to the ScriptContext in use. We can provide the same variable in GraalJSScriptEngine in nashorn-compat mode.

from graaljs.

yevsh avatar yevsh commented on June 20, 2024

Do you know date of next release that should have a fix?

And if I use org.graalvm.polyglot.Context instead GraalJSScriptEngine will I also have issue?

from graaljs.

yevsh avatar yevsh commented on June 20, 2024

Thanks, for now will do the workaround manually.

from graaljs.

iamstolis avatar iamstolis commented on June 20, 2024

context (and engine) global variables has been added by 27063eb (when ScriptEngine is used).

from graaljs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.