michael@0: // 'this' is lexically scoped in direct eval code in arrow functions michael@0: michael@0: var obj = { michael@0: f: function (s) { michael@0: return a => eval(s); michael@0: } michael@0: }; michael@0: michael@0: var g = obj.f("this"); michael@0: assertEq(g(), obj); michael@0: michael@0: var obj2 = {g: g, fail: true}; michael@0: assertEq(obj2.g(), obj);