archives

« Bugzilla Issues Index

#2677 — 19.2.1.1 Function, 25.2.1.1 GeneratorFunction: Invalid assertion in step 18/17


19.2.1.1 Function ( p1, p2, … , pn, body ), step 18
25.2.1.1 GeneratorFunction (p1, p2, … , pn, body), step 17

The assertion in step 18/17 is not valid.


js> f = Function[Symbol.create]()
function F() { /* source not available */ }
js> Object.preventExtensions(f)
function F() { /* source not available */ }
js> Function.call(f, "")
java.lang.AssertionError
at com.github.anba.es6draft.runtime.objects.FunctionConstructor.call(FunctionConstructor.java:127)
at com.github.anba.es6draft.runtime.objects.FunctionConstructor.call(FunctionConstructor.java:1)
at com.github.anba.es6draft.runtime.types.builtins.BuiltinFunction.tailCall(BuiltinFunction.java:150)
at com.github.anba.es6draft.runtime.internal.TailCallInvocation.apply(TailCallInvocation.java:57)
at com.github.anba.es6draft.runtime.internal.TailCallInvocation.tailCallTrampoline(TailCallInvocation.java:107)
at com.github.anba.es6draft.runtime.types.builtins.NativeTailCallFunction.call(NativeTailCallFunction.java:64)
...


js> g = (function*(){}).constructor[Symbol.create]()
function F() { /* source not available */ }
js> Object.preventExtensions(g)
function F() { /* source not available */ }
js> (function*(){}).constructor.call(g, "")
java.lang.AssertionError
...


fixed in rev24 editor's draft


fixed in rev24