-
Bug
-
Resolution: Fixed
-
P3
-
9, 10
-
None
-
b07
-
generic
-
generic
Reported via nashorn-dev alias by Jesse Schulman:
http://mail.openjdk.java.net/pipermail/nashorn-dev/2018-March/007349.html
File: LetReproducer.java
import jdk.nashorn.api.scripting.NashornScriptEngine;
import jdk.nashorn.api.scripting.NashornScriptEngineFactory;
import jdk.nashorn.api.scripting.ScriptObjectMirror;
public class LetReproducer {
public static void main(String[] args) {
NashornScriptEngineFactory factory = new
NashornScriptEngineFactory();
NashornScriptEngine engine = (NashornScriptEngine)
factory.getScriptEngine(new String[]{"--no-java", "-strict",
"--language=es6"});
ScriptObjectMirror bindings = (ScriptObjectMirror)
engine.createBindings();
for (int i = 0; i < 17; i++) {
try {
bindings.eval("let foo = '';\n");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
Stack trace as follows:
<eval>:1 ReferenceError: "foo" is not defined
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:319)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:291)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:278)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.AccessorProperty.checkUndeclared(AccessorProperty.java:571)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.AccessorProperty.getSetter(AccessorProperty.java:609)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.AccessorProperty.invokeSetter(AccessorProperty.java:460)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.AccessorProperty.setValue(AccessorProperty.java:483)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.FindProperty.setValue(FindProperty.java:260)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptObject.setObject(ScriptObject.java:3097)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptObject.set(ScriptObject.java:3176)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$1$\^eval\_/884452399.:program(<eval>:1)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.eval(Context.java:861)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.eval(Context.java:796)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.ScriptObjectMirror$2.call(ScriptObjectMirror.java:174)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.ScriptObjectMirror.inGlobal(ScriptObjectMirror.java:857)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.ScriptObjectMirror.eval(ScriptObjectMirror.java:164)
at LetReproducer.main(LetReproducer.java:18)
http://mail.openjdk.java.net/pipermail/nashorn-dev/2018-March/007349.html
File: LetReproducer.java
import jdk.nashorn.api.scripting.NashornScriptEngine;
import jdk.nashorn.api.scripting.NashornScriptEngineFactory;
import jdk.nashorn.api.scripting.ScriptObjectMirror;
public class LetReproducer {
public static void main(String[] args) {
NashornScriptEngineFactory factory = new
NashornScriptEngineFactory();
NashornScriptEngine engine = (NashornScriptEngine)
factory.getScriptEngine(new String[]{"--no-java", "-strict",
"--language=es6"});
ScriptObjectMirror bindings = (ScriptObjectMirror)
engine.createBindings();
for (int i = 0; i < 17; i++) {
try {
bindings.eval("let foo = '';\n");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
Stack trace as follows:
<eval>:1 ReferenceError: "foo" is not defined
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:319)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:291)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:278)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.AccessorProperty.checkUndeclared(AccessorProperty.java:571)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.AccessorProperty.getSetter(AccessorProperty.java:609)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.AccessorProperty.invokeSetter(AccessorProperty.java:460)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.AccessorProperty.setValue(AccessorProperty.java:483)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.FindProperty.setValue(FindProperty.java:260)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptObject.setObject(ScriptObject.java:3097)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptObject.set(ScriptObject.java:3176)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$1$\^eval\_/884452399.:program(<eval>:1)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.eval(Context.java:861)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.eval(Context.java:796)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.ScriptObjectMirror$2.call(ScriptObjectMirror.java:174)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.ScriptObjectMirror.inGlobal(ScriptObjectMirror.java:857)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.ScriptObjectMirror.eval(ScriptObjectMirror.java:164)
at LetReproducer.main(LetReproducer.java:18)