blob: 5ce2efa1820f953a3b672221af0cfb6f45f72e8f [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
let print = function(x) { WScript.Echo(x) }
try {
throw "level1";
} catch (level_1_identifier_0) {
eval("var level_1_identifier_3 = 'level1'");
function level2Func(level_2_identifier_0) {
level_1_identifier_3 += "level2"; //throws error
}
level2Func("level2");
print(level_1_identifier_3);
}
with({ }) {
//let level_1_identifier_1= "level1";
//or
const level_1_identifier_2= "level1";
with({ }) {
eval("var level_2_identifier_3 = 'level2'");
eval("print(level_2_identifier_3);");
eval("print(level_1_identifier_2);");
}
}
function evalcaller() {
eval("\
var level_1_identifier_0= \"level1\";\n\
try {\n\
throw \"level2\";\n\
}catch(e) { \n\
let level_2_identifier_1= \"level2\";\n\
function level3Func(level_3_identifier_0) { \n\
level_1_identifier_0 += \"level3\"; \n\
level_2_identifier_1 += \"level3\"; \n\
}\n\
level3Func(\"level3\");\n\
print(level_2_identifier_1);\n\
}\n\
");
print(level_1_identifier_0);
}
evalcaller();