Use JSON for FFP tests
[hiphop-php.git] / hphp / hack / test / full_fidelity / cases / test_reified_generics.php.json.exp
blob5094ad17bf3943736ee48fd7c6181687acb32faf
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":1,
48 "leading":[],
49 "trailing":[{"kind":"end_of_line","text":"\n","offset":4,"width":1}],
50 "line_number":1
56 "kind":"classish_declaration",
57 "classish_attribute":{"kind":"missing"},
58 "classish_modifiers":{"kind":"missing"},
59 "classish_xhp":{"kind":"missing"},
60 "classish_keyword":{
61 "kind":"token",
62 "token":{
63 "kind":"class",
64 "text":"class",
65 "offset":5,
66 "leading_width":1,
67 "width":5,
68 "trailing_width":1,
69 "leading":[{"kind":"end_of_line","text":"\n","offset":5,"width":1}],
70 "trailing":[{"kind":"whitespace","text":" ","offset":11,"width":1}],
71 "line_number":3
74 "classish_name":{
75 "kind":"token",
76 "token":{
77 "kind":"name",
78 "text":"C",
79 "offset":12,
80 "leading_width":0,
81 "width":1,
82 "trailing_width":0,
83 "leading":[],
84 "trailing":[],
85 "line_number":3
88 "classish_type_parameters":{
89 "kind":"type_parameters",
90 "type_parameters_left_angle":{
91 "kind":"token",
92 "token":{
93 "kind":"<",
94 "text":"<",
95 "offset":13,
96 "leading_width":0,
97 "width":1,
98 "trailing_width":0,
99 "leading":[],
100 "trailing":[],
101 "line_number":3
104 "type_parameters_parameters":{
105 "kind":"list",
106 "elements":[
108 "kind":"list_item",
109 "list_item":{
110 "kind":"type_parameter",
111 "type_attribute_spec":{"kind":"missing"},
112 "type_reified":{
113 "kind":"token",
114 "token":{
115 "kind":"reify",
116 "text":"reify",
117 "offset":14,
118 "leading_width":0,
119 "width":5,
120 "trailing_width":1,
121 "leading":[],
122 "trailing":[{"kind":"whitespace","text":" ","offset":19,"width":1}],
123 "line_number":3
126 "type_variance":{
127 "kind":"token",
128 "token":{
129 "kind":"+",
130 "text":"+",
131 "offset":20,
132 "leading_width":0,
133 "width":1,
134 "trailing_width":0,
135 "leading":[],
136 "trailing":[],
137 "line_number":3
140 "type_name":{
141 "kind":"token",
142 "token":{
143 "kind":"name",
144 "text":"T1",
145 "offset":21,
146 "leading_width":0,
147 "width":2,
148 "trailing_width":0,
149 "leading":[],
150 "trailing":[],
151 "line_number":3
154 "type_constraints":{"kind":"missing"}
156 "list_separator":{
157 "kind":"token",
158 "token":{
159 "kind":",",
160 "text":",",
161 "offset":23,
162 "leading_width":0,
163 "width":1,
164 "trailing_width":1,
165 "leading":[],
166 "trailing":[{"kind":"whitespace","text":" ","offset":24,"width":1}],
167 "line_number":3
172 "kind":"list_item",
173 "list_item":{
174 "kind":"type_parameter",
175 "type_attribute_spec":{"kind":"missing"},
176 "type_reified":{"kind":"missing"},
177 "type_variance":{
178 "kind":"token",
179 "token":{
180 "kind":"-",
181 "text":"-",
182 "offset":25,
183 "leading_width":0,
184 "width":1,
185 "trailing_width":0,
186 "leading":[],
187 "trailing":[],
188 "line_number":3
191 "type_name":{
192 "kind":"token",
193 "token":{
194 "kind":"name",
195 "text":"T2",
196 "offset":26,
197 "leading_width":0,
198 "width":2,
199 "trailing_width":0,
200 "leading":[],
201 "trailing":[],
202 "line_number":3
205 "type_constraints":{"kind":"missing"}
207 "list_separator":{
208 "kind":"token",
209 "token":{
210 "kind":",",
211 "text":",",
212 "offset":28,
213 "leading_width":0,
214 "width":1,
215 "trailing_width":1,
216 "leading":[],
217 "trailing":[{"kind":"whitespace","text":" ","offset":29,"width":1}],
218 "line_number":3
223 "kind":"list_item",
224 "list_item":{
225 "kind":"type_parameter",
226 "type_attribute_spec":{"kind":"missing"},
227 "type_reified":{
228 "kind":"token",
229 "token":{
230 "kind":"reify",
231 "text":"reify",
232 "offset":30,
233 "leading_width":0,
234 "width":5,
235 "trailing_width":1,
236 "leading":[],
237 "trailing":[{"kind":"whitespace","text":" ","offset":35,"width":1}],
238 "line_number":3
241 "type_variance":{"kind":"missing"},
242 "type_name":{
243 "kind":"token",
244 "token":{
245 "kind":"name",
246 "text":"T3",
247 "offset":36,
248 "leading_width":0,
249 "width":2,
250 "trailing_width":0,
251 "leading":[],
252 "trailing":[],
253 "line_number":3
256 "type_constraints":{"kind":"missing"}
258 "list_separator":{"kind":"missing"}
262 "type_parameters_right_angle":{
263 "kind":"token",
264 "token":{
265 "kind":">",
266 "text":">",
267 "offset":38,
268 "leading_width":0,
269 "width":1,
270 "trailing_width":0,
271 "leading":[],
272 "trailing":[],
273 "line_number":3
277 "classish_extends_keyword":{"kind":"missing"},
278 "classish_extends_list":{"kind":"missing"},
279 "classish_implements_keyword":{"kind":"missing"},
280 "classish_implements_list":{"kind":"missing"},
281 "classish_where_clause":{"kind":"missing"},
282 "classish_body":{
283 "kind":"classish_body",
284 "classish_body_left_brace":{
285 "kind":"token",
286 "token":{
287 "kind":"{",
288 "text":"{",
289 "offset":39,
290 "leading_width":0,
291 "width":1,
292 "trailing_width":0,
293 "leading":[],
294 "trailing":[],
295 "line_number":3
298 "classish_body_elements":{"kind":"missing"},
299 "classish_body_right_brace":{
300 "kind":"token",
301 "token":{
302 "kind":"}",
303 "text":"}",
304 "offset":40,
305 "leading_width":0,
306 "width":1,
307 "trailing_width":1,
308 "leading":[],
309 "trailing":[{"kind":"end_of_line","text":"\n","offset":41,"width":1}],
310 "line_number":3
316 "kind":"function_declaration",
317 "function_attribute_spec":{"kind":"missing"},
318 "function_declaration_header":{
319 "kind":"function_declaration_header",
320 "function_modifiers":{"kind":"missing"},
321 "function_keyword":{
322 "kind":"token",
323 "token":{
324 "kind":"function",
325 "text":"function",
326 "offset":42,
327 "leading_width":1,
328 "width":8,
329 "trailing_width":1,
330 "leading":[{"kind":"end_of_line","text":"\n","offset":42,"width":1}],
331 "trailing":[{"kind":"whitespace","text":" ","offset":51,"width":1}],
332 "line_number":5
335 "function_name":{
336 "kind":"token",
337 "token":{
338 "kind":"name",
339 "text":"f",
340 "offset":52,
341 "leading_width":0,
342 "width":1,
343 "trailing_width":0,
344 "leading":[],
345 "trailing":[],
346 "line_number":5
349 "function_type_parameter_list":{
350 "kind":"type_parameters",
351 "type_parameters_left_angle":{
352 "kind":"token",
353 "token":{
354 "kind":"<",
355 "text":"<",
356 "offset":53,
357 "leading_width":0,
358 "width":1,
359 "trailing_width":0,
360 "leading":[],
361 "trailing":[],
362 "line_number":5
365 "type_parameters_parameters":{
366 "kind":"list",
367 "elements":[
369 "kind":"list_item",
370 "list_item":{
371 "kind":"type_parameter",
372 "type_attribute_spec":{"kind":"missing"},
373 "type_reified":{
374 "kind":"token",
375 "token":{
376 "kind":"reify",
377 "text":"reify",
378 "offset":54,
379 "leading_width":0,
380 "width":5,
381 "trailing_width":1,
382 "leading":[],
383 "trailing":[{"kind":"whitespace","text":" ","offset":59,"width":1}],
384 "line_number":5
387 "type_variance":{"kind":"missing"},
388 "type_name":{
389 "kind":"token",
390 "token":{
391 "kind":"name",
392 "text":"T1",
393 "offset":60,
394 "leading_width":0,
395 "width":2,
396 "trailing_width":0,
397 "leading":[],
398 "trailing":[],
399 "line_number":5
402 "type_constraints":{"kind":"missing"}
404 "list_separator":{
405 "kind":"token",
406 "token":{
407 "kind":",",
408 "text":",",
409 "offset":62,
410 "leading_width":0,
411 "width":1,
412 "trailing_width":1,
413 "leading":[],
414 "trailing":[{"kind":"whitespace","text":" ","offset":63,"width":1}],
415 "line_number":5
420 "kind":"list_item",
421 "list_item":{
422 "kind":"type_parameter",
423 "type_attribute_spec":{"kind":"missing"},
424 "type_reified":{"kind":"missing"},
425 "type_variance":{"kind":"missing"},
426 "type_name":{
427 "kind":"token",
428 "token":{
429 "kind":"name",
430 "text":"T2",
431 "offset":64,
432 "leading_width":0,
433 "width":2,
434 "trailing_width":0,
435 "leading":[],
436 "trailing":[],
437 "line_number":5
440 "type_constraints":{"kind":"missing"}
442 "list_separator":{
443 "kind":"token",
444 "token":{
445 "kind":",",
446 "text":",",
447 "offset":66,
448 "leading_width":0,
449 "width":1,
450 "trailing_width":1,
451 "leading":[],
452 "trailing":[{"kind":"whitespace","text":" ","offset":67,"width":1}],
453 "line_number":5
458 "kind":"list_item",
459 "list_item":{
460 "kind":"type_parameter",
461 "type_attribute_spec":{"kind":"missing"},
462 "type_reified":{
463 "kind":"token",
464 "token":{
465 "kind":"reify",
466 "text":"reify",
467 "offset":68,
468 "leading_width":0,
469 "width":5,
470 "trailing_width":1,
471 "leading":[],
472 "trailing":[{"kind":"whitespace","text":" ","offset":73,"width":1}],
473 "line_number":5
476 "type_variance":{"kind":"missing"},
477 "type_name":{
478 "kind":"token",
479 "token":{
480 "kind":"name",
481 "text":"T3",
482 "offset":74,
483 "leading_width":0,
484 "width":2,
485 "trailing_width":0,
486 "leading":[],
487 "trailing":[],
488 "line_number":5
491 "type_constraints":{"kind":"missing"}
493 "list_separator":{"kind":"missing"}
497 "type_parameters_right_angle":{
498 "kind":"token",
499 "token":{
500 "kind":">",
501 "text":">",
502 "offset":76,
503 "leading_width":0,
504 "width":1,
505 "trailing_width":0,
506 "leading":[],
507 "trailing":[],
508 "line_number":5
512 "function_left_paren":{
513 "kind":"token",
514 "token":{
515 "kind":"(",
516 "text":"(",
517 "offset":77,
518 "leading_width":0,
519 "width":1,
520 "trailing_width":0,
521 "leading":[],
522 "trailing":[],
523 "line_number":5
526 "function_parameter_list":{
527 "kind":"list",
528 "elements":[
530 "kind":"list_item",
531 "list_item":{
532 "kind":"parameter_declaration",
533 "parameter_attribute":{"kind":"missing"},
534 "parameter_visibility":{"kind":"missing"},
535 "parameter_call_convention":{"kind":"missing"},
536 "parameter_type":{
537 "kind":"simple_type_specifier",
538 "simple_type_specifier":{
539 "kind":"token",
540 "token":{
541 "kind":"int",
542 "text":"int",
543 "offset":78,
544 "leading_width":0,
545 "width":3,
546 "trailing_width":1,
547 "leading":[],
548 "trailing":[{"kind":"whitespace","text":" ","offset":81,"width":1}],
549 "line_number":5
553 "parameter_name":{
554 "kind":"token",
555 "token":{
556 "kind":"variable",
557 "text":"$x",
558 "offset":82,
559 "leading_width":0,
560 "width":2,
561 "trailing_width":0,
562 "leading":[],
563 "trailing":[],
564 "line_number":5
567 "parameter_default_value":{"kind":"missing"}
569 "list_separator":{"kind":"missing"}
573 "function_right_paren":{
574 "kind":"token",
575 "token":{
576 "kind":")",
577 "text":")",
578 "offset":84,
579 "leading_width":0,
580 "width":1,
581 "trailing_width":1,
582 "leading":[],
583 "trailing":[{"kind":"whitespace","text":" ","offset":85,"width":1}],
584 "line_number":5
587 "function_colon":{"kind":"missing"},
588 "function_type":{"kind":"missing"},
589 "function_where_clause":{"kind":"missing"}
591 "function_body":{
592 "kind":"compound_statement",
593 "compound_left_brace":{
594 "kind":"token",
595 "token":{
596 "kind":"{",
597 "text":"{",
598 "offset":86,
599 "leading_width":0,
600 "width":1,
601 "trailing_width":0,
602 "leading":[],
603 "trailing":[],
604 "line_number":5
607 "compound_statements":{"kind":"missing"},
608 "compound_right_brace":{
609 "kind":"token",
610 "token":{
611 "kind":"}",
612 "text":"}",
613 "offset":87,
614 "leading_width":0,
615 "width":1,
616 "trailing_width":1,
617 "leading":[],
618 "trailing":[{"kind":"end_of_line","text":"\n","offset":88,"width":1}],
619 "line_number":5
625 "kind":"expression_statement",
626 "expression_statement_expression":{
627 "kind":"function_call_expression",
628 "function_call_receiver":{
629 "kind":"token",
630 "token":{
631 "kind":"name",
632 "text":"f",
633 "offset":89,
634 "leading_width":1,
635 "width":1,
636 "trailing_width":0,
637 "leading":[{"kind":"end_of_line","text":"\n","offset":89,"width":1}],
638 "trailing":[],
639 "line_number":7
642 "function_call_type_args":{
643 "kind":"type_arguments",
644 "type_arguments_left_angle":{
645 "kind":"token",
646 "token":{
647 "kind":"<",
648 "text":"<",
649 "offset":91,
650 "leading_width":0,
651 "width":1,
652 "trailing_width":0,
653 "leading":[],
654 "trailing":[],
655 "line_number":7
658 "type_arguments_types":{
659 "kind":"list",
660 "elements":[
662 "kind":"list_item",
663 "list_item":{
664 "kind":"reified_type_argument",
665 "reified_type_argument_reified":{
666 "kind":"token",
667 "token":{
668 "kind":"reify",
669 "text":"reify",
670 "offset":92,
671 "leading_width":0,
672 "width":5,
673 "trailing_width":1,
674 "leading":[],
675 "trailing":[{"kind":"whitespace","text":" ","offset":97,"width":1}],
676 "line_number":7
679 "reified_type_argument_type":{
680 "kind":"simple_type_specifier",
681 "simple_type_specifier":{
682 "kind":"token",
683 "token":{
684 "kind":"int",
685 "text":"int",
686 "offset":98,
687 "leading_width":0,
688 "width":3,
689 "trailing_width":0,
690 "leading":[],
691 "trailing":[],
692 "line_number":7
697 "list_separator":{
698 "kind":"token",
699 "token":{
700 "kind":",",
701 "text":",",
702 "offset":101,
703 "leading_width":0,
704 "width":1,
705 "trailing_width":1,
706 "leading":[],
707 "trailing":[{"kind":"whitespace","text":" ","offset":102,"width":1}],
708 "line_number":7
713 "kind":"list_item",
714 "list_item":{
715 "kind":"simple_type_specifier",
716 "simple_type_specifier":{
717 "kind":"token",
718 "token":{
719 "kind":"string",
720 "text":"string",
721 "offset":103,
722 "leading_width":0,
723 "width":6,
724 "trailing_width":0,
725 "leading":[],
726 "trailing":[],
727 "line_number":7
731 "list_separator":{
732 "kind":"token",
733 "token":{
734 "kind":",",
735 "text":",",
736 "offset":109,
737 "leading_width":0,
738 "width":1,
739 "trailing_width":1,
740 "leading":[],
741 "trailing":[{"kind":"whitespace","text":" ","offset":110,"width":1}],
742 "line_number":7
747 "kind":"list_item",
748 "list_item":{
749 "kind":"reified_type_argument",
750 "reified_type_argument_reified":{
751 "kind":"token",
752 "token":{
753 "kind":"reify",
754 "text":"reify",
755 "offset":111,
756 "leading_width":0,
757 "width":5,
758 "trailing_width":1,
759 "leading":[],
760 "trailing":[{"kind":"whitespace","text":" ","offset":116,"width":1}],
761 "line_number":7
764 "reified_type_argument_type":{
765 "kind":"simple_type_specifier",
766 "simple_type_specifier":{
767 "kind":"token",
768 "token":{
769 "kind":"bool",
770 "text":"bool",
771 "offset":117,
772 "leading_width":0,
773 "width":4,
774 "trailing_width":0,
775 "leading":[],
776 "trailing":[],
777 "line_number":7
782 "list_separator":{"kind":"missing"}
786 "type_arguments_right_angle":{
787 "kind":"token",
788 "token":{
789 "kind":">",
790 "text":">",
791 "offset":121,
792 "leading_width":0,
793 "width":1,
794 "trailing_width":0,
795 "leading":[],
796 "trailing":[],
797 "line_number":7
801 "function_call_left_paren":{
802 "kind":"token",
803 "token":{
804 "kind":"(",
805 "text":"(",
806 "offset":122,
807 "leading_width":0,
808 "width":1,
809 "trailing_width":0,
810 "leading":[],
811 "trailing":[],
812 "line_number":7
815 "function_call_argument_list":{
816 "kind":"list",
817 "elements":[
819 "kind":"list_item",
820 "list_item":{
821 "kind":"literal",
822 "literal_expression":{
823 "kind":"token",
824 "token":{
825 "kind":"decimal_literal",
826 "text":"1",
827 "offset":123,
828 "leading_width":0,
829 "width":1,
830 "trailing_width":0,
831 "leading":[],
832 "trailing":[],
833 "line_number":7
837 "list_separator":{"kind":"missing"}
841 "function_call_right_paren":{
842 "kind":"token",
843 "token":{
844 "kind":")",
845 "text":")",
846 "offset":124,
847 "leading_width":0,
848 "width":1,
849 "trailing_width":0,
850 "leading":[],
851 "trailing":[],
852 "line_number":7
856 "expression_statement_semicolon":{
857 "kind":"token",
858 "token":{
859 "kind":";",
860 "text":";",
861 "offset":125,
862 "leading_width":0,
863 "width":1,
864 "trailing_width":1,
865 "leading":[],
866 "trailing":[{"kind":"end_of_line","text":"\n","offset":126,"width":1}],
867 "line_number":7
872 "kind":"expression_statement",
873 "expression_statement_expression":{
874 "kind":"object_creation_expression",
875 "object_creation_new_keyword":{
876 "kind":"token",
877 "token":{
878 "kind":"new",
879 "text":"new",
880 "offset":127,
881 "leading_width":1,
882 "width":3,
883 "trailing_width":1,
884 "leading":[{"kind":"end_of_line","text":"\n","offset":127,"width":1}],
885 "trailing":[{"kind":"whitespace","text":" ","offset":131,"width":1}],
886 "line_number":9
889 "object_creation_object":{
890 "kind":"constructor_call",
891 "constructor_call_type":{
892 "kind":"generic_type_specifier",
893 "generic_class_type":{
894 "kind":"token",
895 "token":{
896 "kind":"name",
897 "text":"C",
898 "offset":132,
899 "leading_width":0,
900 "width":1,
901 "trailing_width":0,
902 "leading":[],
903 "trailing":[],
904 "line_number":9
907 "generic_argument_list":{
908 "kind":"type_arguments",
909 "type_arguments_left_angle":{
910 "kind":"token",
911 "token":{
912 "kind":"<",
913 "text":"<",
914 "offset":133,
915 "leading_width":0,
916 "width":1,
917 "trailing_width":0,
918 "leading":[],
919 "trailing":[],
920 "line_number":9
923 "type_arguments_types":{
924 "kind":"list",
925 "elements":[
927 "kind":"list_item",
928 "list_item":{
929 "kind":"reified_type_argument",
930 "reified_type_argument_reified":{
931 "kind":"token",
932 "token":{
933 "kind":"reify",
934 "text":"reify",
935 "offset":134,
936 "leading_width":0,
937 "width":5,
938 "trailing_width":1,
939 "leading":[],
940 "trailing":[{"kind":"whitespace","text":" ","offset":139,"width":1}],
941 "line_number":9
944 "reified_type_argument_type":{
945 "kind":"simple_type_specifier",
946 "simple_type_specifier":{
947 "kind":"token",
948 "token":{
949 "kind":"int",
950 "text":"int",
951 "offset":140,
952 "leading_width":0,
953 "width":3,
954 "trailing_width":0,
955 "leading":[],
956 "trailing":[],
957 "line_number":9
962 "list_separator":{
963 "kind":"token",
964 "token":{
965 "kind":",",
966 "text":",",
967 "offset":143,
968 "leading_width":0,
969 "width":1,
970 "trailing_width":1,
971 "leading":[],
972 "trailing":[{"kind":"whitespace","text":" ","offset":144,"width":1}],
973 "line_number":9
978 "kind":"list_item",
979 "list_item":{
980 "kind":"simple_type_specifier",
981 "simple_type_specifier":{
982 "kind":"token",
983 "token":{
984 "kind":"string",
985 "text":"string",
986 "offset":145,
987 "leading_width":0,
988 "width":6,
989 "trailing_width":0,
990 "leading":[],
991 "trailing":[],
992 "line_number":9
996 "list_separator":{
997 "kind":"token",
998 "token":{
999 "kind":",",
1000 "text":",",
1001 "offset":151,
1002 "leading_width":0,
1003 "width":1,
1004 "trailing_width":1,
1005 "leading":[],
1006 "trailing":[{"kind":"whitespace","text":" ","offset":152,"width":1}],
1007 "line_number":9
1012 "kind":"list_item",
1013 "list_item":{
1014 "kind":"reified_type_argument",
1015 "reified_type_argument_reified":{
1016 "kind":"token",
1017 "token":{
1018 "kind":"reify",
1019 "text":"reify",
1020 "offset":153,
1021 "leading_width":0,
1022 "width":5,
1023 "trailing_width":1,
1024 "leading":[],
1025 "trailing":[{"kind":"whitespace","text":" ","offset":158,"width":1}],
1026 "line_number":9
1029 "reified_type_argument_type":{
1030 "kind":"simple_type_specifier",
1031 "simple_type_specifier":{
1032 "kind":"token",
1033 "token":{
1034 "kind":"bool",
1035 "text":"bool",
1036 "offset":159,
1037 "leading_width":0,
1038 "width":4,
1039 "trailing_width":0,
1040 "leading":[],
1041 "trailing":[],
1042 "line_number":9
1047 "list_separator":{"kind":"missing"}
1051 "type_arguments_right_angle":{
1052 "kind":"token",
1053 "token":{
1054 "kind":">",
1055 "text":">",
1056 "offset":163,
1057 "leading_width":0,
1058 "width":1,
1059 "trailing_width":0,
1060 "leading":[],
1061 "trailing":[],
1062 "line_number":9
1067 "constructor_call_left_paren":{
1068 "kind":"token",
1069 "token":{
1070 "kind":"(",
1071 "text":"(",
1072 "offset":164,
1073 "leading_width":0,
1074 "width":1,
1075 "trailing_width":0,
1076 "leading":[],
1077 "trailing":[],
1078 "line_number":9
1081 "constructor_call_argument_list":{"kind":"missing"},
1082 "constructor_call_right_paren":{
1083 "kind":"token",
1084 "token":{
1085 "kind":")",
1086 "text":")",
1087 "offset":165,
1088 "leading_width":0,
1089 "width":1,
1090 "trailing_width":0,
1091 "leading":[],
1092 "trailing":[],
1093 "line_number":9
1098 "expression_statement_semicolon":{
1099 "kind":"token",
1100 "token":{
1101 "kind":";",
1102 "text":";",
1103 "offset":166,
1104 "leading_width":0,
1105 "width":1,
1106 "trailing_width":1,
1107 "leading":[],
1108 "trailing":[{"kind":"end_of_line","text":"\n","offset":167,"width":1}],
1109 "line_number":9
1114 "kind":"end_of_file",
1115 "end_of_file_token":{
1116 "kind":"token",
1117 "token":{
1118 "kind":"end_of_file",
1119 "text":"",
1120 "offset":168,
1121 "leading_width":0,
1122 "width":0,
1123 "trailing_width":0,
1124 "leading":[],
1125 "trailing":[],
1126 "line_number":10
1133 "program_text":"<?hh\n\nclass C<reify +T1, -T2, reify T3>{}\n\nfunction f<reify T1, T2, reify T3>(int $x) {}\n\nf<reify int, string, reify bool>(1);\n\nnew C<reify int, string, reify bool>();\n",
1134 "version":"2020-04-14-0002"