Use JSON for FFP tests
[hiphop-php.git] / hphp / hack / test / full_fidelity / cases / test_tuple_type_keyword.php.json.exp
blob8a8719ac015035bd8d5c68917f6f4b25e1d96870
2 "parse_tree":{
3 "kind":"script",
4 "script_declarations":{
5 "kind":"list",
6 "elements":[
8 "kind":"markup_section",
9 "markup_text":{
10 "kind":"token",
11 "token":{
12 "kind":"markup",
13 "text":"",
14 "offset":0,
15 "leading_width":0,
16 "width":0,
17 "trailing_width":0,
18 "leading":[],
19 "trailing":[],
20 "line_number":1
23 "markup_suffix":{
24 "kind":"markup_suffix",
25 "markup_suffix_less_than_question":{
26 "kind":"token",
27 "token":{
28 "kind":"<?",
29 "text":"<?",
30 "offset":0,
31 "leading_width":0,
32 "width":2,
33 "trailing_width":0,
34 "leading":[],
35 "trailing":[],
36 "line_number":1
39 "markup_suffix_name":{
40 "kind":"token",
41 "token":{
42 "kind":"name",
43 "text":"hh",
44 "offset":2,
45 "leading_width":0,
46 "width":2,
47 "trailing_width":11,
48 "leading":[],
49 "trailing":[
50 {"kind":"whitespace","text":" ","offset":4,"width":1},
51 {"kind":"single_line_comment","text":"// strict","offset":5,"width":9},
52 {"kind":"end_of_line","text":"\n","offset":14,"width":1}
54 "line_number":1
60 "kind":"classish_declaration",
61 "classish_attribute":{"kind":"missing"},
62 "classish_modifiers":{"kind":"missing"},
63 "classish_xhp":{"kind":"missing"},
64 "classish_keyword":{
65 "kind":"token",
66 "token":{
67 "kind":"class",
68 "text":"class",
69 "offset":15,
70 "leading_width":1,
71 "width":5,
72 "trailing_width":1,
73 "leading":[{"kind":"end_of_line","text":"\n","offset":15,"width":1}],
74 "trailing":[{"kind":"whitespace","text":" ","offset":21,"width":1}],
75 "line_number":3
78 "classish_name":{
79 "kind":"token",
80 "token":{
81 "kind":"name",
82 "text":"Foo",
83 "offset":22,
84 "leading_width":0,
85 "width":3,
86 "trailing_width":1,
87 "leading":[],
88 "trailing":[{"kind":"whitespace","text":" ","offset":25,"width":1}],
89 "line_number":3
92 "classish_type_parameters":{"kind":"missing"},
93 "classish_extends_keyword":{"kind":"missing"},
94 "classish_extends_list":{"kind":"missing"},
95 "classish_implements_keyword":{"kind":"missing"},
96 "classish_implements_list":{"kind":"missing"},
97 "classish_where_clause":{"kind":"missing"},
98 "classish_body":{
99 "kind":"classish_body",
100 "classish_body_left_brace":{
101 "kind":"token",
102 "token":{
103 "kind":"{",
104 "text":"{",
105 "offset":26,
106 "leading_width":0,
107 "width":1,
108 "trailing_width":1,
109 "leading":[],
110 "trailing":[{"kind":"end_of_line","text":"\n","offset":27,"width":1}],
111 "line_number":3
114 "classish_body_elements":{
115 "kind":"list",
116 "elements":[
118 "kind":"methodish_declaration",
119 "methodish_attribute":{"kind":"missing"},
120 "methodish_function_decl_header":{
121 "kind":"function_declaration_header",
122 "function_modifiers":{
123 "kind":"list",
124 "elements":[
126 "kind":"token",
127 "token":{
128 "kind":"public",
129 "text":"public",
130 "offset":28,
131 "leading_width":2,
132 "width":6,
133 "trailing_width":1,
134 "leading":[{"kind":"whitespace","text":" ","offset":28,"width":2}],
135 "trailing":[{"kind":"whitespace","text":" ","offset":36,"width":1}],
136 "line_number":4
141 "function_keyword":{
142 "kind":"token",
143 "token":{
144 "kind":"function",
145 "text":"function",
146 "offset":37,
147 "leading_width":0,
148 "width":8,
149 "trailing_width":1,
150 "leading":[],
151 "trailing":[{"kind":"whitespace","text":" ","offset":45,"width":1}],
152 "line_number":4
155 "function_name":{
156 "kind":"token",
157 "token":{
158 "kind":"name",
159 "text":"bar",
160 "offset":46,
161 "leading_width":0,
162 "width":3,
163 "trailing_width":0,
164 "leading":[],
165 "trailing":[],
166 "line_number":4
169 "function_type_parameter_list":{"kind":"missing"},
170 "function_left_paren":{
171 "kind":"token",
172 "token":{
173 "kind":"(",
174 "text":"(",
175 "offset":49,
176 "leading_width":0,
177 "width":1,
178 "trailing_width":0,
179 "leading":[],
180 "trailing":[],
181 "line_number":4
184 "function_parameter_list":{"kind":"missing"},
185 "function_right_paren":{
186 "kind":"token",
187 "token":{
188 "kind":")",
189 "text":")",
190 "offset":50,
191 "leading_width":0,
192 "width":1,
193 "trailing_width":0,
194 "leading":[],
195 "trailing":[],
196 "line_number":4
199 "function_colon":{
200 "kind":"token",
201 "token":{
202 "kind":":",
203 "text":":",
204 "offset":51,
205 "leading_width":0,
206 "width":1,
207 "trailing_width":1,
208 "leading":[],
209 "trailing":[{"kind":"whitespace","text":" ","offset":52,"width":1}],
210 "line_number":4
213 "function_type":{
214 "kind":"tuple_type_explicit_specifier",
215 "tuple_type_keyword":{
216 "kind":"token",
217 "token":{
218 "kind":"tuple",
219 "text":"tuple",
220 "offset":53,
221 "leading_width":0,
222 "width":5,
223 "trailing_width":0,
224 "leading":[],
225 "trailing":[],
226 "line_number":4
229 "tuple_type_left_angle":{
230 "kind":"token",
231 "token":{
232 "kind":"<",
233 "text":"<",
234 "offset":58,
235 "leading_width":0,
236 "width":1,
237 "trailing_width":0,
238 "leading":[],
239 "trailing":[],
240 "line_number":4
243 "tuple_type_types":{
244 "kind":"list",
245 "elements":[
247 "kind":"list_item",
248 "list_item":{
249 "kind":"simple_type_specifier",
250 "simple_type_specifier":{
251 "kind":"token",
252 "token":{
253 "kind":"int",
254 "text":"int",
255 "offset":59,
256 "leading_width":0,
257 "width":3,
258 "trailing_width":0,
259 "leading":[],
260 "trailing":[],
261 "line_number":4
265 "list_separator":{
266 "kind":"token",
267 "token":{
268 "kind":",",
269 "text":",",
270 "offset":62,
271 "leading_width":0,
272 "width":1,
273 "trailing_width":0,
274 "leading":[],
275 "trailing":[],
276 "line_number":4
281 "kind":"list_item",
282 "list_item":{
283 "kind":"simple_type_specifier",
284 "simple_type_specifier":{
285 "kind":"token",
286 "token":{
287 "kind":"string",
288 "text":"string",
289 "offset":63,
290 "leading_width":0,
291 "width":6,
292 "trailing_width":0,
293 "leading":[],
294 "trailing":[],
295 "line_number":4
299 "list_separator":{"kind":"missing"}
303 "tuple_type_right_angle":{
304 "kind":"token",
305 "token":{
306 "kind":">",
307 "text":">",
308 "offset":69,
309 "leading_width":0,
310 "width":1,
311 "trailing_width":1,
312 "leading":[],
313 "trailing":[{"kind":"whitespace","text":" ","offset":70,"width":1}],
314 "line_number":4
318 "function_where_clause":{"kind":"missing"}
320 "methodish_function_body":{
321 "kind":"compound_statement",
322 "compound_left_brace":{
323 "kind":"token",
324 "token":{
325 "kind":"{",
326 "text":"{",
327 "offset":71,
328 "leading_width":0,
329 "width":1,
330 "trailing_width":1,
331 "leading":[],
332 "trailing":[{"kind":"end_of_line","text":"\n","offset":72,"width":1}],
333 "line_number":4
336 "compound_statements":{
337 "kind":"list",
338 "elements":[
340 "kind":"return_statement",
341 "return_keyword":{
342 "kind":"token",
343 "token":{
344 "kind":"return",
345 "text":"return",
346 "offset":73,
347 "leading_width":4,
348 "width":6,
349 "trailing_width":1,
350 "leading":[{"kind":"whitespace","text":" ","offset":73,"width":4}],
351 "trailing":[{"kind":"whitespace","text":" ","offset":83,"width":1}],
352 "line_number":5
355 "return_expression":{
356 "kind":"tuple_expression",
357 "tuple_expression_keyword":{
358 "kind":"token",
359 "token":{
360 "kind":"tuple",
361 "text":"tuple",
362 "offset":84,
363 "leading_width":0,
364 "width":5,
365 "trailing_width":0,
366 "leading":[],
367 "trailing":[],
368 "line_number":5
371 "tuple_expression_left_paren":{
372 "kind":"token",
373 "token":{
374 "kind":"(",
375 "text":"(",
376 "offset":89,
377 "leading_width":0,
378 "width":1,
379 "trailing_width":0,
380 "leading":[],
381 "trailing":[],
382 "line_number":5
385 "tuple_expression_items":{
386 "kind":"list",
387 "elements":[
389 "kind":"list_item",
390 "list_item":{
391 "kind":"literal",
392 "literal_expression":{
393 "kind":"token",
394 "token":{
395 "kind":"decimal_literal",
396 "text":"1",
397 "offset":90,
398 "leading_width":0,
399 "width":1,
400 "trailing_width":0,
401 "leading":[],
402 "trailing":[],
403 "line_number":5
407 "list_separator":{
408 "kind":"token",
409 "token":{
410 "kind":",",
411 "text":",",
412 "offset":91,
413 "leading_width":0,
414 "width":1,
415 "trailing_width":1,
416 "leading":[],
417 "trailing":[{"kind":"whitespace","text":" ","offset":92,"width":1}],
418 "line_number":5
423 "kind":"list_item",
424 "list_item":{
425 "kind":"literal",
426 "literal_expression":{
427 "kind":"token",
428 "token":{
429 "kind":"single_quoted_string_literal",
430 "text":"'baz'",
431 "offset":93,
432 "leading_width":0,
433 "width":5,
434 "trailing_width":0,
435 "leading":[],
436 "trailing":[],
437 "line_number":5
441 "list_separator":{"kind":"missing"}
445 "tuple_expression_right_paren":{
446 "kind":"token",
447 "token":{
448 "kind":")",
449 "text":")",
450 "offset":98,
451 "leading_width":0,
452 "width":1,
453 "trailing_width":0,
454 "leading":[],
455 "trailing":[],
456 "line_number":5
460 "return_semicolon":{
461 "kind":"token",
462 "token":{
463 "kind":";",
464 "text":";",
465 "offset":99,
466 "leading_width":0,
467 "width":1,
468 "trailing_width":1,
469 "leading":[],
470 "trailing":[{"kind":"end_of_line","text":"\n","offset":100,"width":1}],
471 "line_number":5
477 "compound_right_brace":{
478 "kind":"token",
479 "token":{
480 "kind":"}",
481 "text":"}",
482 "offset":101,
483 "leading_width":2,
484 "width":1,
485 "trailing_width":1,
486 "leading":[{"kind":"whitespace","text":" ","offset":101,"width":2}],
487 "trailing":[{"kind":"end_of_line","text":"\n","offset":104,"width":1}],
488 "line_number":6
492 "methodish_semicolon":{"kind":"missing"}
496 "classish_body_right_brace":{
497 "kind":"token",
498 "token":{
499 "kind":"}",
500 "text":"}",
501 "offset":105,
502 "leading_width":0,
503 "width":1,
504 "trailing_width":1,
505 "leading":[],
506 "trailing":[{"kind":"end_of_line","text":"\n","offset":106,"width":1}],
507 "line_number":7
513 "kind":"end_of_file",
514 "end_of_file_token":{
515 "kind":"token",
516 "token":{
517 "kind":"end_of_file",
518 "text":"",
519 "offset":107,
520 "leading_width":0,
521 "width":0,
522 "trailing_width":0,
523 "leading":[],
524 "trailing":[],
525 "line_number":8
532 "program_text":"<?hh // strict\n\nclass Foo {\n public function bar(): tuple<int,string> {\n return tuple(1, 'baz');\n }\n}\n",
533 "version":"2020-04-14-0002"