Function.prototype[@@hasInstance] should not throw error for not callable this value (#3773)
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik frobert@inf.u-szeged.hu
This commit is contained in:
@@ -392,6 +392,13 @@ ecma_builtin_function_prototype_dispatch_routine (uint16_t builtin_routine_id, /
|
|||||||
{
|
{
|
||||||
if (!ecma_op_is_callable (this_arg))
|
if (!ecma_op_is_callable (this_arg))
|
||||||
{
|
{
|
||||||
|
#if ENABLED (JERRY_ES2015)
|
||||||
|
if (JERRY_UNLIKELY (builtin_routine_id == ECMA_FUNCTION_PROTOTYPE_SYMBOL_HAS_INSTANCE))
|
||||||
|
{
|
||||||
|
return ECMA_VALUE_FALSE;
|
||||||
|
}
|
||||||
|
#endif /* ENABLED (JERRY_ES2015) */
|
||||||
|
|
||||||
return ecma_raise_type_error (ECMA_ERR_MSG ("Argument 'this' is not a function."));
|
return ecma_raise_type_error (ECMA_ERR_MSG ("Argument 'this' is not a function."));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -68,7 +68,6 @@
|
|||||||
<test id="built-ins/Function/prototype/bind/instance-name-non-string.js"><reason></reason></test>
|
<test id="built-ins/Function/prototype/bind/instance-name-non-string.js"><reason></reason></test>
|
||||||
<test id="built-ins/Function/prototype/name.js"><reason></reason></test>
|
<test id="built-ins/Function/prototype/name.js"><reason></reason></test>
|
||||||
<test id="built-ins/Function/prototype/Symbol.hasInstance/name.js"><reason></reason></test>
|
<test id="built-ins/Function/prototype/Symbol.hasInstance/name.js"><reason></reason></test>
|
||||||
<test id="built-ins/Function/prototype/Symbol.hasInstance/this-val-not-callable.js"><reason></reason></test>
|
|
||||||
<test id="built-ins/Function/prototype/Symbol.hasInstance/this-val-poisoned-prototype.js"><reason></reason></test>
|
<test id="built-ins/Function/prototype/Symbol.hasInstance/this-val-poisoned-prototype.js"><reason></reason></test>
|
||||||
<test id="built-ins/Function/StrictFunction_restricted-properties.js"><reason></reason></test>
|
<test id="built-ins/Function/StrictFunction_restricted-properties.js"><reason></reason></test>
|
||||||
<test id="built-ins/GeneratorFunction/instance-name.js"><reason></reason></test>
|
<test id="built-ins/GeneratorFunction/instance-name.js"><reason></reason></test>
|
||||||
|
|||||||
Reference in New Issue
Block a user