From edaf4ef30f450405a5284611e0f400238dad7afd Mon Sep 17 00:00:00 2001 From: Szilagyi Adam Date: Mon, 25 May 2020 18:25:09 +0200 Subject: [PATCH] Rework the Reflect.preventExtensions method (#3771) JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi aszilagy@inf.u-szeged.hu --- .../ecma/builtin-objects/ecma-builtin-reflect.c | 12 +++++++++++- tests/test262-es6-excludelist.xml | 5 ----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-reflect.c b/jerry-core/ecma/builtin-objects/ecma-builtin-reflect.c index bd326259a..c083746ba 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-reflect.c +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-reflect.c @@ -319,7 +319,17 @@ ecma_builtin_reflect_dispatch_routine (uint16_t builtin_routine_id, /**< built-i { JERRY_ASSERT (builtin_routine_id == ECMA_REFLECT_OBJECT_PREVENT_EXTENSIONS); ecma_object_t *obj_p = ecma_get_object_from_value (arguments_list[0]); - return ecma_builtin_object_object_prevent_extensions (obj_p); + +#if ENABLED (JERRY_ES2015_BUILTIN_PROXY) + if (ECMA_OBJECT_IS_PROXY (obj_p)) + { + return ecma_proxy_object_prevent_extensions (obj_p); + } +#endif /* !ENABLED (JERRY_ES2015_BUILTIN_PROXY) */ + + ecma_op_ordinary_object_prevent_extensions (obj_p); + + return ECMA_VALUE_TRUE; } } } /* ecma_builtin_reflect_dispatch_routine */ diff --git a/tests/test262-es6-excludelist.xml b/tests/test262-es6-excludelist.xml index 46022338e..0ab5852ca 100644 --- a/tests/test262-es6-excludelist.xml +++ b/tests/test262-es6-excludelist.xml @@ -166,9 +166,6 @@ - - - @@ -185,9 +182,7 @@ - -