From 69990745f7cacc27cd550164f632dcd69b93a949 Mon Sep 17 00:00:00 2001 From: dslomov Date: Wed, 19 Nov 2014 13:52:49 -0800 Subject: [PATCH] Remove Weak{Map,Set}.prototype.clear. Per Nov 2014 TC39 decision. R=adamk@chromium.org LOG=Y Review URL: https://codereview.chromium.org/739303002 Cr-Commit-Position: refs/heads/master@{#25429} --- src/weak-collection.js | 26 ++------------------------ test/mjsunit/es6/collections.js | 26 -------------------------- 2 files changed, 2 insertions(+), 50 deletions(-) diff --git a/src/weak-collection.js b/src/weak-collection.js index 273060adff..a44c3d7cd7 100644 --- a/src/weak-collection.js +++ b/src/weak-collection.js @@ -96,16 +96,6 @@ function WeakMapDelete(key) { } -function WeakMapClear() { - if (!IS_WEAKMAP(this)) { - throw MakeTypeError('incompatible_method_receiver', - ['WeakMap.prototype.clear', this]); - } - // Replace the internal table with a new empty table. - %WeakCollectionInitialize(this); -} - - // ------------------------------------------------------------------- function SetUpWeakMap() { @@ -122,8 +112,7 @@ function SetUpWeakMap() { "get", WeakMapGet, "set", WeakMapSet, "has", WeakMapHas, - "delete", WeakMapDelete, - "clear", WeakMapClear + "delete", WeakMapDelete )); } @@ -198,16 +187,6 @@ function WeakSetDelete(value) { } -function WeakSetClear() { - if (!IS_WEAKSET(this)) { - throw MakeTypeError('incompatible_method_receiver', - ['WeakSet.prototype.clear', this]); - } - // Replace the internal table with a new empty table. - %WeakCollectionInitialize(this); -} - - // ------------------------------------------------------------------- function SetUpWeakSet() { @@ -223,8 +202,7 @@ function SetUpWeakSet() { InstallFunctions($WeakSet.prototype, DONT_ENUM, $Array( "add", WeakSetAdd, "has", WeakSetHas, - "delete", WeakSetDelete, - "clear", WeakSetClear + "delete", WeakSetDelete )); } diff --git a/test/mjsunit/es6/collections.js b/test/mjsunit/es6/collections.js index 60ce46b2e5..92cd087839 100644 --- a/test/mjsunit/es6/collections.js +++ b/test/mjsunit/es6/collections.js @@ -266,7 +266,6 @@ assertTrue(WeakMap.prototype.set instanceof Function) assertTrue(WeakMap.prototype.get instanceof Function) assertTrue(WeakMap.prototype.has instanceof Function) assertTrue(WeakMap.prototype.delete instanceof Function) -assertTrue(WeakMap.prototype.clear instanceof Function) // Test some common JavaScript idioms for WeakSets @@ -275,7 +274,6 @@ assertTrue(s instanceof WeakSet); assertTrue(WeakSet.prototype.add instanceof Function) assertTrue(WeakSet.prototype.has instanceof Function) assertTrue(WeakSet.prototype.delete instanceof Function) -assertTrue(WeakSet.prototype.clear instanceof Function) // Test class of instance and prototype. @@ -471,30 +469,6 @@ for (var i = 9; i >= 0; i--) { })(); -// Test WeakMap clear -(function() { - var k = new Object(); - var w = new WeakMap(); - w.set(k, 23); - assertTrue(w.has(k)); - assertEquals(23, w.get(k)); - w.clear(); - assertFalse(w.has(k)); - assertEquals(undefined, w.get(k)); -})(); - - -// Test WeakSet clear -(function() { - var k = new Object(); - var w = new WeakSet(); - w.add(k); - assertTrue(w.has(k)); - w.clear(); - assertFalse(w.has(k)); -})(); - - (function TestMinusZeroSet() { var s = new Set(); s.add(-0);