Skip to content

Commit edaf4ef

Browse files
authored
Rework the Reflect.preventExtensions method (#3771)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi aszilagy@inf.u-szeged.hu
1 parent 843c542 commit edaf4ef

2 files changed

Lines changed: 11 additions & 6 deletions

File tree

jerry-core/ecma/builtin-objects/ecma-builtin-reflect.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,17 @@ ecma_builtin_reflect_dispatch_routine (uint16_t builtin_routine_id, /**< built-i
319319
{
320320
JERRY_ASSERT (builtin_routine_id == ECMA_REFLECT_OBJECT_PREVENT_EXTENSIONS);
321321
ecma_object_t *obj_p = ecma_get_object_from_value (arguments_list[0]);
322-
return ecma_builtin_object_object_prevent_extensions (obj_p);
322+
323+
#if ENABLED (JERRY_ES2015_BUILTIN_PROXY)
324+
if (ECMA_OBJECT_IS_PROXY (obj_p))
325+
{
326+
return ecma_proxy_object_prevent_extensions (obj_p);
327+
}
328+
#endif /* !ENABLED (JERRY_ES2015_BUILTIN_PROXY) */
329+
330+
ecma_op_ordinary_object_prevent_extensions (obj_p);
331+
332+
return ECMA_VALUE_TRUE;
323333
}
324334
}
325335
} /* ecma_builtin_reflect_dispatch_routine */

tests/test262-es6-excludelist.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,6 @@
166166
<test id="built-ins/Proxy/enumerate/trap-is-undefined.js"><reason></reason></test>
167167
<test id="built-ins/Proxy/getOwnPropertyDescriptor/trap-is-undefined.js"><reason></reason></test>
168168
<test id="built-ins/Proxy/name.js"><reason></reason></test>
169-
<test id="built-ins/Proxy/preventExtensions/return-false.js"><reason></reason></test>
170-
<test id="built-ins/Proxy/preventExtensions/return-true-target-is-not-extensible.js"><reason></reason></test>
171-
<test id="built-ins/Proxy/preventExtensions/trap-is-undefined.js"><reason></reason></test>
172169
<test id="built-ins/Reflect/apply/name.js"><reason></reason></test>
173170
<test id="built-ins/Reflect/construct/name.js"><reason></reason></test>
174171
<test id="built-ins/Reflect/defineProperty/name.js"><reason></reason></test>
@@ -185,9 +182,7 @@
185182
<test id="built-ins/Reflect/has/name.js"><reason></reason></test>
186183
<test id="built-ins/Reflect/isExtensible/name.js"><reason></reason></test>
187184
<test id="built-ins/Reflect/ownKeys/name.js"><reason></reason></test>
188-
<test id="built-ins/Reflect/preventExtensions/always-return-true-from-ordinary-object.js"><reason></reason></test>
189185
<test id="built-ins/Reflect/preventExtensions/name.js"><reason></reason></test>
190-
<test id="built-ins/Reflect/preventExtensions/return-boolean-from-proxy-object.js"><reason></reason></test>
191186
<test id="built-ins/Reflect/set/name.js"><reason></reason></test>
192187
<test id="built-ins/Reflect/setPrototypeOf/name.js"><reason></reason></test>
193188
<test id="built-ins/RegExp/prototype/exec/get-sticky-coerce.js"><reason></reason></test>

0 commit comments

Comments
 (0)