-
Notifications
You must be signed in to change notification settings - Fork 1.2k
/
Copy pathJsDiagGetFunctionPosition.js
37 lines (30 loc) · 1.15 KB
/
JsDiagGetFunctionPosition.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
// Global function
var x = 1;
function foo() {
x = 2;
}
WScript.DumpFunctionPosition(foo);
// Function property
var obj = {
func : function () {
WScript.Echo('');
}
};
WScript.DumpFunctionPosition(obj.func);
var global = WScript.LoadScript("function foo(){}", "samethread", "dummyFileName.js");
WScript.DumpFunctionPosition(global.foo);
var evalFunc = eval('new Function("a", "b", "/*some comments\\r\\n*/ return a + b;")');
WScript.DumpFunctionPosition(evalFunc);
/*some function not at 0 column*/function blah() {
/* First statement not at 0 */
var xyz = 1;
}
WScript.DumpFunctionPosition(blah);
// Shouldn't get functionPosition of built-ins
WScript.DumpFunctionPosition(JSON.stringify);
WScript.DumpFunctionPosition(eval);
WScript.Echo("pass");