//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- function print(x) { WScript.Echo(x+''); } function inner(func) { print(func.caller); if (func.arguments) { print(func.arguments[0]); print(func.arguments.caller); } if (func.caller) { if (func.arguments.caller) { print(func.arguments.caller[0]); } else { print("func.arguments.caller undefined"); } } print(""); } function f() { inner(f); try { try { throw null; } finally { inner(g); } } catch (e) { inner(f); } } function g() { f("f from g"); } f("f from global"); g("g from global"); function callerA() { AA(null); } function AA(x) { print(AA.caller); } function callerB() { eval("AB(null)"); } function AB(x) { print(AB.caller); } callerA(); callerB(); (function() { print(arguments.caller); print(delete arguments.caller); print(arguments.caller); arguments.caller = 0; print(arguments.caller); function f() { print(arguments.caller); print(delete arguments.caller); print(arguments.caller); arguments.caller = 0; print(arguments.caller); } f(); })(); function test0(){ var func0 = function(){ var __loopvar1 = 0; while(((b <<= (arguments.caller && arguments.caller[1]) ? 3 : 1)) && __loopvar1 < 3) { __loopvar1++; } } var func2 = function(){ func0(); } var b = 1; function bar0 () { func2(); } bar0(1, 1, 1); WScript.Echo("b = " + (b|0)); }; // generate profile test0(); test0();