From: dslomov Date: Wed, 19 Nov 2014 21:52:49 +0000 (-0800) Subject: Remove Weak{Map,Set}.prototype.clear. X-Git-Tag: upstream/4.7.83~5611 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=69990745f7cacc27cd550164f632dcd69b93a949;p=platform%2Fupstream%2Fv8.git 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} --- diff --git a/src/weak-collection.js b/src/weak-collection.js index 273060a..a44c3d7 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 60ce46b..92cd087 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);