@@ -23,39 +23,39 @@ function foo<T, U>(this: T[]): U[] {
23
23
(program
24
24
(function_declaration
25
25
name: (identifier)
26
- parameters: (formal_parameters (required_parameter (identifier) (type_annotation (predefined_type))))
26
+ parameters: (formal_parameters (required_parameter pattern: (identifier) type: (type_annotation (predefined_type))))
27
27
body: (statement_block
28
28
(return_statement (binary_expression
29
29
left: (string (string_fragment))
30
30
right: (identifier)))))
31
31
(function_declaration
32
32
name: (identifier)
33
- type_parameters: (type_parameters (type_parameter (type_identifier)))
34
- parameters: (formal_parameters (required_parameter (identifier) (type_annotation (type_identifier))))
33
+ type_parameters: (type_parameters (type_parameter name: (type_identifier)))
34
+ parameters: (formal_parameters (required_parameter pattern: (identifier) type: (type_annotation (type_identifier))))
35
35
return_type: (type_annotation (type_identifier))
36
36
body: (statement_block))
37
37
(function_declaration
38
38
name: (identifier)
39
- type_parameters: (type_parameters (type_parameter (type_identifier)) (type_parameter (type_identifier)))
39
+ type_parameters: (type_parameters (type_parameter name: (type_identifier)) (type_parameter name: (type_identifier)))
40
40
parameters: (formal_parameters
41
41
(required_parameter
42
- (identifier)
43
- (type_annotation (array_type (type_identifier))))
42
+ pattern: (identifier)
43
+ type: (type_annotation (array_type (type_identifier))))
44
44
(required_parameter
45
- (identifier)
46
- (type_annotation
45
+ pattern: (identifier)
46
+ type: (type_annotation
47
47
(function_type
48
- (formal_parameters (required_parameter (identifier) (type_annotation (type_identifier))))
49
- (type_identifier)))))
48
+ parameters: (formal_parameters (required_parameter pattern: (identifier) type: (type_annotation (type_identifier))))
49
+ return_type: (type_identifier)))))
50
50
return_type: (type_annotation (array_type (type_identifier)))
51
51
body: (statement_block))
52
52
(function_declaration
53
53
name: (identifier)
54
- type_parameters: (type_parameters (type_parameter (type_identifier)) (type_parameter (type_identifier)))
54
+ type_parameters: (type_parameters (type_parameter name: (type_identifier)) (type_parameter name: (type_identifier)))
55
55
parameters: (formal_parameters
56
56
(required_parameter
57
- (this)
58
- (type_annotation (array_type (type_identifier)))))
57
+ pattern: (this)
58
+ type: (type_annotation (array_type (type_identifier)))))
59
59
return_type: (type_annotation (array_type (type_identifier)))
60
60
body: (statement_block (return_statement (array)))))
61
61
@@ -134,30 +134,30 @@ function* foo<A>(amount, interestRate, duration): number {
134
134
(program
135
135
(expression_statement
136
136
(arrow_function
137
- (type_parameters (type_parameter (type_identifier)))
138
- (formal_parameters
139
- (required_parameter (identifier))
140
- (required_parameter (identifier))
141
- (required_parameter (identifier)))
142
- (type_annotation (predefined_type))
143
- (number)))
137
+ type_parameters: (type_parameters (type_parameter name: (type_identifier)))
138
+ parameters: (formal_parameters
139
+ (required_parameter pattern: (identifier))
140
+ (required_parameter pattern: (identifier))
141
+ (required_parameter pattern: (identifier)))
142
+ return_type: (type_annotation (predefined_type))
143
+ body: (number)))
144
144
(generator_function_declaration
145
- (identifier)
146
- (type_parameters (type_parameter (type_identifier)))
147
- (formal_parameters
148
- (required_parameter (identifier))
149
- (required_parameter (identifier))
150
- (required_parameter (identifier)))
151
- (type_annotation (predefined_type))
152
- (statement_block
145
+ name: (identifier)
146
+ type_parameters: (type_parameters (type_parameter name: (type_identifier)))
147
+ parameters: (formal_parameters
148
+ (required_parameter pattern: (identifier))
149
+ (required_parameter pattern: (identifier))
150
+ (required_parameter pattern: (identifier)))
151
+ return_type: (type_annotation (predefined_type))
152
+ body: (statement_block
153
153
(expression_statement (yield_expression (binary_expression
154
- (binary_expression (binary_expression (identifier) (identifier)) (identifier))
155
- (number))))))
154
+ left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))
155
+ right: (number))))))
156
156
(expression_statement
157
157
(arrow_function
158
- (formal_parameters (required_parameter (identifier) (type_annotation (predefined_type))))
159
- (type_annotation (predefined_type))
160
- (number))))
158
+ parameters: (formal_parameters (required_parameter pattern: (identifier) type: (type_annotation (predefined_type))))
159
+ return_type: (type_annotation (predefined_type))
160
+ body: (number))))
161
161
162
162
==================================
163
163
Arrow function with parameter named async
@@ -188,13 +188,13 @@ class A extends B {
188
188
(program
189
189
(class_declaration
190
190
name: (type_identifier)
191
- (class_heritage (extends_clause (type_identifier )))
191
+ (class_heritage (extends_clause value: (identifier )))
192
192
body: (class_body
193
193
(method_definition
194
194
name: (property_identifier)
195
195
parameters: (formal_parameters
196
- (required_parameter (identifier) (type_annotation (predefined_type)))
197
- (required_parameter (identifier) (type_annotation (predefined_type))))
196
+ (required_parameter pattern: (identifier) type: (type_annotation (predefined_type)))
197
+ (required_parameter pattern: (identifier) type: (type_annotation (predefined_type))))
198
198
body: (statement_block
199
199
(expression_statement (call_expression
200
200
function: (super)
@@ -251,43 +251,43 @@ function foo(): () => { [key: foo]: bar } {}
251
251
252
252
(program
253
253
(function_declaration
254
- (identifier)
255
- (formal_parameters)
256
- (statement_block))
254
+ name: (identifier)
255
+ parameters: (formal_parameters)
256
+ body: (statement_block))
257
257
(function_signature
258
- (identifier)
259
- (formal_parameters (required_parameter (identifier))))
258
+ name: (identifier)
259
+ parameters: (formal_parameters (required_parameter pattern: (identifier))))
260
260
(function_signature
261
- (identifier)
262
- (formal_parameters (required_parameter (identifier)))
263
- (type_annotation (type_identifier)))
261
+ name: (identifier)
262
+ parameters: (formal_parameters (required_parameter pattern: (identifier)))
263
+ return_type: (type_annotation (type_identifier)))
264
264
(function_signature
265
- (identifier)
266
- (formal_parameters
267
- (required_parameter (identifier))))
265
+ name: (identifier)
266
+ parameters: (formal_parameters
267
+ (required_parameter pattern: (identifier))))
268
268
(function_signature
269
- (identifier)
270
- (formal_parameters)
271
- (type_annotation
269
+ name: (identifier)
270
+ parameters: (formal_parameters)
271
+ return_type: (type_annotation
272
272
(function_type
273
- (formal_parameters)
274
- (object_type
273
+ parameters: (formal_parameters)
274
+ return_type: (object_type
275
275
(index_signature
276
- (identifier)
277
- (type_identifier)
278
- (type_annotation (type_identifier)))))))
276
+ name: (identifier)
277
+ index_type: (type_identifier)
278
+ type: (type_annotation (type_identifier)))))))
279
279
(function_declaration
280
- (identifier)
281
- (formal_parameters)
282
- (type_annotation
280
+ name: (identifier)
281
+ parameters: (formal_parameters)
282
+ return_type: (type_annotation
283
283
(function_type
284
- (formal_parameters)
285
- (object_type
284
+ parameters: (formal_parameters)
285
+ return_type: (object_type
286
286
(index_signature
287
- (identifier)
288
- (type_identifier)
289
- (type_annotation (type_identifier))))))
290
- (statement_block)))
287
+ name: (identifier)
288
+ index_type: (type_identifier)
289
+ type: (type_annotation (type_identifier))))))
290
+ body: (statement_block)))
291
291
292
292
====================================================================================
293
293
Ambiguity between function signature and function declaration: comments and newlines
0 commit comments