Use JSON for FFP tests
[hiphop-php.git] / hphp / hack / test / full_fidelity / cases / test_type_alias.php.json.exp
blob03c608dddb7cec62b21520650268cca1549fdd85
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":"alias_declaration",
61 "alias_attribute_spec":{"kind":"missing"},
62 "alias_keyword":{
63 "kind":"token",
64 "token":{
65 "kind":"type",
66 "text":"type",
67 "offset":15,
68 "leading_width":1,
69 "width":4,
70 "trailing_width":1,
71 "leading":[{"kind":"end_of_line","text":"\n","offset":15,"width":1}],
72 "trailing":[{"kind":"whitespace","text":" ","offset":20,"width":1}],
73 "line_number":3
76 "alias_name":{
77 "kind":"token",
78 "token":{
79 "kind":"name",
80 "text":"T1",
81 "offset":21,
82 "leading_width":0,
83 "width":2,
84 "trailing_width":0,
85 "leading":[],
86 "trailing":[],
87 "line_number":3
90 "alias_generic_parameter":{
91 "kind":"type_parameters",
92 "type_parameters_left_angle":{
93 "kind":"token",
94 "token":{
95 "kind":"<",
96 "text":"<",
97 "offset":23,
98 "leading_width":0,
99 "width":1,
100 "trailing_width":0,
101 "leading":[],
102 "trailing":[],
103 "line_number":3
106 "type_parameters_parameters":{
107 "kind":"list",
108 "elements":[
110 "kind":"list_item",
111 "list_item":{
112 "kind":"type_parameter",
113 "type_attribute_spec":{"kind":"missing"},
114 "type_reified":{"kind":"missing"},
115 "type_variance":{"kind":"missing"},
116 "type_name":{
117 "kind":"token",
118 "token":{
119 "kind":"name",
120 "text":"T",
121 "offset":24,
122 "leading_width":0,
123 "width":1,
124 "trailing_width":0,
125 "leading":[],
126 "trailing":[],
127 "line_number":3
130 "type_constraints":{"kind":"missing"}
132 "list_separator":{"kind":"missing"}
136 "type_parameters_right_angle":{
137 "kind":"token",
138 "token":{
139 "kind":">",
140 "text":">",
141 "offset":25,
142 "leading_width":0,
143 "width":1,
144 "trailing_width":1,
145 "leading":[],
146 "trailing":[{"kind":"whitespace","text":" ","offset":26,"width":1}],
147 "line_number":3
151 "alias_constraint":{"kind":"missing"},
152 "alias_equal":{
153 "kind":"token",
154 "token":{
155 "kind":"=",
156 "text":"=",
157 "offset":27,
158 "leading_width":0,
159 "width":1,
160 "trailing_width":1,
161 "leading":[],
162 "trailing":[{"kind":"whitespace","text":" ","offset":28,"width":1}],
163 "line_number":3
166 "alias_type":{
167 "kind":"simple_type_specifier",
168 "simple_type_specifier":{
169 "kind":"token",
170 "token":{
171 "kind":"name",
172 "text":"T2",
173 "offset":29,
174 "leading_width":0,
175 "width":2,
176 "trailing_width":0,
177 "leading":[],
178 "trailing":[],
179 "line_number":3
183 "alias_semicolon":{
184 "kind":"token",
185 "token":{
186 "kind":";",
187 "text":";",
188 "offset":31,
189 "leading_width":0,
190 "width":1,
191 "trailing_width":1,
192 "leading":[],
193 "trailing":[{"kind":"end_of_line","text":"\n","offset":32,"width":1}],
194 "line_number":3
199 "kind":"alias_declaration",
200 "alias_attribute_spec":{"kind":"missing"},
201 "alias_keyword":{
202 "kind":"token",
203 "token":{
204 "kind":"type",
205 "text":"type",
206 "offset":33,
207 "leading_width":0,
208 "width":4,
209 "trailing_width":1,
210 "leading":[],
211 "trailing":[{"kind":"whitespace","text":" ","offset":37,"width":1}],
212 "line_number":4
215 "alias_name":{
216 "kind":"token",
217 "token":{
218 "kind":"name",
219 "text":"T2",
220 "offset":38,
221 "leading_width":0,
222 "width":2,
223 "trailing_width":1,
224 "leading":[],
225 "trailing":[{"kind":"whitespace","text":" ","offset":40,"width":1}],
226 "line_number":4
229 "alias_generic_parameter":{"kind":"missing"},
230 "alias_constraint":{"kind":"missing"},
231 "alias_equal":{
232 "kind":"token",
233 "token":{
234 "kind":"=",
235 "text":"=",
236 "offset":41,
237 "leading_width":0,
238 "width":1,
239 "trailing_width":1,
240 "leading":[],
241 "trailing":[{"kind":"whitespace","text":" ","offset":42,"width":1}],
242 "line_number":4
245 "alias_type":{
246 "kind":"simple_type_specifier",
247 "simple_type_specifier":{
248 "kind":"token",
249 "token":{
250 "kind":"name",
251 "text":"T2",
252 "offset":43,
253 "leading_width":0,
254 "width":2,
255 "trailing_width":0,
256 "leading":[],
257 "trailing":[],
258 "line_number":4
262 "alias_semicolon":{
263 "kind":"token",
264 "token":{
265 "kind":";",
266 "text":";",
267 "offset":45,
268 "leading_width":0,
269 "width":1,
270 "trailing_width":1,
271 "leading":[],
272 "trailing":[{"kind":"end_of_line","text":"\n","offset":46,"width":1}],
273 "line_number":4
278 "kind":"alias_declaration",
279 "alias_attribute_spec":{"kind":"missing"},
280 "alias_keyword":{
281 "kind":"token",
282 "token":{
283 "kind":"type",
284 "text":"type",
285 "offset":47,
286 "leading_width":0,
287 "width":4,
288 "trailing_width":1,
289 "leading":[],
290 "trailing":[{"kind":"whitespace","text":" ","offset":51,"width":1}],
291 "line_number":5
294 "alias_name":{
295 "kind":"token",
296 "token":{
297 "kind":"name",
298 "text":"T3",
299 "offset":52,
300 "leading_width":0,
301 "width":2,
302 "trailing_width":0,
303 "leading":[],
304 "trailing":[],
305 "line_number":5
308 "alias_generic_parameter":{
309 "kind":"type_parameters",
310 "type_parameters_left_angle":{
311 "kind":"token",
312 "token":{
313 "kind":"<",
314 "text":"<",
315 "offset":54,
316 "leading_width":0,
317 "width":1,
318 "trailing_width":0,
319 "leading":[],
320 "trailing":[],
321 "line_number":5
324 "type_parameters_parameters":{
325 "kind":"list",
326 "elements":[
328 "kind":"list_item",
329 "list_item":{
330 "kind":"type_parameter",
331 "type_attribute_spec":{"kind":"missing"},
332 "type_reified":{"kind":"missing"},
333 "type_variance":{"kind":"missing"},
334 "type_name":{
335 "kind":"token",
336 "token":{
337 "kind":"name",
338 "text":"T",
339 "offset":55,
340 "leading_width":0,
341 "width":1,
342 "trailing_width":0,
343 "leading":[],
344 "trailing":[],
345 "line_number":5
348 "type_constraints":{"kind":"missing"}
350 "list_separator":{"kind":"missing"}
354 "type_parameters_right_angle":{
355 "kind":"token",
356 "token":{
357 "kind":">",
358 "text":">",
359 "offset":56,
360 "leading_width":0,
361 "width":1,
362 "trailing_width":1,
363 "leading":[],
364 "trailing":[{"kind":"whitespace","text":" ","offset":57,"width":1}],
365 "line_number":5
369 "alias_constraint":{"kind":"missing"},
370 "alias_equal":{
371 "kind":"token",
372 "token":{
373 "kind":"=",
374 "text":"=",
375 "offset":58,
376 "leading_width":0,
377 "width":1,
378 "trailing_width":1,
379 "leading":[],
380 "trailing":[{"kind":"whitespace","text":" ","offset":59,"width":1}],
381 "line_number":5
384 "alias_type":{
385 "kind":"simple_type_specifier",
386 "simple_type_specifier":{
387 "kind":"token",
388 "token":{
389 "kind":"name",
390 "text":"T3",
391 "offset":60,
392 "leading_width":0,
393 "width":2,
394 "trailing_width":0,
395 "leading":[],
396 "trailing":[],
397 "line_number":5
401 "alias_semicolon":{
402 "kind":"token",
403 "token":{
404 "kind":";",
405 "text":";",
406 "offset":62,
407 "leading_width":0,
408 "width":1,
409 "trailing_width":1,
410 "leading":[],
411 "trailing":[{"kind":"end_of_line","text":"\n","offset":63,"width":1}],
412 "line_number":5
417 "kind":"alias_declaration",
418 "alias_attribute_spec":{"kind":"missing"},
419 "alias_keyword":{
420 "kind":"token",
421 "token":{
422 "kind":"type",
423 "text":"type",
424 "offset":64,
425 "leading_width":0,
426 "width":4,
427 "trailing_width":1,
428 "leading":[],
429 "trailing":[{"kind":"whitespace","text":" ","offset":68,"width":1}],
430 "line_number":6
433 "alias_name":{
434 "kind":"token",
435 "token":{
436 "kind":"name",
437 "text":"T4",
438 "offset":69,
439 "leading_width":0,
440 "width":2,
441 "trailing_width":0,
442 "leading":[],
443 "trailing":[],
444 "line_number":6
447 "alias_generic_parameter":{
448 "kind":"type_parameters",
449 "type_parameters_left_angle":{
450 "kind":"token",
451 "token":{
452 "kind":"<",
453 "text":"<",
454 "offset":71,
455 "leading_width":0,
456 "width":1,
457 "trailing_width":0,
458 "leading":[],
459 "trailing":[],
460 "line_number":6
463 "type_parameters_parameters":{
464 "kind":"list",
465 "elements":[
467 "kind":"list_item",
468 "list_item":{
469 "kind":"type_parameter",
470 "type_attribute_spec":{"kind":"missing"},
471 "type_reified":{"kind":"missing"},
472 "type_variance":{"kind":"missing"},
473 "type_name":{
474 "kind":"token",
475 "token":{
476 "kind":"name",
477 "text":"T",
478 "offset":72,
479 "leading_width":0,
480 "width":1,
481 "trailing_width":0,
482 "leading":[],
483 "trailing":[],
484 "line_number":6
487 "type_constraints":{"kind":"missing"}
489 "list_separator":{
490 "kind":"token",
491 "token":{
492 "kind":",",
493 "text":",",
494 "offset":73,
495 "leading_width":0,
496 "width":1,
497 "trailing_width":1,
498 "leading":[],
499 "trailing":[{"kind":"whitespace","text":" ","offset":74,"width":1}],
500 "line_number":6
505 "kind":"list_item",
506 "list_item":{
507 "kind":"type_parameter",
508 "type_attribute_spec":{"kind":"missing"},
509 "type_reified":{"kind":"missing"},
510 "type_variance":{"kind":"missing"},
511 "type_name":{
512 "kind":"token",
513 "token":{
514 "kind":"name",
515 "text":"T",
516 "offset":75,
517 "leading_width":0,
518 "width":1,
519 "trailing_width":0,
520 "leading":[],
521 "trailing":[],
522 "line_number":6
525 "type_constraints":{"kind":"missing"}
527 "list_separator":{"kind":"missing"}
531 "type_parameters_right_angle":{
532 "kind":"token",
533 "token":{
534 "kind":">",
535 "text":">",
536 "offset":76,
537 "leading_width":0,
538 "width":1,
539 "trailing_width":1,
540 "leading":[],
541 "trailing":[{"kind":"whitespace","text":" ","offset":77,"width":1}],
542 "line_number":6
546 "alias_constraint":{"kind":"missing"},
547 "alias_equal":{
548 "kind":"token",
549 "token":{
550 "kind":"=",
551 "text":"=",
552 "offset":78,
553 "leading_width":0,
554 "width":1,
555 "trailing_width":1,
556 "leading":[],
557 "trailing":[{"kind":"whitespace","text":" ","offset":79,"width":1}],
558 "line_number":6
561 "alias_type":{
562 "kind":"simple_type_specifier",
563 "simple_type_specifier":{
564 "kind":"token",
565 "token":{
566 "kind":"name",
567 "text":"T",
568 "offset":80,
569 "leading_width":0,
570 "width":1,
571 "trailing_width":0,
572 "leading":[],
573 "trailing":[],
574 "line_number":6
578 "alias_semicolon":{
579 "kind":"token",
580 "token":{
581 "kind":";",
582 "text":";",
583 "offset":81,
584 "leading_width":0,
585 "width":1,
586 "trailing_width":1,
587 "leading":[],
588 "trailing":[{"kind":"end_of_line","text":"\n","offset":82,"width":1}],
589 "line_number":6
594 "kind":"alias_declaration",
595 "alias_attribute_spec":{"kind":"missing"},
596 "alias_keyword":{
597 "kind":"token",
598 "token":{
599 "kind":"type",
600 "text":"type",
601 "offset":83,
602 "leading_width":0,
603 "width":4,
604 "trailing_width":1,
605 "leading":[],
606 "trailing":[{"kind":"whitespace","text":" ","offset":87,"width":1}],
607 "line_number":7
610 "alias_name":{
611 "kind":"token",
612 "token":{
613 "kind":"name",
614 "text":"T5",
615 "offset":88,
616 "leading_width":0,
617 "width":2,
618 "trailing_width":0,
619 "leading":[],
620 "trailing":[],
621 "line_number":7
624 "alias_generic_parameter":{
625 "kind":"type_parameters",
626 "type_parameters_left_angle":{
627 "kind":"token",
628 "token":{
629 "kind":"<",
630 "text":"<",
631 "offset":90,
632 "leading_width":0,
633 "width":1,
634 "trailing_width":0,
635 "leading":[],
636 "trailing":[],
637 "line_number":7
640 "type_parameters_parameters":{
641 "kind":"list",
642 "elements":[
644 "kind":"list_item",
645 "list_item":{
646 "kind":"type_parameter",
647 "type_attribute_spec":{"kind":"missing"},
648 "type_reified":{"kind":"missing"},
649 "type_variance":{"kind":"missing"},
650 "type_name":{
651 "kind":"token",
652 "token":{
653 "kind":"name",
654 "text":"int",
655 "offset":91,
656 "leading_width":0,
657 "width":3,
658 "trailing_width":0,
659 "leading":[],
660 "trailing":[],
661 "line_number":7
664 "type_constraints":{"kind":"missing"}
666 "list_separator":{
667 "kind":"token",
668 "token":{
669 "kind":",",
670 "text":",",
671 "offset":94,
672 "leading_width":0,
673 "width":1,
674 "trailing_width":1,
675 "leading":[],
676 "trailing":[{"kind":"whitespace","text":" ","offset":95,"width":1}],
677 "line_number":7
682 "kind":"list_item",
683 "list_item":{
684 "kind":"type_parameter",
685 "type_attribute_spec":{"kind":"missing"},
686 "type_reified":{"kind":"missing"},
687 "type_variance":{"kind":"missing"},
688 "type_name":{
689 "kind":"token",
690 "token":{
691 "kind":"name",
692 "text":"T",
693 "offset":96,
694 "leading_width":0,
695 "width":1,
696 "trailing_width":0,
697 "leading":[],
698 "trailing":[],
699 "line_number":7
702 "type_constraints":{"kind":"missing"}
704 "list_separator":{"kind":"missing"}
708 "type_parameters_right_angle":{
709 "kind":"token",
710 "token":{
711 "kind":">",
712 "text":">",
713 "offset":97,
714 "leading_width":0,
715 "width":1,
716 "trailing_width":1,
717 "leading":[],
718 "trailing":[{"kind":"whitespace","text":" ","offset":98,"width":1}],
719 "line_number":7
723 "alias_constraint":{"kind":"missing"},
724 "alias_equal":{
725 "kind":"token",
726 "token":{
727 "kind":"=",
728 "text":"=",
729 "offset":99,
730 "leading_width":0,
731 "width":1,
732 "trailing_width":1,
733 "leading":[],
734 "trailing":[{"kind":"whitespace","text":" ","offset":100,"width":1}],
735 "line_number":7
738 "alias_type":{
739 "kind":"simple_type_specifier",
740 "simple_type_specifier":{
741 "kind":"token",
742 "token":{
743 "kind":"name",
744 "text":"T",
745 "offset":101,
746 "leading_width":0,
747 "width":1,
748 "trailing_width":0,
749 "leading":[],
750 "trailing":[],
751 "line_number":7
755 "alias_semicolon":{
756 "kind":"token",
757 "token":{
758 "kind":";",
759 "text":";",
760 "offset":102,
761 "leading_width":0,
762 "width":1,
763 "trailing_width":1,
764 "leading":[],
765 "trailing":[{"kind":"end_of_line","text":"\n","offset":103,"width":1}],
766 "line_number":7
771 "kind":"end_of_file",
772 "end_of_file_token":{
773 "kind":"token",
774 "token":{
775 "kind":"end_of_file",
776 "text":"",
777 "offset":104,
778 "leading_width":0,
779 "width":0,
780 "trailing_width":0,
781 "leading":[],
782 "trailing":[],
783 "line_number":8
790 "program_text":"<?hh // strict\n\ntype T1<T> = T2;\ntype T2 = T2;\ntype T3<T> = T3;\ntype T4<T, T> = T;\ntype T5<int, T> = T;\n",
791 "version":"2020-04-14-0002"