{"ScriptPreparationCode":"const foo = 5\r\n\r\n\r\nconst data = {\r\n property: foo\r\n};\r\n\r\n\r\n\r\ncindt method = {\r\n getProperty: function() {\r\n return foo;\r\n },\r\n\r\n setProperty: function(value) {\r\n property = value;\r\n }\r\n};\r\n\r\nconst objectLiteralAccessor = {\r\n get property() {\r\n return foo;\r\n },\r\n set property(value) {\r\n property = value;\r\n }\r\n};\r\n\r\nfunction Class() {\r\n}\r\n\r\nClass.prototype = {\r\n get property() {\r\n return foo;\r\n },\r\n set property(value) {\r\n property = value;\r\n }\r\n};\r\n \r\nvar prototypeAccessor = new Class();","TestCases":[{"Name":"Read from data property","Code":"var value = data.property;","IsDeferred":false},{"Name":"Write to data property","Code":"data.property = true;","IsDeferred":false},{"Name":"Read from accessor method","Code":"var value = method.getProperty();","IsDeferred":false},{"Name":"Write to mutator method","Code":"method.setProperty(true);","IsDeferred":false},{"Name":"Read from object literal property","Code":"var value = objectLiteralAccessor.property;","IsDeferred":false},{"Name":"Write to object literal property","Code":"objectLiteralAccessor.property = true;","IsDeferred":false},{"Name":"Read from object literal property on prototype","Code":"var value = prototypeAccessor.property;","IsDeferred":false},{"Name":"Write to object literal property on prototype","Code":"prototypeAccessor.property = true;","IsDeferred":false}]}