-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathfoo.json
117 lines (117 loc) · 2.94 KB
/
foo.json
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
{
"objectSlices" : {
"foo.js::program:anonymous" : {
"source" : "app.get('/', (req, res) => { \n res.send('Hello World!')\n})",
"slices" : [
{
"targetObj" : {
"name" : "res",
"typeFullName" : "ANY",
"literal" : false
},
"definedBy" : {
"name" : "res",
"typeFullName" : "ANY",
"literal" : false
},
"invokedCalls" : [
{
"callName" : "send",
"paramTypes" : [
"__ecma.String"
],
"returnType" : "ANY"
}
],
"argToCalls" : [
]
}
]
},
"foo.js::program" : {
"source" : "const express = require('express') \nconst app = express()\nconst port = 3000\n\napp.get('/', (req, res) => {\n res.send('Hello World!')\n})\n\napp.listen(port, () => {\n console.log(`Example app listening on port ${port}`)\n})\n\nconsole.log(app)\n\nconsole.debug(app)\n\nclass Car {\n constructor(name, year) {\n this.name = name;\n this.year = year;\n }\n}",
"slices" : [
{
"targetObj" : {
"name" : "app",
"typeFullName" : "ANY",
"literal" : false
},
"definedBy" : {
"name" : "express",
"typeFullName" : "ANY",
"literal" : false
},
"invokedCalls" : [
{
"callName" : "get",
"paramTypes" : [
"__ecma.String",
"LAMBDA"
],
"returnType" : "ANY"
},
{
"callName" : "listen",
"paramTypes" : [
"__ecma.Number",
"LAMBDA"
],
"returnType" : "ANY"
}
],
"argToCalls" : [
[
{
"callName" : "log",
"paramTypes" : [
"ANY"
],
"returnType" : "ANY"
},
1
],
[
{
"callName" : "debug",
"paramTypes" : [
"ANY"
],
"returnType" : "ANY"
},
1
]
]
}
]
}
},
"userDefinedTypes" : [
{
"name" : "foo.js::program:Car",
"fields" : [
{
"name" : "name",
"typeFullName" : "this",
"literal" : false
},
{
"name" : "year",
"typeFullName" : "this",
"literal" : false
}
],
"procedures" : [
{
"callName" : "<init>",
"paramTypes" : [
"foo.js::program:Car",
"ANY",
"ANY"
],
"returnType" : "foo.js::program:Car:<init>"
}
]
}
]
}