From 9540aa67c8d5e10515fbd19fa1da66a793355132 Mon Sep 17 00:00:00 2001 From: Tom Schuster Date: Thu, 11 Feb 2016 22:23:13 +0100 Subject: [PATCH] Bug 1246318 - Remove the still disabled Reflect.enumerate code. r=efaust --- js/src/builtin/Reflect.cpp | 28 ------------------------- js/src/jsiter.cpp | 1 - js/src/tests/ecma_6/Reflect/surfaces.js | 1 - js/src/tests/ecma_6/Reflect/target.js | 1 - 4 files changed, 31 deletions(-) diff --git a/js/src/builtin/Reflect.cpp b/js/src/builtin/Reflect.cpp index 6e92743aa26..5a00e63f6af 100644 --- a/js/src/builtin/Reflect.cpp +++ b/js/src/builtin/Reflect.cpp @@ -177,33 +177,6 @@ Reflect_deleteProperty(JSContext* cx, unsigned argc, Value* vp) return true; } -#if 0 -/* - * ES6 26.1.5 Reflect.enumerate(target) - * - * TODO: - * - redefine enumeration in terms of iterators without losing performance - * - support iterators in Proxies - */ -static bool -Reflect_enumerate(JSContext* cx, unsigned argc, Value* vp) -{ - CallArgs args = CallArgsFromVp(argc, vp); - - // Step 1. - RootedObject obj(cx, NonNullObject(cx, args.get(0))); - if (!obj) - return false; - - // Step 2. - RootedObject iterator(cx); - if (!Enumerate(cx, obj, &iterator)) - return false; - args.rval().setObject(*iterator); - return true; -} -#endif - /* ES6 26.1.6 Reflect.get(target, propertyKey [, receiver]) */ static bool Reflect_get(JSContext* cx, unsigned argc, Value* vp) @@ -380,7 +353,6 @@ static const JSFunctionSpec methods[] = { JS_FN("construct", Reflect_construct, 2, 0), JS_FN("defineProperty", Reflect_defineProperty, 3, 0), JS_FN("deleteProperty", Reflect_deleteProperty, 2, 0), - // JS_FN("enumerate", Reflect_enumerate, 1, 0), JS_FN("get", Reflect_get, 2, 0), JS_FN("getOwnPropertyDescriptor", Reflect_getOwnPropertyDescriptor, 2, 0), JS_FN("getPrototypeOf", Reflect_getPrototypeOf, 1, 0), diff --git a/js/src/jsiter.cpp b/js/src/jsiter.cpp index 8826c35e95c..bc261868b7e 100644 --- a/js/src/jsiter.cpp +++ b/js/src/jsiter.cpp @@ -804,7 +804,6 @@ js::GetIterator(JSContext* cx, HandleObject obj, unsigned flags, MutableHandleOb // We should only call the enumerate trap for "for-in". // Or when we call GetIterator from the Proxy [[Enumerate]] hook. - // In the future also for Reflect.enumerate. // JSITER_ENUMERATE is just an optimization and the same // as flags == 0 otherwise. if (flags == 0 || flags == JSITER_ENUMERATE) { diff --git a/js/src/tests/ecma_6/Reflect/surfaces.js b/js/src/tests/ecma_6/Reflect/surfaces.js index 5152b9b5f46..d8486363a29 100644 --- a/js/src/tests/ecma_6/Reflect/surfaces.js +++ b/js/src/tests/ecma_6/Reflect/surfaces.js @@ -21,7 +21,6 @@ var methods = { construct: 2, defineProperty: 3, deleteProperty: 2, - //enumerate: 1, get: 2, getOwnPropertyDescriptor: 2, getPrototypeOf: 1, diff --git a/js/src/tests/ecma_6/Reflect/target.js b/js/src/tests/ecma_6/Reflect/target.js index a1d7cb11411..8d18ce99ace 100644 --- a/js/src/tests/ecma_6/Reflect/target.js +++ b/js/src/tests/ecma_6/Reflect/target.js @@ -10,7 +10,6 @@ var methodInfo = { construct: [[]], defineProperty: ["x", {}], deleteProperty: ["x"], - //enumerate: [], get: ["x", {}], getOwnPropertyDescriptor: ["x"], getPrototypeOf: [],