{"ScriptPreparationCode":"a = 0\r\n\r\ndata1 = {};\r\ndata2 = {};\r\ndata3 = {};\r\n\r\nhandler1 = {\r\n get: (target, prop) =\u003E (target[prop]),\r\n set: (target, prop, value) =\u003E (target[prop] = value),\r\n};\r\n\r\nproxy1 = new Proxy(data1, handler1);\r\n\r\n\r\nhandler2 = {\r\n get: (target, prop) =\u003E (target[prop]),\r\n set: (target, prop, value) =\u003E (null),\r\n};\r\n\r\nproxy2 = new Proxy(data2, handler2);\r\n\r\nhandler3 = {\r\n get: (target, prop) =\u003E (target[prop]),\r\n set: (target, prop, value) =\u003E (console.error(\u0022IMMUTABLE!!!\u0022)),\r\n};\r\n\r\nproxy3 = new Proxy(data3, handler3);\r\n\r\ndata4 = {\r\n get test() {\r\n return this._test;\r\n },\r\n set test(value) {\r\n return this._test = value;\r\n }\r\n};\r\n","TestCases":[{"Name":"getter / setter","Code":"data4.test = Math.random();\r\na \u002B= data4.test;","IsDeferred":false},{"Name":"proxy getter/setter optimized?","Code":"proxy1.test = Math.random();\r\na \u002B= proxy1.test;","IsDeferred":false},{"Name":"proxy immutable","Code":"proxy2.test = Math.random();\r\na \u002B= proxy2.test;","IsDeferred":false},{"Name":"proxy immutable logging","Code":"proxy3.test = Math.random();\r\na \u002B= proxy3.test;","IsDeferred":false}]}