{"ScriptPreparationCode":"var c = Symbol === undefined\r\n? (function() {\r\n var x = function() {\r\n this._x = new WeakMap();\r\n }\r\n x.prototype.get = function(x) { return this._x.get(x); };\r\n x.prototype.set = function(x,y) { this._x.set(x,y); };\r\n return x;\r\n})()\r\n: (function() {\r\n var x = function() {\r\n this._x = Symbol();\r\n }\r\n x.prototype.get = function(x) { return x[this._x]; };\r\n x.prototype.set = function(x,y) { x[this._x] = y; };\r\n return x;\r\n})();\r\n\r\nvar to0 = {};\r\nvar to1 = {};\r\nvar wm = new WeakMap();\r\nvar fwm = new c();\r\nwm.set(to1, 1);\r\nfwm.set(to1, 1);\r\n","TestCases":[{"Name":"WeakMap get","Code":"let r = wm.get(to1);","IsDeferred":false},{"Name":"Symbol with WeakMap fallback get","Code":"let r = fwm.get(to1);","IsDeferred":false},{"Name":"WeakMap set","Code":"wm.set(to0, 1);","IsDeferred":false},{"Name":"Symbol with WeakMap fallback set","Code":"fwm.set(to0, 1);","IsDeferred":false},{"Name":"has","Code":"let r = wm.has(to1);","IsDeferred":false}]}