Correctly handle the Proxy IsCallable and IsConstructor information (#4264)

The `IsCallable(target)` and `IsConstructor(target)` info
can't be stored in the target/handler values.
If the input for the ProxyCreate was a revocable Proxy the original target's
callable/constructor information must be retained even after the
Proxy was revoked.

JerryScript-DCO-1.0-Signed-off-by: Peter Gal pgal.usz@partner.samsung.com
This commit is contained in:
Péter Gál
2020-11-17 10:38:25 +01:00
committed by GitHub
parent 7262b98021
commit 5d916fb8d4
6 changed files with 99 additions and 8 deletions
-3
View File
@@ -109,9 +109,7 @@
<test id="built-ins/Promise/race/invoke-resolve-get-error.js"><reason>Test expects incorrect call order</reason></test>
<test id="built-ins/Promise/race/resolve-element-function-name.js"><reason></reason></test>
<test id="built-ins/Promise/race/resolve-non-callable.js"><reason>Test expects incorrect call order</reason></test>
<test id="built-ins/Proxy/create-target-is-revoked-function-proxy.js"><reason></reason></test>
<test id="built-ins/Proxy/preventExtensions/trap-is-undefined-target-is-proxy.js"><reason></reason></test>
<test id="built-ins/Proxy/revocable/target-is-revoked-function-proxy.js"><reason></reason></test>
<test id="built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.matchAll/isregexp-called-once.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.matchAll/isregexp-this-throws.js"><reason></reason></test>
@@ -544,7 +542,6 @@
<test id="language/expressions/super/prop-expr-obj-ref-non-strict.js"><reason></reason></test>
<test id="language/expressions/super/prop-expr-obj-ref-strict.js"><reason></reason></test>
<test id="language/expressions/tagged-template/invalid-escape-sequences.js"><reason></reason></test>
<test id="language/expressions/typeof/proxy.js"><reason></reason></test>
<test id="language/expressions/yield/star-return-is-null.js"><reason></reason></test>
<test id="language/expressions/yield/star-throw-is-null.js"><reason></reason></test>
<test id="language/global-code/decl-lex-configurable-global.js"><reason></reason></test>