Skip to content
This repository was archived by the owner on Jan 19, 2019. It is now read-only.

Commit 1ce95b8

Browse files
committed
New: Add call expression type arguments to AST
1 parent 215a012 commit 1ce95b8

File tree

3 files changed

+259
-0
lines changed

3 files changed

+259
-0
lines changed

lib/ast-converter.js

+3
Original file line numberDiff line numberDiff line change
@@ -1804,6 +1804,9 @@ module.exports = function(ast, extra) {
18041804
callee: convertChild(node.expression),
18051805
arguments: node.arguments.map(convertChild)
18061806
});
1807+
if (node.typeArguments && node.typeArguments.length) {
1808+
result.typeParameters = convertTypeArgumentsToTypeParameters(node.typeArguments);
1809+
}
18071810
break;
18081811

18091812
case SyntaxKind.NewExpression:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,255 @@
1+
module.exports = {
2+
"type": "Program",
3+
"range": [
4+
0,
5+
9
6+
],
7+
"loc": {
8+
"start": {
9+
"line": 1,
10+
"column": 0
11+
},
12+
"end": {
13+
"line": 1,
14+
"column": 9
15+
}
16+
},
17+
"body": [
18+
{
19+
"expression": {
20+
"arguments": [],
21+
"callee": {
22+
"loc": {
23+
"end": {
24+
"column": 3,
25+
"line": 1
26+
},
27+
"start": {
28+
"column": 0,
29+
"line": 1
30+
}
31+
},
32+
"name": "foo",
33+
"range": [
34+
0,
35+
3
36+
],
37+
"type": "Identifier"
38+
},
39+
"loc": {
40+
"end": {
41+
"column": 8,
42+
"line": 1
43+
},
44+
"start": {
45+
"column": 0,
46+
"line": 1
47+
}
48+
},
49+
"range": [
50+
0,
51+
8
52+
],
53+
"type": "CallExpression",
54+
"typeParameters": {
55+
"loc": {
56+
"end": {
57+
"column": 6,
58+
"line": 1
59+
},
60+
"start": {
61+
"column": 3,
62+
"line": 1
63+
}
64+
},
65+
"params": [
66+
{
67+
"id": {
68+
"loc": {
69+
"end": {
70+
"column": 5,
71+
"line": 1
72+
},
73+
"start": {
74+
"column": 4,
75+
"line": 1
76+
}
77+
},
78+
"name": "A",
79+
"range": [
80+
4,
81+
5
82+
],
83+
"type": "Identifier"
84+
},
85+
"loc": {
86+
"end": {
87+
"column": 5,
88+
"line": 1
89+
},
90+
"start": {
91+
"column": 4,
92+
"line": 1
93+
}
94+
},
95+
"range": [
96+
4,
97+
5
98+
],
99+
"type": "GenericTypeAnnotation"
100+
}
101+
],
102+
"range": [
103+
3,
104+
6
105+
],
106+
"type": "TypeParameterInstantiation"
107+
}
108+
},
109+
"loc": {
110+
"end": {
111+
"column": 9,
112+
"line": 1
113+
},
114+
"start": {
115+
"column": 0,
116+
"line": 1
117+
}
118+
},
119+
"range": [
120+
0,
121+
9
122+
],
123+
"type": "ExpressionStatement"
124+
}
125+
],
126+
"sourceType": "script",
127+
"tokens": [
128+
{
129+
"loc": {
130+
"end": {
131+
"column": 3,
132+
"line": 1
133+
},
134+
"start": {
135+
"column": 0,
136+
"line": 1
137+
}
138+
},
139+
"range": [
140+
0,
141+
3
142+
],
143+
"type": "Identifier",
144+
"value": "foo"
145+
},
146+
{
147+
"loc": {
148+
"end": {
149+
"column": 4,
150+
"line": 1
151+
},
152+
"start": {
153+
"column": 3,
154+
"line": 1
155+
}
156+
},
157+
"range": [
158+
3,
159+
4
160+
],
161+
"type": "Punctuator",
162+
"value": "<"
163+
},
164+
{
165+
"loc": {
166+
"end": {
167+
"column": 5,
168+
"line": 1
169+
},
170+
"start": {
171+
"column": 4,
172+
"line": 1
173+
}
174+
},
175+
"range": [
176+
4,
177+
5
178+
],
179+
"type": "Identifier",
180+
"value": "A"
181+
},
182+
{
183+
"loc": {
184+
"end": {
185+
"column": 6,
186+
"line": 1
187+
},
188+
"start": {
189+
"column": 5,
190+
"line": 1
191+
}
192+
},
193+
"range": [
194+
5,
195+
6
196+
],
197+
"type": "Punctuator",
198+
"value": ">"
199+
},
200+
{
201+
"loc": {
202+
"end": {
203+
"column": 7,
204+
"line": 1
205+
},
206+
"start": {
207+
"column": 6,
208+
"line": 1
209+
}
210+
},
211+
"range": [
212+
6,
213+
7
214+
],
215+
"type": "Punctuator",
216+
"value": "("
217+
},
218+
{
219+
"loc": {
220+
"end": {
221+
"column": 8,
222+
"line": 1
223+
},
224+
"start": {
225+
"column": 7,
226+
"line": 1
227+
}
228+
},
229+
"range": [
230+
7,
231+
8
232+
],
233+
"type": "Punctuator",
234+
"value": ")"
235+
},
236+
{
237+
"loc": {
238+
"end": {
239+
"column": 9,
240+
"line": 1
241+
},
242+
"start": {
243+
"column": 8,
244+
"line": 1
245+
}
246+
},
247+
"range": [
248+
8,
249+
9
250+
],
251+
"type": "Punctuator",
252+
"value": ";"
253+
}
254+
]
255+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
foo<A>();

0 commit comments

Comments
 (0)