{"ScriptPreparationCode":"var scope = {\r\n key:1,\r\n _: {\r\n key: 2,\r\n _: {}\r\n }\r\n}\r\n\r\n\r\nvar basic = {\r\n apply(scope, number) {\r\n scope.key = number\r\n }\r\n}\r\n\r\nvar basicGetter = {\r\n get(scope) {\r\n return scope;\r\n },\r\n apply(scope, number) {\r\n this.get(scope).key = number;\r\n }\r\n}\r\n\r\nvar typecheckNull = {\r\n get: null,\r\n apply(scope, number) {\r\n (typeof this.get === \u0022function\u0022 ? this.get(scope) : scope).key = number;\r\n }\r\n}\r\n\r\nvar typecheckGetter = {\r\n ...typecheckNull,\r\n get: basicGetter.get\r\n}","TestCases":[{"Name":"basic","Code":"basic.apply(scope, 100)","IsDeferred":false},{"Name":"basicGetter","Code":"basicGetter.apply(scope, 100)","IsDeferred":false},{"Name":"typecheckNull","Code":"typecheckNull.apply(scope, 100)","IsDeferred":false},{"Name":"typecheckGetter","Code":"typecheckGetter.apply(scope, 100)","IsDeferred":false}]}