Propagate strict mode for Proxy targets during delete (#4273)

After ES5.1 if the delete returns false a TypeError should be thrown
in strict mode.

JerryScript-DCO-1.0-Signed-off-by: Peter Gal pgal.usz@partner.samsung.com
This commit is contained in:
Péter Gál
2020-10-08 10:00:47 +02:00
committed by GitHub
parent c905c21abb
commit 4df833e7ad
5 changed files with 16 additions and 10 deletions
+7
View File
@@ -278,6 +278,13 @@ vm_op_delete_prop (ecma_value_t object, /**< base object */
ecma_deref_object (obj_p);
ecma_deref_ecma_string (name_string_p);
#if ENABLED (JERRY_ESNEXT)
if (is_strict && ecma_is_value_false (delete_op_ret))
{
return ecma_raise_type_error (ECMA_ERR_MSG ("delete returned false in strict mode."));
}
#endif /* ENABLED (JERRY_ESNEXT) */
return delete_op_ret;
} /* vm_op_delete_prop */