//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- // Flavors of inlined LdThis, some of which will bail out if we force the optimization. (function () { function f() { return this.foo(); } var t = this; var x = { foo: function () { WScript.Echo(this); } }; x.f = f; x.f(); try { f(); } catch (e) { WScript.Echo(e.message); } WScript.Echo(t === this); })(); (function () { function f(o) { return o.foo(); } var x = { foo: function () { WScript.Echo(this); } }; f(x); })(); function test() { Object.prototype['foo'] = function () {return this}; var c = {} var x; x + c.foo("a"); ((function(){ return 1; })()).foo() }; WScript.Echo(test()); WScript.Echo(test());