{"ScriptPreparationCode":"const obj = {\r\n a: \u0027a\u0027,\r\n b: \u0027b\u0027,\r\n c: \u0027c\u0027\r\n}\r\n\r\nconst proxy = new Proxy(obj, {\r\n get(target, key, receiver) {\r\n return Reflect.get(target, key, receiver)\r\n }\r\n})\r\n\r\nfunction getAFromProxy() {\r\n return proxy.a;\r\n}\r\n\r\nfunction getA() {\r\n return obj.a;\r\n}\r\n\r\nfunction getAFromFunction() {\r\n return getA()\r\n}\r\n\r\nconst outerProxyGetFunction = new Proxy({}, {\r\n get(target, key, receiver) {\r\n return getAFromFunction()\r\n }\r\n})\r\n\r\nconst outerProxyProxy = new Proxy({}, {\r\n get() {\r\n return getAFromProxy()\r\n }\r\n})\r\n\r\nfunction getOuterProxyGetFunction(){\r\n return outerProxyGetFunction \r\n}\r\n\r\nfunction getOuterProxyProxyAccess(){\r\n return outerProxyProxy \r\n}","TestCases":[{"Name":"Get Function","Code":"getAFromFunction()","IsDeferred":false},{"Name":"Proxy access","Code":"getAFromProxy()","IsDeferred":false},{"Name":"Get function wrapped in proxy","Code":"getOuterProxyGetFunction().a","IsDeferred":false},{"Name":"Proxy wrapped in proxy","Code":"getOuterProxyProxyAccess().a","IsDeferred":false}]}