{"ScriptPreparationCode":"window.TestClass = class {\r\n constructor(contents) {\r\n this.contents = contents;\r\n }\r\n \r\n render() {\r\n return this.contents \u002B \u0022hi\u0022;\r\n }\r\n \r\n toString() {\r\n return this.render()\r\n }\r\n}\r\n\r\nwindow.TestClass2 = class {\r\n constructor(contents) {\r\n this.contents = contents;\r\n }\r\n \r\n toString() {\r\n return this.contents \u002B \u0022hi\u0022;\r\n }\r\n}","TestCases":[{"Name":"Explicit","Code":"let num = 500;\r\nlet strings = [];\r\nfor(let i = 0; i \u003C 100; \u002B\u002Bi) {\r\n strings.push(\u0060${new TestClass(num).render()}\u0060);\r\n}","IsDeferred":false},{"Name":"Implicit","Code":"let num = 500;\r\nlet strings = [];\r\nfor(let i = 0; i \u003C 100; \u002B\u002Bi) {\r\n strings.push(\u0060${new TestClass(num)}\u0060);\r\n}","IsDeferred":false},{"Name":"Implicit (no indirection)","Code":"let num = 500;\r\nlet strings = [];\r\nfor(let i = 0; i \u003C 100; \u002B\u002Bi) {\r\n strings.push(\u0060${new TestClass2(num)}\u0060);\r\n}","IsDeferred":false}]}