Use JSON for FFP tests
[hiphop-php.git] / hphp / hack / test / full_fidelity / cases / test_funcall_with_type_arguments.php.json.exp
blob8c5eea990268ee3902102e872bf001b7e756cced
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":"expression_statement",
61 "expression_statement_expression":{
62 "kind":"function_call_expression",
63 "function_call_receiver":{
64 "kind":"token",
65 "token":{
66 "kind":"name",
67 "text":"f",
68 "offset":15,
69 "leading_width":53,
70 "width":1,
71 "trailing_width":0,
72 "leading":[
73 {"kind":"end_of_line","text":"\n","offset":15,"width":1},
75 "kind":"single_line_comment",
76 "text":"// ficticious functions with size-discernable names",
77 "offset":16,
78 "width":51
80 {"kind":"end_of_line","text":"\n","offset":67,"width":1}
82 "trailing":[],
83 "line_number":4
86 "function_call_type_args":{"kind":"missing"},
87 "function_call_left_paren":{
88 "kind":"token",
89 "token":{
90 "kind":"(",
91 "text":"(",
92 "offset":69,
93 "leading_width":0,
94 "width":1,
95 "trailing_width":0,
96 "leading":[],
97 "trailing":[],
98 "line_number":4
101 "function_call_argument_list":{
102 "kind":"list",
103 "elements":[
105 "kind":"list_item",
106 "list_item":{
107 "kind":"literal",
108 "literal_expression":{
109 "kind":"token",
110 "token":{
111 "kind":"single_quoted_string_literal",
112 "text":"'hi'",
113 "offset":70,
114 "leading_width":0,
115 "width":4,
116 "trailing_width":0,
117 "leading":[],
118 "trailing":[],
119 "line_number":4
123 "list_separator":{"kind":"missing"}
127 "function_call_right_paren":{
128 "kind":"token",
129 "token":{
130 "kind":")",
131 "text":")",
132 "offset":74,
133 "leading_width":0,
134 "width":1,
135 "trailing_width":0,
136 "leading":[],
137 "trailing":[],
138 "line_number":4
142 "expression_statement_semicolon":{
143 "kind":"token",
144 "token":{
145 "kind":";",
146 "text":";",
147 "offset":75,
148 "leading_width":0,
149 "width":1,
150 "trailing_width":38,
151 "leading":[],
152 "trailing":[
153 {"kind":"whitespace","text":" ","offset":76,"width":1},
155 "kind":"single_line_comment",
156 "text":"// normal function call w/o generics",
157 "offset":77,
158 "width":36
160 {"kind":"end_of_line","text":"\n","offset":113,"width":1}
162 "line_number":4
167 "kind":"expression_statement",
168 "expression_statement_expression":{
169 "kind":"function_call_expression",
170 "function_call_receiver":{
171 "kind":"token",
172 "token":{
173 "kind":"name",
174 "text":"fo",
175 "offset":114,
176 "leading_width":0,
177 "width":2,
178 "trailing_width":0,
179 "leading":[],
180 "trailing":[],
181 "line_number":5
184 "function_call_type_args":{
185 "kind":"type_arguments",
186 "type_arguments_left_angle":{
187 "kind":"token",
188 "token":{
189 "kind":"<",
190 "text":"<",
191 "offset":116,
192 "leading_width":0,
193 "width":1,
194 "trailing_width":0,
195 "leading":[],
196 "trailing":[],
197 "line_number":5
200 "type_arguments_types":{
201 "kind":"list",
202 "elements":[
204 "kind":"list_item",
205 "list_item":{
206 "kind":"simple_type_specifier",
207 "simple_type_specifier":{
208 "kind":"token",
209 "token":{
210 "kind":"string",
211 "text":"string",
212 "offset":117,
213 "leading_width":0,
214 "width":6,
215 "trailing_width":0,
216 "leading":[],
217 "trailing":[],
218 "line_number":5
222 "list_separator":{"kind":"missing"}
226 "type_arguments_right_angle":{
227 "kind":"token",
228 "token":{
229 "kind":">",
230 "text":">",
231 "offset":123,
232 "leading_width":0,
233 "width":1,
234 "trailing_width":0,
235 "leading":[],
236 "trailing":[],
237 "line_number":5
241 "function_call_left_paren":{
242 "kind":"token",
243 "token":{
244 "kind":"(",
245 "text":"(",
246 "offset":124,
247 "leading_width":0,
248 "width":1,
249 "trailing_width":0,
250 "leading":[],
251 "trailing":[],
252 "line_number":5
255 "function_call_argument_list":{
256 "kind":"list",
257 "elements":[
259 "kind":"list_item",
260 "list_item":{
261 "kind":"literal",
262 "literal_expression":{
263 "kind":"token",
264 "token":{
265 "kind":"single_quoted_string_literal",
266 "text":"'hello'",
267 "offset":125,
268 "leading_width":0,
269 "width":7,
270 "trailing_width":0,
271 "leading":[],
272 "trailing":[],
273 "line_number":5
277 "list_separator":{"kind":"missing"}
281 "function_call_right_paren":{
282 "kind":"token",
283 "token":{
284 "kind":")",
285 "text":")",
286 "offset":132,
287 "leading_width":0,
288 "width":1,
289 "trailing_width":0,
290 "leading":[],
291 "trailing":[],
292 "line_number":5
296 "expression_statement_semicolon":{
297 "kind":"token",
298 "token":{
299 "kind":";",
300 "text":";",
301 "offset":133,
302 "leading_width":0,
303 "width":1,
304 "trailing_width":28,
305 "leading":[],
306 "trailing":[
307 {"kind":"whitespace","text":" ","offset":134,"width":1},
309 "kind":"single_line_comment",
310 "text":"// annotated function call",
311 "offset":135,
312 "width":26
314 {"kind":"end_of_line","text":"\n","offset":161,"width":1}
316 "line_number":5
321 "kind":"expression_statement",
322 "expression_statement_expression":{
323 "kind":"function_call_expression",
324 "function_call_receiver":{
325 "kind":"token",
326 "token":{
327 "kind":"name",
328 "text":"foo",
329 "offset":162,
330 "leading_width":0,
331 "width":3,
332 "trailing_width":0,
333 "leading":[],
334 "trailing":[],
335 "line_number":6
338 "function_call_type_args":{"kind":"missing"},
339 "function_call_left_paren":{
340 "kind":"token",
341 "token":{
342 "kind":"(",
343 "text":"(",
344 "offset":165,
345 "leading_width":0,
346 "width":1,
347 "trailing_width":0,
348 "leading":[],
349 "trailing":[],
350 "line_number":6
353 "function_call_argument_list":{
354 "kind":"list",
355 "elements":[
357 "kind":"list_item",
358 "list_item":{
359 "kind":"binary_expression",
360 "binary_left_operand":{
361 "kind":"literal",
362 "literal_expression":{
363 "kind":"token",
364 "token":{
365 "kind":"decimal_literal",
366 "text":"0",
367 "offset":166,
368 "leading_width":0,
369 "width":1,
370 "trailing_width":1,
371 "leading":[],
372 "trailing":[{"kind":"whitespace","text":" ","offset":167,"width":1}],
373 "line_number":6
377 "binary_operator":{
378 "kind":"token",
379 "token":{
380 "kind":"<",
381 "text":"<",
382 "offset":168,
383 "leading_width":0,
384 "width":1,
385 "trailing_width":1,
386 "leading":[],
387 "trailing":[{"kind":"whitespace","text":" ","offset":169,"width":1}],
388 "line_number":6
391 "binary_right_operand":{
392 "kind":"literal",
393 "literal_expression":{
394 "kind":"token",
395 "token":{
396 "kind":"decimal_literal",
397 "text":"0",
398 "offset":170,
399 "leading_width":0,
400 "width":1,
401 "trailing_width":0,
402 "leading":[],
403 "trailing":[],
404 "line_number":6
409 "list_separator":{
410 "kind":"token",
411 "token":{
412 "kind":",",
413 "text":",",
414 "offset":171,
415 "leading_width":0,
416 "width":1,
417 "trailing_width":1,
418 "leading":[],
419 "trailing":[{"kind":"whitespace","text":" ","offset":172,"width":1}],
420 "line_number":6
425 "kind":"list_item",
426 "list_item":{
427 "kind":"tuple_expression",
428 "tuple_expression_keyword":{
429 "kind":"token",
430 "token":{
431 "kind":"tuple",
432 "text":"tuple",
433 "offset":173,
434 "leading_width":0,
435 "width":5,
436 "trailing_width":0,
437 "leading":[],
438 "trailing":[],
439 "line_number":6
442 "tuple_expression_left_paren":{
443 "kind":"token",
444 "token":{
445 "kind":"(",
446 "text":"(",
447 "offset":178,
448 "leading_width":0,
449 "width":1,
450 "trailing_width":0,
451 "leading":[],
452 "trailing":[],
453 "line_number":6
456 "tuple_expression_items":{"kind":"missing"},
457 "tuple_expression_right_paren":{
458 "kind":"token",
459 "token":{
460 "kind":")",
461 "text":")",
462 "offset":179,
463 "leading_width":0,
464 "width":1,
465 "trailing_width":0,
466 "leading":[],
467 "trailing":[],
468 "line_number":6
472 "list_separator":{"kind":"missing"}
476 "function_call_right_paren":{
477 "kind":"token",
478 "token":{
479 "kind":")",
480 "text":")",
481 "offset":180,
482 "leading_width":0,
483 "width":1,
484 "trailing_width":0,
485 "leading":[],
486 "trailing":[],
487 "line_number":6
491 "expression_statement_semicolon":{
492 "kind":"token",
493 "token":{
494 "kind":";",
495 "text":";",
496 "offset":181,
497 "leading_width":0,
498 "width":1,
499 "trailing_width":50,
500 "leading":[],
501 "trailing":[
502 {"kind":"whitespace","text":" ","offset":182,"width":1},
504 "kind":"single_line_comment",
505 "text":"// not generics annotated, but seems so a little",
506 "offset":183,
507 "width":48
509 {"kind":"end_of_line","text":"\n","offset":231,"width":1}
511 "line_number":6
516 "kind":"expression_statement",
517 "expression_statement_expression":{
518 "kind":"function_call_expression",
519 "function_call_receiver":{
520 "kind":"token",
521 "token":{
522 "kind":"name",
523 "text":"fooo",
524 "offset":232,
525 "leading_width":0,
526 "width":4,
527 "trailing_width":0,
528 "leading":[],
529 "trailing":[],
530 "line_number":7
533 "function_call_type_args":{"kind":"missing"},
534 "function_call_left_paren":{
535 "kind":"token",
536 "token":{
537 "kind":"(",
538 "text":"(",
539 "offset":236,
540 "leading_width":0,
541 "width":1,
542 "trailing_width":0,
543 "leading":[],
544 "trailing":[],
545 "line_number":7
548 "function_call_argument_list":{
549 "kind":"list",
550 "elements":[
552 "kind":"list_item",
553 "list_item":{
554 "kind":"binary_expression",
555 "binary_left_operand":{
556 "kind":"token",
557 "token":{
558 "kind":"name",
559 "text":"Bar",
560 "offset":237,
561 "leading_width":0,
562 "width":3,
563 "trailing_width":1,
564 "leading":[],
565 "trailing":[{"kind":"whitespace","text":" ","offset":240,"width":1}],
566 "line_number":7
569 "binary_operator":{
570 "kind":"token",
571 "token":{
572 "kind":"<",
573 "text":"<",
574 "offset":241,
575 "leading_width":0,
576 "width":1,
577 "trailing_width":1,
578 "leading":[],
579 "trailing":[{"kind":"whitespace","text":" ","offset":242,"width":1}],
580 "line_number":7
583 "binary_right_operand":{
584 "kind":"literal",
585 "literal_expression":{
586 "kind":"token",
587 "token":{
588 "kind":"decimal_literal",
589 "text":"0",
590 "offset":243,
591 "leading_width":0,
592 "width":1,
593 "trailing_width":0,
594 "leading":[],
595 "trailing":[],
596 "line_number":7
601 "list_separator":{
602 "kind":"token",
603 "token":{
604 "kind":",",
605 "text":",",
606 "offset":244,
607 "leading_width":0,
608 "width":1,
609 "trailing_width":1,
610 "leading":[],
611 "trailing":[{"kind":"whitespace","text":" ","offset":245,"width":1}],
612 "line_number":7
617 "kind":"list_item",
618 "list_item":{
619 "kind":"binary_expression",
620 "binary_left_operand":{
621 "kind":"literal",
622 "literal_expression":{
623 "kind":"token",
624 "token":{
625 "kind":"decimal_literal",
626 "text":"10",
627 "offset":246,
628 "leading_width":0,
629 "width":2,
630 "trailing_width":1,
631 "leading":[],
632 "trailing":[{"kind":"whitespace","text":" ","offset":248,"width":1}],
633 "line_number":7
637 "binary_operator":{
638 "kind":"token",
639 "token":{
640 "kind":">",
641 "text":">",
642 "offset":249,
643 "leading_width":0,
644 "width":1,
645 "trailing_width":1,
646 "leading":[],
647 "trailing":[{"kind":"whitespace","text":" ","offset":250,"width":1}],
648 "line_number":7
651 "binary_right_operand":{
652 "kind":"token",
653 "token":{
654 "kind":"name",
655 "text":"Qux",
656 "offset":251,
657 "leading_width":0,
658 "width":3,
659 "trailing_width":0,
660 "leading":[],
661 "trailing":[],
662 "line_number":7
666 "list_separator":{"kind":"missing"}
670 "function_call_right_paren":{
671 "kind":"token",
672 "token":{
673 "kind":")",
674 "text":")",
675 "offset":254,
676 "leading_width":0,
677 "width":1,
678 "trailing_width":0,
679 "leading":[],
680 "trailing":[],
681 "line_number":7
685 "expression_statement_semicolon":{
686 "kind":"token",
687 "token":{
688 "kind":";",
689 "text":";",
690 "offset":255,
691 "leading_width":0,
692 "width":1,
693 "trailing_width":46,
694 "leading":[],
695 "trailing":[
696 {"kind":"whitespace","text":" ","offset":256,"width":1},
698 "kind":"single_line_comment",
699 "text":"// certainly not annotated, but hard to tell",
700 "offset":257,
701 "width":44
703 {"kind":"end_of_line","text":"\n","offset":301,"width":1}
705 "line_number":7
710 "kind":"expression_statement",
711 "expression_statement_expression":{
712 "kind":"function_call_expression",
713 "function_call_receiver":{
714 "kind":"token",
715 "token":{
716 "kind":"name",
717 "text":"foooo",
718 "offset":302,
719 "leading_width":0,
720 "width":5,
721 "trailing_width":0,
722 "leading":[],
723 "trailing":[],
724 "line_number":8
727 "function_call_type_args":{"kind":"missing"},
728 "function_call_left_paren":{
729 "kind":"token",
730 "token":{
731 "kind":"(",
732 "text":"(",
733 "offset":307,
734 "leading_width":0,
735 "width":1,
736 "trailing_width":0,
737 "leading":[],
738 "trailing":[],
739 "line_number":8
742 "function_call_argument_list":{
743 "kind":"list",
744 "elements":[
746 "kind":"list_item",
747 "list_item":{
748 "kind":"function_call_expression",
749 "function_call_receiver":{
750 "kind":"token",
751 "token":{
752 "kind":"name",
753 "text":"bar",
754 "offset":308,
755 "leading_width":0,
756 "width":3,
757 "trailing_width":0,
758 "leading":[],
759 "trailing":[],
760 "line_number":8
763 "function_call_type_args":{
764 "kind":"type_arguments",
765 "type_arguments_left_angle":{
766 "kind":"token",
767 "token":{
768 "kind":"<",
769 "text":"<",
770 "offset":311,
771 "leading_width":0,
772 "width":1,
773 "trailing_width":0,
774 "leading":[],
775 "trailing":[],
776 "line_number":8
779 "type_arguments_types":{
780 "kind":"list",
781 "elements":[
783 "kind":"list_item",
784 "list_item":{
785 "kind":"simple_type_specifier",
786 "simple_type_specifier":{
787 "kind":"token",
788 "token":{
789 "kind":"int",
790 "text":"int",
791 "offset":312,
792 "leading_width":0,
793 "width":3,
794 "trailing_width":0,
795 "leading":[],
796 "trailing":[],
797 "line_number":8
801 "list_separator":{
802 "kind":"token",
803 "token":{
804 "kind":",",
805 "text":",",
806 "offset":315,
807 "leading_width":0,
808 "width":1,
809 "trailing_width":0,
810 "leading":[],
811 "trailing":[],
812 "line_number":8
817 "kind":"list_item",
818 "list_item":{
819 "kind":"simple_type_specifier",
820 "simple_type_specifier":{
821 "kind":"token",
822 "token":{
823 "kind":"string",
824 "text":"string",
825 "offset":316,
826 "leading_width":0,
827 "width":6,
828 "trailing_width":0,
829 "leading":[],
830 "trailing":[],
831 "line_number":8
835 "list_separator":{"kind":"missing"}
839 "type_arguments_right_angle":{
840 "kind":"token",
841 "token":{
842 "kind":">",
843 "text":">",
844 "offset":322,
845 "leading_width":0,
846 "width":1,
847 "trailing_width":0,
848 "leading":[],
849 "trailing":[],
850 "line_number":8
854 "function_call_left_paren":{
855 "kind":"token",
856 "token":{
857 "kind":"(",
858 "text":"(",
859 "offset":323,
860 "leading_width":0,
861 "width":1,
862 "trailing_width":0,
863 "leading":[],
864 "trailing":[],
865 "line_number":8
868 "function_call_argument_list":{"kind":"missing"},
869 "function_call_right_paren":{
870 "kind":"token",
871 "token":{
872 "kind":")",
873 "text":")",
874 "offset":324,
875 "leading_width":0,
876 "width":1,
877 "trailing_width":0,
878 "leading":[],
879 "trailing":[],
880 "line_number":8
884 "list_separator":{"kind":"missing"}
888 "function_call_right_paren":{
889 "kind":"token",
890 "token":{
891 "kind":")",
892 "text":")",
893 "offset":325,
894 "leading_width":0,
895 "width":1,
896 "trailing_width":0,
897 "leading":[],
898 "trailing":[],
899 "line_number":8
903 "expression_statement_semicolon":{
904 "kind":"token",
905 "token":{
906 "kind":";",
907 "text":";",
908 "offset":326,
909 "leading_width":0,
910 "width":1,
911 "trailing_width":38,
912 "leading":[],
913 "trailing":[
914 {"kind":"whitespace","text":" ","offset":327,"width":1},
916 "kind":"single_line_comment",
917 "text":"// annotated inside an argument list",
918 "offset":328,
919 "width":36
921 {"kind":"end_of_line","text":"\n","offset":364,"width":1}
923 "line_number":8
928 "kind":"expression_statement",
929 "expression_statement_expression":{
930 "kind":"binary_expression",
931 "binary_left_operand":{
932 "kind":"literal",
933 "literal_expression":{
934 "kind":"token",
935 "token":{
936 "kind":"decimal_literal",
937 "text":"42",
938 "offset":365,
939 "leading_width":0,
940 "width":2,
941 "trailing_width":1,
942 "leading":[],
943 "trailing":[{"kind":"whitespace","text":" ","offset":367,"width":1}],
944 "line_number":9
948 "binary_operator":{
949 "kind":"token",
950 "token":{
951 "kind":"*",
952 "text":"*",
953 "offset":368,
954 "leading_width":0,
955 "width":1,
956 "trailing_width":1,
957 "leading":[],
958 "trailing":[{"kind":"whitespace","text":" ","offset":369,"width":1}],
959 "line_number":9
962 "binary_right_operand":{
963 "kind":"function_call_expression",
964 "function_call_receiver":{
965 "kind":"token",
966 "token":{
967 "kind":"name",
968 "text":"ba",
969 "offset":370,
970 "leading_width":0,
971 "width":2,
972 "trailing_width":0,
973 "leading":[],
974 "trailing":[],
975 "line_number":9
978 "function_call_type_args":{
979 "kind":"type_arguments",
980 "type_arguments_left_angle":{
981 "kind":"token",
982 "token":{
983 "kind":"<",
984 "text":"<",
985 "offset":372,
986 "leading_width":0,
987 "width":1,
988 "trailing_width":0,
989 "leading":[],
990 "trailing":[],
991 "line_number":9
994 "type_arguments_types":{
995 "kind":"list",
996 "elements":[
998 "kind":"list_item",
999 "list_item":{
1000 "kind":"simple_type_specifier",
1001 "simple_type_specifier":{
1002 "kind":"token",
1003 "token":{
1004 "kind":"string",
1005 "text":"string",
1006 "offset":373,
1007 "leading_width":0,
1008 "width":6,
1009 "trailing_width":0,
1010 "leading":[],
1011 "trailing":[],
1012 "line_number":9
1016 "list_separator":{"kind":"missing"}
1020 "type_arguments_right_angle":{
1021 "kind":"token",
1022 "token":{
1023 "kind":">",
1024 "text":">",
1025 "offset":379,
1026 "leading_width":0,
1027 "width":1,
1028 "trailing_width":0,
1029 "leading":[],
1030 "trailing":[],
1031 "line_number":9
1035 "function_call_left_paren":{
1036 "kind":"token",
1037 "token":{
1038 "kind":"(",
1039 "text":"(",
1040 "offset":380,
1041 "leading_width":0,
1042 "width":1,
1043 "trailing_width":0,
1044 "leading":[],
1045 "trailing":[],
1046 "line_number":9
1049 "function_call_argument_list":{
1050 "kind":"list",
1051 "elements":[
1053 "kind":"list_item",
1054 "list_item":{
1055 "kind":"literal",
1056 "literal_expression":{
1057 "kind":"token",
1058 "token":{
1059 "kind":"single_quoted_string_literal",
1060 "text":"'hello'",
1061 "offset":381,
1062 "leading_width":0,
1063 "width":7,
1064 "trailing_width":0,
1065 "leading":[],
1066 "trailing":[],
1067 "line_number":9
1071 "list_separator":{"kind":"missing"}
1075 "function_call_right_paren":{
1076 "kind":"token",
1077 "token":{
1078 "kind":")",
1079 "text":")",
1080 "offset":388,
1081 "leading_width":0,
1082 "width":1,
1083 "trailing_width":0,
1084 "leading":[],
1085 "trailing":[],
1086 "line_number":9
1091 "expression_statement_semicolon":{
1092 "kind":"token",
1093 "token":{
1094 "kind":";",
1095 "text":";",
1096 "offset":389,
1097 "leading_width":0,
1098 "width":1,
1099 "trailing_width":1,
1100 "leading":[],
1101 "trailing":[{"kind":"end_of_line","text":"\n","offset":390,"width":1}],
1102 "line_number":9
1107 "kind":"expression_statement",
1108 "expression_statement_expression":{
1109 "kind":"binary_expression",
1110 "binary_left_operand":{
1111 "kind":"variable",
1112 "variable_expression":{
1113 "kind":"token",
1114 "token":{
1115 "kind":"variable",
1116 "text":"$x",
1117 "offset":391,
1118 "leading_width":1,
1119 "width":2,
1120 "trailing_width":1,
1121 "leading":[{"kind":"end_of_line","text":"\n","offset":391,"width":1}],
1122 "trailing":[{"kind":"whitespace","text":" ","offset":394,"width":1}],
1123 "line_number":11
1127 "binary_operator":{
1128 "kind":"token",
1129 "token":{
1130 "kind":"??",
1131 "text":"??",
1132 "offset":395,
1133 "leading_width":0,
1134 "width":2,
1135 "trailing_width":1,
1136 "leading":[],
1137 "trailing":[{"kind":"whitespace","text":" ","offset":397,"width":1}],
1138 "line_number":11
1141 "binary_right_operand":{
1142 "kind":"function_call_expression",
1143 "function_call_receiver":{
1144 "kind":"token",
1145 "token":{
1146 "kind":"name",
1147 "text":"foo",
1148 "offset":398,
1149 "leading_width":0,
1150 "width":3,
1151 "trailing_width":0,
1152 "leading":[],
1153 "trailing":[],
1154 "line_number":11
1157 "function_call_type_args":{
1158 "kind":"type_arguments",
1159 "type_arguments_left_angle":{
1160 "kind":"token",
1161 "token":{
1162 "kind":"<",
1163 "text":"<",
1164 "offset":401,
1165 "leading_width":0,
1166 "width":1,
1167 "trailing_width":0,
1168 "leading":[],
1169 "trailing":[],
1170 "line_number":11
1173 "type_arguments_types":{
1174 "kind":"list",
1175 "elements":[
1177 "kind":"list_item",
1178 "list_item":{
1179 "kind":"simple_type_specifier",
1180 "simple_type_specifier":{
1181 "kind":"token",
1182 "token":{
1183 "kind":"name",
1184 "text":"bar",
1185 "offset":402,
1186 "leading_width":0,
1187 "width":3,
1188 "trailing_width":0,
1189 "leading":[],
1190 "trailing":[],
1191 "line_number":11
1195 "list_separator":{"kind":"missing"}
1199 "type_arguments_right_angle":{
1200 "kind":"token",
1201 "token":{
1202 "kind":">",
1203 "text":">",
1204 "offset":405,
1205 "leading_width":0,
1206 "width":1,
1207 "trailing_width":0,
1208 "leading":[],
1209 "trailing":[],
1210 "line_number":11
1214 "function_call_left_paren":{
1215 "kind":"token",
1216 "token":{
1217 "kind":"(",
1218 "text":"(",
1219 "offset":406,
1220 "leading_width":0,
1221 "width":1,
1222 "trailing_width":0,
1223 "leading":[],
1224 "trailing":[],
1225 "line_number":11
1228 "function_call_argument_list":{"kind":"missing"},
1229 "function_call_right_paren":{
1230 "kind":"token",
1231 "token":{
1232 "kind":")",
1233 "text":")",
1234 "offset":407,
1235 "leading_width":0,
1236 "width":1,
1237 "trailing_width":0,
1238 "leading":[],
1239 "trailing":[],
1240 "line_number":11
1245 "expression_statement_semicolon":{
1246 "kind":"token",
1247 "token":{
1248 "kind":";",
1249 "text":";",
1250 "offset":408,
1251 "leading_width":0,
1252 "width":1,
1253 "trailing_width":1,
1254 "leading":[],
1255 "trailing":[{"kind":"end_of_line","text":"\n","offset":409,"width":1}],
1256 "line_number":11
1261 "kind":"expression_statement",
1262 "expression_statement_expression":{
1263 "kind":"binary_expression",
1264 "binary_left_operand":{
1265 "kind":"literal",
1266 "literal_expression":{
1267 "kind":"token",
1268 "token":{
1269 "kind":"decimal_literal",
1270 "text":"42",
1271 "offset":410,
1272 "leading_width":0,
1273 "width":2,
1274 "trailing_width":1,
1275 "leading":[],
1276 "trailing":[{"kind":"whitespace","text":" ","offset":412,"width":1}],
1277 "line_number":12
1281 "binary_operator":{
1282 "kind":"token",
1283 "token":{
1284 "kind":"*",
1285 "text":"*",
1286 "offset":413,
1287 "leading_width":0,
1288 "width":1,
1289 "trailing_width":1,
1290 "leading":[],
1291 "trailing":[{"kind":"whitespace","text":" ","offset":414,"width":1}],
1292 "line_number":12
1295 "binary_right_operand":{
1296 "kind":"function_call_expression",
1297 "function_call_receiver":{
1298 "kind":"token",
1299 "token":{
1300 "kind":"name",
1301 "text":"foo",
1302 "offset":415,
1303 "leading_width":0,
1304 "width":3,
1305 "trailing_width":0,
1306 "leading":[],
1307 "trailing":[],
1308 "line_number":12
1311 "function_call_type_args":{
1312 "kind":"type_arguments",
1313 "type_arguments_left_angle":{
1314 "kind":"token",
1315 "token":{
1316 "kind":"<",
1317 "text":"<",
1318 "offset":418,
1319 "leading_width":0,
1320 "width":1,
1321 "trailing_width":0,
1322 "leading":[],
1323 "trailing":[],
1324 "line_number":12
1327 "type_arguments_types":{
1328 "kind":"list",
1329 "elements":[
1331 "kind":"list_item",
1332 "list_item":{
1333 "kind":"simple_type_specifier",
1334 "simple_type_specifier":{
1335 "kind":"token",
1336 "token":{
1337 "kind":"name",
1338 "text":"bar",
1339 "offset":419,
1340 "leading_width":0,
1341 "width":3,
1342 "trailing_width":0,
1343 "leading":[],
1344 "trailing":[],
1345 "line_number":12
1349 "list_separator":{"kind":"missing"}
1353 "type_arguments_right_angle":{
1354 "kind":"token",
1355 "token":{
1356 "kind":">",
1357 "text":">",
1358 "offset":422,
1359 "leading_width":0,
1360 "width":1,
1361 "trailing_width":0,
1362 "leading":[],
1363 "trailing":[],
1364 "line_number":12
1368 "function_call_left_paren":{
1369 "kind":"token",
1370 "token":{
1371 "kind":"(",
1372 "text":"(",
1373 "offset":423,
1374 "leading_width":0,
1375 "width":1,
1376 "trailing_width":0,
1377 "leading":[],
1378 "trailing":[],
1379 "line_number":12
1382 "function_call_argument_list":{"kind":"missing"},
1383 "function_call_right_paren":{
1384 "kind":"token",
1385 "token":{
1386 "kind":")",
1387 "text":")",
1388 "offset":424,
1389 "leading_width":0,
1390 "width":1,
1391 "trailing_width":0,
1392 "leading":[],
1393 "trailing":[],
1394 "line_number":12
1399 "expression_statement_semicolon":{
1400 "kind":"token",
1401 "token":{
1402 "kind":";",
1403 "text":";",
1404 "offset":425,
1405 "leading_width":0,
1406 "width":1,
1407 "trailing_width":1,
1408 "leading":[],
1409 "trailing":[{"kind":"end_of_line","text":"\n","offset":426,"width":1}],
1410 "line_number":12
1415 "kind":"expression_statement",
1416 "expression_statement_expression":{
1417 "kind":"binary_expression",
1418 "binary_left_operand":{
1419 "kind":"literal",
1420 "literal_expression":{
1421 "kind":"token",
1422 "token":{
1423 "kind":"decimal_literal",
1424 "text":"42",
1425 "offset":427,
1426 "leading_width":0,
1427 "width":2,
1428 "trailing_width":1,
1429 "leading":[],
1430 "trailing":[{"kind":"whitespace","text":" ","offset":429,"width":1}],
1431 "line_number":13
1435 "binary_operator":{
1436 "kind":"token",
1437 "token":{
1438 "kind":"*",
1439 "text":"*",
1440 "offset":430,
1441 "leading_width":0,
1442 "width":1,
1443 "trailing_width":1,
1444 "leading":[],
1445 "trailing":[{"kind":"whitespace","text":" ","offset":431,"width":1}],
1446 "line_number":13
1449 "binary_right_operand":{
1450 "kind":"function_call_expression",
1451 "function_call_receiver":{
1452 "kind":"token",
1453 "token":{
1454 "kind":"name",
1455 "text":"foo",
1456 "offset":432,
1457 "leading_width":0,
1458 "width":3,
1459 "trailing_width":0,
1460 "leading":[],
1461 "trailing":[],
1462 "line_number":13
1465 "function_call_type_args":{
1466 "kind":"type_arguments",
1467 "type_arguments_left_angle":{
1468 "kind":"token",
1469 "token":{
1470 "kind":"<",
1471 "text":"<",
1472 "offset":435,
1473 "leading_width":0,
1474 "width":1,
1475 "trailing_width":0,
1476 "leading":[],
1477 "trailing":[],
1478 "line_number":13
1481 "type_arguments_types":{
1482 "kind":"list",
1483 "elements":[
1485 "kind":"list_item",
1486 "list_item":{
1487 "kind":"simple_type_specifier",
1488 "simple_type_specifier":{
1489 "kind":"token",
1490 "token":{
1491 "kind":"name",
1492 "text":"bar",
1493 "offset":436,
1494 "leading_width":0,
1495 "width":3,
1496 "trailing_width":0,
1497 "leading":[],
1498 "trailing":[],
1499 "line_number":13
1503 "list_separator":{"kind":"missing"}
1507 "type_arguments_right_angle":{
1508 "kind":"token",
1509 "token":{
1510 "kind":">",
1511 "text":">",
1512 "offset":439,
1513 "leading_width":0,
1514 "width":1,
1515 "trailing_width":0,
1516 "leading":[],
1517 "trailing":[],
1518 "line_number":13
1522 "function_call_left_paren":{
1523 "kind":"token",
1524 "token":{
1525 "kind":"(",
1526 "text":"(",
1527 "offset":440,
1528 "leading_width":0,
1529 "width":1,
1530 "trailing_width":0,
1531 "leading":[],
1532 "trailing":[],
1533 "line_number":13
1536 "function_call_argument_list":{
1537 "kind":"list",
1538 "elements":[
1540 "kind":"list_item",
1541 "list_item":{
1542 "kind":"variable",
1543 "variable_expression":{
1544 "kind":"token",
1545 "token":{
1546 "kind":"variable",
1547 "text":"$x",
1548 "offset":441,
1549 "leading_width":0,
1550 "width":2,
1551 "trailing_width":0,
1552 "leading":[],
1553 "trailing":[],
1554 "line_number":13
1558 "list_separator":{"kind":"missing"}
1562 "function_call_right_paren":{
1563 "kind":"token",
1564 "token":{
1565 "kind":")",
1566 "text":")",
1567 "offset":443,
1568 "leading_width":0,
1569 "width":1,
1570 "trailing_width":0,
1571 "leading":[],
1572 "trailing":[],
1573 "line_number":13
1578 "expression_statement_semicolon":{
1579 "kind":"token",
1580 "token":{
1581 "kind":";",
1582 "text":";",
1583 "offset":444,
1584 "leading_width":0,
1585 "width":1,
1586 "trailing_width":1,
1587 "leading":[],
1588 "trailing":[{"kind":"end_of_line","text":"\n","offset":445,"width":1}],
1589 "line_number":13
1594 "kind":"expression_statement",
1595 "expression_statement_expression":{
1596 "kind":"binary_expression",
1597 "binary_left_operand":{
1598 "kind":"literal",
1599 "literal_expression":{
1600 "kind":"token",
1601 "token":{
1602 "kind":"decimal_literal",
1603 "text":"42",
1604 "offset":446,
1605 "leading_width":0,
1606 "width":2,
1607 "trailing_width":1,
1608 "leading":[],
1609 "trailing":[{"kind":"whitespace","text":" ","offset":448,"width":1}],
1610 "line_number":14
1614 "binary_operator":{
1615 "kind":"token",
1616 "token":{
1617 "kind":"*",
1618 "text":"*",
1619 "offset":449,
1620 "leading_width":0,
1621 "width":1,
1622 "trailing_width":1,
1623 "leading":[],
1624 "trailing":[{"kind":"whitespace","text":" ","offset":450,"width":1}],
1625 "line_number":14
1628 "binary_right_operand":{
1629 "kind":"function_call_expression",
1630 "function_call_receiver":{
1631 "kind":"token",
1632 "token":{
1633 "kind":"name",
1634 "text":"foo",
1635 "offset":451,
1636 "leading_width":0,
1637 "width":3,
1638 "trailing_width":0,
1639 "leading":[],
1640 "trailing":[],
1641 "line_number":14
1644 "function_call_type_args":{
1645 "kind":"type_arguments",
1646 "type_arguments_left_angle":{
1647 "kind":"token",
1648 "token":{
1649 "kind":"<",
1650 "text":"<",
1651 "offset":454,
1652 "leading_width":0,
1653 "width":1,
1654 "trailing_width":0,
1655 "leading":[],
1656 "trailing":[],
1657 "line_number":14
1660 "type_arguments_types":{
1661 "kind":"list",
1662 "elements":[
1664 "kind":"list_item",
1665 "list_item":{
1666 "kind":"simple_type_specifier",
1667 "simple_type_specifier":{
1668 "kind":"token",
1669 "token":{
1670 "kind":"name",
1671 "text":"bar",
1672 "offset":455,
1673 "leading_width":0,
1674 "width":3,
1675 "trailing_width":0,
1676 "leading":[],
1677 "trailing":[],
1678 "line_number":14
1682 "list_separator":{"kind":"missing"}
1686 "type_arguments_right_angle":{
1687 "kind":"token",
1688 "token":{
1689 "kind":">",
1690 "text":">",
1691 "offset":458,
1692 "leading_width":0,
1693 "width":1,
1694 "trailing_width":0,
1695 "leading":[],
1696 "trailing":[],
1697 "line_number":14
1701 "function_call_left_paren":{
1702 "kind":"token",
1703 "token":{
1704 "kind":"(",
1705 "text":"(",
1706 "offset":459,
1707 "leading_width":0,
1708 "width":1,
1709 "trailing_width":0,
1710 "leading":[],
1711 "trailing":[],
1712 "line_number":14
1715 "function_call_argument_list":{
1716 "kind":"list",
1717 "elements":[
1719 "kind":"list_item",
1720 "list_item":{
1721 "kind":"variable",
1722 "variable_expression":{
1723 "kind":"token",
1724 "token":{
1725 "kind":"variable",
1726 "text":"$x",
1727 "offset":460,
1728 "leading_width":0,
1729 "width":2,
1730 "trailing_width":0,
1731 "leading":[],
1732 "trailing":[],
1733 "line_number":14
1737 "list_separator":{
1738 "kind":"token",
1739 "token":{
1740 "kind":",",
1741 "text":",",
1742 "offset":462,
1743 "leading_width":0,
1744 "width":1,
1745 "trailing_width":1,
1746 "leading":[],
1747 "trailing":[{"kind":"whitespace","text":" ","offset":463,"width":1}],
1748 "line_number":14
1753 "kind":"list_item",
1754 "list_item":{
1755 "kind":"variable",
1756 "variable_expression":{
1757 "kind":"token",
1758 "token":{
1759 "kind":"variable",
1760 "text":"$y",
1761 "offset":464,
1762 "leading_width":0,
1763 "width":2,
1764 "trailing_width":0,
1765 "leading":[],
1766 "trailing":[],
1767 "line_number":14
1771 "list_separator":{"kind":"missing"}
1775 "function_call_right_paren":{
1776 "kind":"token",
1777 "token":{
1778 "kind":")",
1779 "text":")",
1780 "offset":466,
1781 "leading_width":0,
1782 "width":1,
1783 "trailing_width":0,
1784 "leading":[],
1785 "trailing":[],
1786 "line_number":14
1791 "expression_statement_semicolon":{
1792 "kind":"token",
1793 "token":{
1794 "kind":";",
1795 "text":";",
1796 "offset":467,
1797 "leading_width":0,
1798 "width":1,
1799 "trailing_width":1,
1800 "leading":[],
1801 "trailing":[{"kind":"end_of_line","text":"\n","offset":468,"width":1}],
1802 "line_number":14
1807 "kind":"expression_statement",
1808 "expression_statement_expression":{
1809 "kind":"binary_expression",
1810 "binary_left_operand":{
1811 "kind":"literal",
1812 "literal_expression":{
1813 "kind":"token",
1814 "token":{
1815 "kind":"decimal_literal",
1816 "text":"42",
1817 "offset":469,
1818 "leading_width":0,
1819 "width":2,
1820 "trailing_width":1,
1821 "leading":[],
1822 "trailing":[{"kind":"whitespace","text":" ","offset":471,"width":1}],
1823 "line_number":15
1827 "binary_operator":{
1828 "kind":"token",
1829 "token":{
1830 "kind":"*",
1831 "text":"*",
1832 "offset":472,
1833 "leading_width":0,
1834 "width":1,
1835 "trailing_width":1,
1836 "leading":[],
1837 "trailing":[{"kind":"whitespace","text":" ","offset":473,"width":1}],
1838 "line_number":15
1841 "binary_right_operand":{
1842 "kind":"function_call_expression",
1843 "function_call_receiver":{
1844 "kind":"scope_resolution_expression",
1845 "scope_resolution_qualifier":{
1846 "kind":"token",
1847 "token":{
1848 "kind":"name",
1849 "text":"x",
1850 "offset":474,
1851 "leading_width":0,
1852 "width":1,
1853 "trailing_width":0,
1854 "leading":[],
1855 "trailing":[],
1856 "line_number":15
1859 "scope_resolution_operator":{
1860 "kind":"token",
1861 "token":{
1862 "kind":"::",
1863 "text":"::",
1864 "offset":475,
1865 "leading_width":0,
1866 "width":2,
1867 "trailing_width":0,
1868 "leading":[],
1869 "trailing":[],
1870 "line_number":15
1873 "scope_resolution_name":{
1874 "kind":"token",
1875 "token":{
1876 "kind":"name",
1877 "text":"foo",
1878 "offset":477,
1879 "leading_width":0,
1880 "width":3,
1881 "trailing_width":0,
1882 "leading":[],
1883 "trailing":[],
1884 "line_number":15
1888 "function_call_type_args":{
1889 "kind":"type_arguments",
1890 "type_arguments_left_angle":{
1891 "kind":"token",
1892 "token":{
1893 "kind":"<",
1894 "text":"<",
1895 "offset":480,
1896 "leading_width":0,
1897 "width":1,
1898 "trailing_width":0,
1899 "leading":[],
1900 "trailing":[],
1901 "line_number":15
1904 "type_arguments_types":{
1905 "kind":"list",
1906 "elements":[
1908 "kind":"list_item",
1909 "list_item":{
1910 "kind":"simple_type_specifier",
1911 "simple_type_specifier":{
1912 "kind":"token",
1913 "token":{
1914 "kind":"name",
1915 "text":"bar",
1916 "offset":481,
1917 "leading_width":0,
1918 "width":3,
1919 "trailing_width":0,
1920 "leading":[],
1921 "trailing":[],
1922 "line_number":15
1926 "list_separator":{"kind":"missing"}
1930 "type_arguments_right_angle":{
1931 "kind":"token",
1932 "token":{
1933 "kind":">",
1934 "text":">",
1935 "offset":484,
1936 "leading_width":0,
1937 "width":1,
1938 "trailing_width":0,
1939 "leading":[],
1940 "trailing":[],
1941 "line_number":15
1945 "function_call_left_paren":{
1946 "kind":"token",
1947 "token":{
1948 "kind":"(",
1949 "text":"(",
1950 "offset":485,
1951 "leading_width":0,
1952 "width":1,
1953 "trailing_width":0,
1954 "leading":[],
1955 "trailing":[],
1956 "line_number":15
1959 "function_call_argument_list":{"kind":"missing"},
1960 "function_call_right_paren":{
1961 "kind":"token",
1962 "token":{
1963 "kind":")",
1964 "text":")",
1965 "offset":486,
1966 "leading_width":0,
1967 "width":1,
1968 "trailing_width":0,
1969 "leading":[],
1970 "trailing":[],
1971 "line_number":15
1976 "expression_statement_semicolon":{
1977 "kind":"token",
1978 "token":{
1979 "kind":";",
1980 "text":";",
1981 "offset":487,
1982 "leading_width":0,
1983 "width":1,
1984 "trailing_width":1,
1985 "leading":[],
1986 "trailing":[{"kind":"end_of_line","text":"\n","offset":488,"width":1}],
1987 "line_number":15
1992 "kind":"expression_statement",
1993 "expression_statement_expression":{
1994 "kind":"binary_expression",
1995 "binary_left_operand":{
1996 "kind":"literal",
1997 "literal_expression":{
1998 "kind":"token",
1999 "token":{
2000 "kind":"decimal_literal",
2001 "text":"42",
2002 "offset":489,
2003 "leading_width":0,
2004 "width":2,
2005 "trailing_width":1,
2006 "leading":[],
2007 "trailing":[{"kind":"whitespace","text":" ","offset":491,"width":1}],
2008 "line_number":16
2012 "binary_operator":{
2013 "kind":"token",
2014 "token":{
2015 "kind":"*",
2016 "text":"*",
2017 "offset":492,
2018 "leading_width":0,
2019 "width":1,
2020 "trailing_width":1,
2021 "leading":[],
2022 "trailing":[{"kind":"whitespace","text":" ","offset":493,"width":1}],
2023 "line_number":16
2026 "binary_right_operand":{
2027 "kind":"function_call_expression",
2028 "function_call_receiver":{
2029 "kind":"scope_resolution_expression",
2030 "scope_resolution_qualifier":{
2031 "kind":"token",
2032 "token":{
2033 "kind":"name",
2034 "text":"x",
2035 "offset":494,
2036 "leading_width":0,
2037 "width":1,
2038 "trailing_width":0,
2039 "leading":[],
2040 "trailing":[],
2041 "line_number":16
2044 "scope_resolution_operator":{
2045 "kind":"token",
2046 "token":{
2047 "kind":"::",
2048 "text":"::",
2049 "offset":495,
2050 "leading_width":0,
2051 "width":2,
2052 "trailing_width":0,
2053 "leading":[],
2054 "trailing":[],
2055 "line_number":16
2058 "scope_resolution_name":{
2059 "kind":"token",
2060 "token":{
2061 "kind":"name",
2062 "text":"foo",
2063 "offset":497,
2064 "leading_width":0,
2065 "width":3,
2066 "trailing_width":0,
2067 "leading":[],
2068 "trailing":[],
2069 "line_number":16
2073 "function_call_type_args":{
2074 "kind":"type_arguments",
2075 "type_arguments_left_angle":{
2076 "kind":"token",
2077 "token":{
2078 "kind":"<",
2079 "text":"<",
2080 "offset":500,
2081 "leading_width":0,
2082 "width":1,
2083 "trailing_width":0,
2084 "leading":[],
2085 "trailing":[],
2086 "line_number":16
2089 "type_arguments_types":{
2090 "kind":"list",
2091 "elements":[
2093 "kind":"list_item",
2094 "list_item":{
2095 "kind":"simple_type_specifier",
2096 "simple_type_specifier":{
2097 "kind":"token",
2098 "token":{
2099 "kind":"name",
2100 "text":"bar",
2101 "offset":501,
2102 "leading_width":0,
2103 "width":3,
2104 "trailing_width":0,
2105 "leading":[],
2106 "trailing":[],
2107 "line_number":16
2111 "list_separator":{"kind":"missing"}
2115 "type_arguments_right_angle":{
2116 "kind":"token",
2117 "token":{
2118 "kind":">",
2119 "text":">",
2120 "offset":504,
2121 "leading_width":0,
2122 "width":1,
2123 "trailing_width":0,
2124 "leading":[],
2125 "trailing":[],
2126 "line_number":16
2130 "function_call_left_paren":{
2131 "kind":"token",
2132 "token":{
2133 "kind":"(",
2134 "text":"(",
2135 "offset":505,
2136 "leading_width":0,
2137 "width":1,
2138 "trailing_width":0,
2139 "leading":[],
2140 "trailing":[],
2141 "line_number":16
2144 "function_call_argument_list":{
2145 "kind":"list",
2146 "elements":[
2148 "kind":"list_item",
2149 "list_item":{
2150 "kind":"variable",
2151 "variable_expression":{
2152 "kind":"token",
2153 "token":{
2154 "kind":"variable",
2155 "text":"$x",
2156 "offset":506,
2157 "leading_width":0,
2158 "width":2,
2159 "trailing_width":0,
2160 "leading":[],
2161 "trailing":[],
2162 "line_number":16
2166 "list_separator":{"kind":"missing"}
2170 "function_call_right_paren":{
2171 "kind":"token",
2172 "token":{
2173 "kind":")",
2174 "text":")",
2175 "offset":508,
2176 "leading_width":0,
2177 "width":1,
2178 "trailing_width":0,
2179 "leading":[],
2180 "trailing":[],
2181 "line_number":16
2186 "expression_statement_semicolon":{
2187 "kind":"token",
2188 "token":{
2189 "kind":";",
2190 "text":";",
2191 "offset":509,
2192 "leading_width":0,
2193 "width":1,
2194 "trailing_width":1,
2195 "leading":[],
2196 "trailing":[{"kind":"end_of_line","text":"\n","offset":510,"width":1}],
2197 "line_number":16
2202 "kind":"expression_statement",
2203 "expression_statement_expression":{
2204 "kind":"binary_expression",
2205 "binary_left_operand":{
2206 "kind":"literal",
2207 "literal_expression":{
2208 "kind":"token",
2209 "token":{
2210 "kind":"decimal_literal",
2211 "text":"42",
2212 "offset":511,
2213 "leading_width":0,
2214 "width":2,
2215 "trailing_width":1,
2216 "leading":[],
2217 "trailing":[{"kind":"whitespace","text":" ","offset":513,"width":1}],
2218 "line_number":17
2222 "binary_operator":{
2223 "kind":"token",
2224 "token":{
2225 "kind":"*",
2226 "text":"*",
2227 "offset":514,
2228 "leading_width":0,
2229 "width":1,
2230 "trailing_width":1,
2231 "leading":[],
2232 "trailing":[{"kind":"whitespace","text":" ","offset":515,"width":1}],
2233 "line_number":17
2236 "binary_right_operand":{
2237 "kind":"function_call_expression",
2238 "function_call_receiver":{
2239 "kind":"scope_resolution_expression",
2240 "scope_resolution_qualifier":{
2241 "kind":"token",
2242 "token":{
2243 "kind":"name",
2244 "text":"x",
2245 "offset":516,
2246 "leading_width":0,
2247 "width":1,
2248 "trailing_width":0,
2249 "leading":[],
2250 "trailing":[],
2251 "line_number":17
2254 "scope_resolution_operator":{
2255 "kind":"token",
2256 "token":{
2257 "kind":"::",
2258 "text":"::",
2259 "offset":517,
2260 "leading_width":0,
2261 "width":2,
2262 "trailing_width":0,
2263 "leading":[],
2264 "trailing":[],
2265 "line_number":17
2268 "scope_resolution_name":{
2269 "kind":"token",
2270 "token":{
2271 "kind":"name",
2272 "text":"foo",
2273 "offset":519,
2274 "leading_width":0,
2275 "width":3,
2276 "trailing_width":0,
2277 "leading":[],
2278 "trailing":[],
2279 "line_number":17
2283 "function_call_type_args":{
2284 "kind":"type_arguments",
2285 "type_arguments_left_angle":{
2286 "kind":"token",
2287 "token":{
2288 "kind":"<",
2289 "text":"<",
2290 "offset":522,
2291 "leading_width":0,
2292 "width":1,
2293 "trailing_width":0,
2294 "leading":[],
2295 "trailing":[],
2296 "line_number":17
2299 "type_arguments_types":{
2300 "kind":"list",
2301 "elements":[
2303 "kind":"list_item",
2304 "list_item":{
2305 "kind":"simple_type_specifier",
2306 "simple_type_specifier":{
2307 "kind":"token",
2308 "token":{
2309 "kind":"name",
2310 "text":"bar",
2311 "offset":523,
2312 "leading_width":0,
2313 "width":3,
2314 "trailing_width":0,
2315 "leading":[],
2316 "trailing":[],
2317 "line_number":17
2321 "list_separator":{"kind":"missing"}
2325 "type_arguments_right_angle":{
2326 "kind":"token",
2327 "token":{
2328 "kind":">",
2329 "text":">",
2330 "offset":526,
2331 "leading_width":0,
2332 "width":1,
2333 "trailing_width":0,
2334 "leading":[],
2335 "trailing":[],
2336 "line_number":17
2340 "function_call_left_paren":{
2341 "kind":"token",
2342 "token":{
2343 "kind":"(",
2344 "text":"(",
2345 "offset":527,
2346 "leading_width":0,
2347 "width":1,
2348 "trailing_width":0,
2349 "leading":[],
2350 "trailing":[],
2351 "line_number":17
2354 "function_call_argument_list":{
2355 "kind":"list",
2356 "elements":[
2358 "kind":"list_item",
2359 "list_item":{
2360 "kind":"variable",
2361 "variable_expression":{
2362 "kind":"token",
2363 "token":{
2364 "kind":"variable",
2365 "text":"$x",
2366 "offset":528,
2367 "leading_width":0,
2368 "width":2,
2369 "trailing_width":0,
2370 "leading":[],
2371 "trailing":[],
2372 "line_number":17
2376 "list_separator":{
2377 "kind":"token",
2378 "token":{
2379 "kind":",",
2380 "text":",",
2381 "offset":530,
2382 "leading_width":0,
2383 "width":1,
2384 "trailing_width":1,
2385 "leading":[],
2386 "trailing":[{"kind":"whitespace","text":" ","offset":531,"width":1}],
2387 "line_number":17
2392 "kind":"list_item",
2393 "list_item":{
2394 "kind":"variable",
2395 "variable_expression":{
2396 "kind":"token",
2397 "token":{
2398 "kind":"variable",
2399 "text":"$y",
2400 "offset":532,
2401 "leading_width":0,
2402 "width":2,
2403 "trailing_width":0,
2404 "leading":[],
2405 "trailing":[],
2406 "line_number":17
2410 "list_separator":{"kind":"missing"}
2414 "function_call_right_paren":{
2415 "kind":"token",
2416 "token":{
2417 "kind":")",
2418 "text":")",
2419 "offset":534,
2420 "leading_width":0,
2421 "width":1,
2422 "trailing_width":0,
2423 "leading":[],
2424 "trailing":[],
2425 "line_number":17
2430 "expression_statement_semicolon":{
2431 "kind":"token",
2432 "token":{
2433 "kind":";",
2434 "text":";",
2435 "offset":535,
2436 "leading_width":0,
2437 "width":1,
2438 "trailing_width":1,
2439 "leading":[],
2440 "trailing":[{"kind":"end_of_line","text":"\n","offset":536,"width":1}],
2441 "line_number":17
2446 "kind":"expression_statement",
2447 "expression_statement_expression":{
2448 "kind":"function_call_expression",
2449 "function_call_receiver":{
2450 "kind":"token",
2451 "token":{
2452 "kind":"name",
2453 "text":"baz",
2454 "offset":537,
2455 "leading_width":0,
2456 "width":3,
2457 "trailing_width":0,
2458 "leading":[],
2459 "trailing":[],
2460 "line_number":18
2463 "function_call_type_args":{"kind":"missing"},
2464 "function_call_left_paren":{
2465 "kind":"token",
2466 "token":{
2467 "kind":"(",
2468 "text":"(",
2469 "offset":540,
2470 "leading_width":0,
2471 "width":1,
2472 "trailing_width":0,
2473 "leading":[],
2474 "trailing":[],
2475 "line_number":18
2478 "function_call_argument_list":{
2479 "kind":"list",
2480 "elements":[
2482 "kind":"list_item",
2483 "list_item":{
2484 "kind":"function_call_expression",
2485 "function_call_receiver":{
2486 "kind":"token",
2487 "token":{
2488 "kind":"name",
2489 "text":"foo",
2490 "offset":541,
2491 "leading_width":0,
2492 "width":3,
2493 "trailing_width":0,
2494 "leading":[],
2495 "trailing":[],
2496 "line_number":18
2499 "function_call_type_args":{
2500 "kind":"type_arguments",
2501 "type_arguments_left_angle":{
2502 "kind":"token",
2503 "token":{
2504 "kind":"<",
2505 "text":"<",
2506 "offset":544,
2507 "leading_width":0,
2508 "width":1,
2509 "trailing_width":0,
2510 "leading":[],
2511 "trailing":[],
2512 "line_number":18
2515 "type_arguments_types":{
2516 "kind":"list",
2517 "elements":[
2519 "kind":"list_item",
2520 "list_item":{
2521 "kind":"simple_type_specifier",
2522 "simple_type_specifier":{
2523 "kind":"token",
2524 "token":{
2525 "kind":"name",
2526 "text":"baz",
2527 "offset":545,
2528 "leading_width":0,
2529 "width":3,
2530 "trailing_width":0,
2531 "leading":[],
2532 "trailing":[],
2533 "line_number":18
2537 "list_separator":{"kind":"missing"}
2541 "type_arguments_right_angle":{
2542 "kind":"token",
2543 "token":{
2544 "kind":">",
2545 "text":">",
2546 "offset":548,
2547 "leading_width":0,
2548 "width":1,
2549 "trailing_width":0,
2550 "leading":[],
2551 "trailing":[],
2552 "line_number":18
2556 "function_call_left_paren":{
2557 "kind":"token",
2558 "token":{
2559 "kind":"(",
2560 "text":"(",
2561 "offset":549,
2562 "leading_width":0,
2563 "width":1,
2564 "trailing_width":0,
2565 "leading":[],
2566 "trailing":[],
2567 "line_number":18
2570 "function_call_argument_list":{"kind":"missing"},
2571 "function_call_right_paren":{
2572 "kind":"token",
2573 "token":{
2574 "kind":")",
2575 "text":")",
2576 "offset":550,
2577 "leading_width":0,
2578 "width":1,
2579 "trailing_width":0,
2580 "leading":[],
2581 "trailing":[],
2582 "line_number":18
2586 "list_separator":{"kind":"missing"}
2590 "function_call_right_paren":{
2591 "kind":"token",
2592 "token":{
2593 "kind":")",
2594 "text":")",
2595 "offset":551,
2596 "leading_width":0,
2597 "width":1,
2598 "trailing_width":0,
2599 "leading":[],
2600 "trailing":[],
2601 "line_number":18
2605 "expression_statement_semicolon":{
2606 "kind":"token",
2607 "token":{
2608 "kind":";",
2609 "text":";",
2610 "offset":552,
2611 "leading_width":0,
2612 "width":1,
2613 "trailing_width":1,
2614 "leading":[],
2615 "trailing":[{"kind":"end_of_line","text":"\n","offset":553,"width":1}],
2616 "line_number":18
2621 "kind":"expression_statement",
2622 "expression_statement_expression":{
2623 "kind":"function_call_expression",
2624 "function_call_receiver":{
2625 "kind":"token",
2626 "token":{
2627 "kind":"name",
2628 "text":"baz",
2629 "offset":554,
2630 "leading_width":0,
2631 "width":3,
2632 "trailing_width":0,
2633 "leading":[],
2634 "trailing":[],
2635 "line_number":19
2638 "function_call_type_args":{"kind":"missing"},
2639 "function_call_left_paren":{
2640 "kind":"token",
2641 "token":{
2642 "kind":"(",
2643 "text":"(",
2644 "offset":557,
2645 "leading_width":0,
2646 "width":1,
2647 "trailing_width":0,
2648 "leading":[],
2649 "trailing":[],
2650 "line_number":19
2653 "function_call_argument_list":{
2654 "kind":"list",
2655 "elements":[
2657 "kind":"list_item",
2658 "list_item":{
2659 "kind":"function_call_expression",
2660 "function_call_receiver":{
2661 "kind":"token",
2662 "token":{
2663 "kind":"name",
2664 "text":"foo",
2665 "offset":558,
2666 "leading_width":0,
2667 "width":3,
2668 "trailing_width":0,
2669 "leading":[],
2670 "trailing":[],
2671 "line_number":19
2674 "function_call_type_args":{
2675 "kind":"type_arguments",
2676 "type_arguments_left_angle":{
2677 "kind":"token",
2678 "token":{
2679 "kind":"<",
2680 "text":"<",
2681 "offset":561,
2682 "leading_width":0,
2683 "width":1,
2684 "trailing_width":0,
2685 "leading":[],
2686 "trailing":[],
2687 "line_number":19
2690 "type_arguments_types":{
2691 "kind":"list",
2692 "elements":[
2694 "kind":"list_item",
2695 "list_item":{
2696 "kind":"simple_type_specifier",
2697 "simple_type_specifier":{
2698 "kind":"token",
2699 "token":{
2700 "kind":"name",
2701 "text":"baz",
2702 "offset":562,
2703 "leading_width":0,
2704 "width":3,
2705 "trailing_width":0,
2706 "leading":[],
2707 "trailing":[],
2708 "line_number":19
2712 "list_separator":{"kind":"missing"}
2716 "type_arguments_right_angle":{
2717 "kind":"token",
2718 "token":{
2719 "kind":">",
2720 "text":">",
2721 "offset":565,
2722 "leading_width":0,
2723 "width":1,
2724 "trailing_width":0,
2725 "leading":[],
2726 "trailing":[],
2727 "line_number":19
2731 "function_call_left_paren":{
2732 "kind":"token",
2733 "token":{
2734 "kind":"(",
2735 "text":"(",
2736 "offset":566,
2737 "leading_width":0,
2738 "width":1,
2739 "trailing_width":0,
2740 "leading":[],
2741 "trailing":[],
2742 "line_number":19
2745 "function_call_argument_list":{
2746 "kind":"list",
2747 "elements":[
2749 "kind":"list_item",
2750 "list_item":{
2751 "kind":"variable",
2752 "variable_expression":{
2753 "kind":"token",
2754 "token":{
2755 "kind":"variable",
2756 "text":"$x",
2757 "offset":567,
2758 "leading_width":0,
2759 "width":2,
2760 "trailing_width":0,
2761 "leading":[],
2762 "trailing":[],
2763 "line_number":19
2767 "list_separator":{"kind":"missing"}
2771 "function_call_right_paren":{
2772 "kind":"token",
2773 "token":{
2774 "kind":")",
2775 "text":")",
2776 "offset":569,
2777 "leading_width":0,
2778 "width":1,
2779 "trailing_width":0,
2780 "leading":[],
2781 "trailing":[],
2782 "line_number":19
2786 "list_separator":{"kind":"missing"}
2790 "function_call_right_paren":{
2791 "kind":"token",
2792 "token":{
2793 "kind":")",
2794 "text":")",
2795 "offset":570,
2796 "leading_width":0,
2797 "width":1,
2798 "trailing_width":0,
2799 "leading":[],
2800 "trailing":[],
2801 "line_number":19
2805 "expression_statement_semicolon":{
2806 "kind":"token",
2807 "token":{
2808 "kind":";",
2809 "text":";",
2810 "offset":571,
2811 "leading_width":0,
2812 "width":1,
2813 "trailing_width":1,
2814 "leading":[],
2815 "trailing":[{"kind":"end_of_line","text":"\n","offset":572,"width":1}],
2816 "line_number":19
2821 "kind":"expression_statement",
2822 "expression_statement_expression":{
2823 "kind":"function_call_expression",
2824 "function_call_receiver":{
2825 "kind":"token",
2826 "token":{
2827 "kind":"name",
2828 "text":"baz",
2829 "offset":573,
2830 "leading_width":0,
2831 "width":3,
2832 "trailing_width":0,
2833 "leading":[],
2834 "trailing":[],
2835 "line_number":20
2838 "function_call_type_args":{"kind":"missing"},
2839 "function_call_left_paren":{
2840 "kind":"token",
2841 "token":{
2842 "kind":"(",
2843 "text":"(",
2844 "offset":576,
2845 "leading_width":0,
2846 "width":1,
2847 "trailing_width":0,
2848 "leading":[],
2849 "trailing":[],
2850 "line_number":20
2853 "function_call_argument_list":{
2854 "kind":"list",
2855 "elements":[
2857 "kind":"list_item",
2858 "list_item":{
2859 "kind":"function_call_expression",
2860 "function_call_receiver":{
2861 "kind":"token",
2862 "token":{
2863 "kind":"name",
2864 "text":"foo",
2865 "offset":577,
2866 "leading_width":0,
2867 "width":3,
2868 "trailing_width":0,
2869 "leading":[],
2870 "trailing":[],
2871 "line_number":20
2874 "function_call_type_args":{
2875 "kind":"type_arguments",
2876 "type_arguments_left_angle":{
2877 "kind":"token",
2878 "token":{
2879 "kind":"<",
2880 "text":"<",
2881 "offset":580,
2882 "leading_width":0,
2883 "width":1,
2884 "trailing_width":0,
2885 "leading":[],
2886 "trailing":[],
2887 "line_number":20
2890 "type_arguments_types":{
2891 "kind":"list",
2892 "elements":[
2894 "kind":"list_item",
2895 "list_item":{
2896 "kind":"simple_type_specifier",
2897 "simple_type_specifier":{
2898 "kind":"token",
2899 "token":{
2900 "kind":"name",
2901 "text":"baz",
2902 "offset":581,
2903 "leading_width":0,
2904 "width":3,
2905 "trailing_width":0,
2906 "leading":[],
2907 "trailing":[],
2908 "line_number":20
2912 "list_separator":{"kind":"missing"}
2916 "type_arguments_right_angle":{
2917 "kind":"token",
2918 "token":{
2919 "kind":">",
2920 "text":">",
2921 "offset":584,
2922 "leading_width":0,
2923 "width":1,
2924 "trailing_width":0,
2925 "leading":[],
2926 "trailing":[],
2927 "line_number":20
2931 "function_call_left_paren":{
2932 "kind":"token",
2933 "token":{
2934 "kind":"(",
2935 "text":"(",
2936 "offset":585,
2937 "leading_width":0,
2938 "width":1,
2939 "trailing_width":0,
2940 "leading":[],
2941 "trailing":[],
2942 "line_number":20
2945 "function_call_argument_list":{
2946 "kind":"list",
2947 "elements":[
2949 "kind":"list_item",
2950 "list_item":{
2951 "kind":"variable",
2952 "variable_expression":{
2953 "kind":"token",
2954 "token":{
2955 "kind":"variable",
2956 "text":"$x",
2957 "offset":586,
2958 "leading_width":0,
2959 "width":2,
2960 "trailing_width":0,
2961 "leading":[],
2962 "trailing":[],
2963 "line_number":20
2967 "list_separator":{
2968 "kind":"token",
2969 "token":{
2970 "kind":",",
2971 "text":",",
2972 "offset":588,
2973 "leading_width":0,
2974 "width":1,
2975 "trailing_width":1,
2976 "leading":[],
2977 "trailing":[{"kind":"whitespace","text":" ","offset":589,"width":1}],
2978 "line_number":20
2983 "kind":"list_item",
2984 "list_item":{
2985 "kind":"variable",
2986 "variable_expression":{
2987 "kind":"token",
2988 "token":{
2989 "kind":"variable",
2990 "text":"$y",
2991 "offset":590,
2992 "leading_width":0,
2993 "width":2,
2994 "trailing_width":0,
2995 "leading":[],
2996 "trailing":[],
2997 "line_number":20
3001 "list_separator":{"kind":"missing"}
3005 "function_call_right_paren":{
3006 "kind":"token",
3007 "token":{
3008 "kind":")",
3009 "text":")",
3010 "offset":592,
3011 "leading_width":0,
3012 "width":1,
3013 "trailing_width":0,
3014 "leading":[],
3015 "trailing":[],
3016 "line_number":20
3020 "list_separator":{"kind":"missing"}
3024 "function_call_right_paren":{
3025 "kind":"token",
3026 "token":{
3027 "kind":")",
3028 "text":")",
3029 "offset":593,
3030 "leading_width":0,
3031 "width":1,
3032 "trailing_width":0,
3033 "leading":[],
3034 "trailing":[],
3035 "line_number":20
3039 "expression_statement_semicolon":{
3040 "kind":"token",
3041 "token":{
3042 "kind":";",
3043 "text":";",
3044 "offset":594,
3045 "leading_width":0,
3046 "width":1,
3047 "trailing_width":1,
3048 "leading":[],
3049 "trailing":[{"kind":"end_of_line","text":"\n","offset":595,"width":1}],
3050 "line_number":20
3055 "kind":"expression_statement",
3056 "expression_statement_expression":{
3057 "kind":"binary_expression",
3058 "binary_left_operand":{
3059 "kind":"token",
3060 "token":{
3061 "kind":"name",
3062 "text":"foo",
3063 "offset":596,
3064 "leading_width":0,
3065 "width":3,
3066 "trailing_width":0,
3067 "leading":[],
3068 "trailing":[],
3069 "line_number":21
3072 "binary_operator":{
3073 "kind":"token",
3074 "token":{
3075 "kind":"<",
3076 "text":"<",
3077 "offset":599,
3078 "leading_width":0,
3079 "width":1,
3080 "trailing_width":0,
3081 "leading":[],
3082 "trailing":[],
3083 "line_number":21
3086 "binary_right_operand":{
3087 "kind":"function_call_expression",
3088 "function_call_receiver":{
3089 "kind":"token",
3090 "token":{
3091 "kind":"name",
3092 "text":"bar",
3093 "offset":600,
3094 "leading_width":0,
3095 "width":3,
3096 "trailing_width":0,
3097 "leading":[],
3098 "trailing":[],
3099 "line_number":21
3102 "function_call_type_args":{
3103 "kind":"type_arguments",
3104 "type_arguments_left_angle":{
3105 "kind":"token",
3106 "token":{
3107 "kind":"<",
3108 "text":"<",
3109 "offset":603,
3110 "leading_width":0,
3111 "width":1,
3112 "trailing_width":0,
3113 "leading":[],
3114 "trailing":[],
3115 "line_number":21
3118 "type_arguments_types":{
3119 "kind":"list",
3120 "elements":[
3122 "kind":"list_item",
3123 "list_item":{
3124 "kind":"simple_type_specifier",
3125 "simple_type_specifier":{
3126 "kind":"token",
3127 "token":{
3128 "kind":"name",
3129 "text":"baz",
3130 "offset":604,
3131 "leading_width":0,
3132 "width":3,
3133 "trailing_width":0,
3134 "leading":[],
3135 "trailing":[],
3136 "line_number":21
3140 "list_separator":{"kind":"missing"}
3144 "type_arguments_right_angle":{
3145 "kind":"token",
3146 "token":{
3147 "kind":">",
3148 "text":">",
3149 "offset":607,
3150 "leading_width":0,
3151 "width":1,
3152 "trailing_width":0,
3153 "leading":[],
3154 "trailing":[],
3155 "line_number":21
3159 "function_call_left_paren":{
3160 "kind":"token",
3161 "token":{
3162 "kind":"(",
3163 "text":"(",
3164 "offset":608,
3165 "leading_width":0,
3166 "width":1,
3167 "trailing_width":0,
3168 "leading":[],
3169 "trailing":[],
3170 "line_number":21
3173 "function_call_argument_list":{"kind":"missing"},
3174 "function_call_right_paren":{
3175 "kind":"token",
3176 "token":{
3177 "kind":")",
3178 "text":")",
3179 "offset":609,
3180 "leading_width":0,
3181 "width":1,
3182 "trailing_width":0,
3183 "leading":[],
3184 "trailing":[],
3185 "line_number":21
3190 "expression_statement_semicolon":{
3191 "kind":"token",
3192 "token":{
3193 "kind":";",
3194 "text":";",
3195 "offset":610,
3196 "leading_width":0,
3197 "width":1,
3198 "trailing_width":1,
3199 "leading":[],
3200 "trailing":[{"kind":"end_of_line","text":"\n","offset":611,"width":1}],
3201 "line_number":21
3206 "kind":"expression_statement",
3207 "expression_statement_expression":{
3208 "kind":"binary_expression",
3209 "binary_left_operand":{
3210 "kind":"binary_expression",
3211 "binary_left_operand":{
3212 "kind":"literal",
3213 "literal_expression":{
3214 "kind":"token",
3215 "token":{
3216 "kind":"decimal_literal",
3217 "text":"42",
3218 "offset":612,
3219 "leading_width":0,
3220 "width":2,
3221 "trailing_width":1,
3222 "leading":[],
3223 "trailing":[{"kind":"whitespace","text":" ","offset":614,"width":1}],
3224 "line_number":22
3228 "binary_operator":{
3229 "kind":"token",
3230 "token":{
3231 "kind":"*",
3232 "text":"*",
3233 "offset":615,
3234 "leading_width":0,
3235 "width":1,
3236 "trailing_width":1,
3237 "leading":[],
3238 "trailing":[{"kind":"whitespace","text":" ","offset":616,"width":1}],
3239 "line_number":22
3242 "binary_right_operand":{
3243 "kind":"token",
3244 "token":{
3245 "kind":"name",
3246 "text":"foo",
3247 "offset":617,
3248 "leading_width":0,
3249 "width":3,
3250 "trailing_width":1,
3251 "leading":[],
3252 "trailing":[{"kind":"whitespace","text":" ","offset":620,"width":1}],
3253 "line_number":22
3257 "binary_operator":{
3258 "kind":"token",
3259 "token":{
3260 "kind":"<",
3261 "text":"<",
3262 "offset":621,
3263 "leading_width":0,
3264 "width":1,
3265 "trailing_width":1,
3266 "leading":[],
3267 "trailing":[{"kind":"whitespace","text":" ","offset":622,"width":1}],
3268 "line_number":22
3271 "binary_right_operand":{
3272 "kind":"literal",
3273 "literal_expression":{
3274 "kind":"token",
3275 "token":{
3276 "kind":"decimal_literal",
3277 "text":"90",
3278 "offset":623,
3279 "leading_width":0,
3280 "width":2,
3281 "trailing_width":0,
3282 "leading":[],
3283 "trailing":[],
3284 "line_number":22
3289 "expression_statement_semicolon":{
3290 "kind":"token",
3291 "token":{
3292 "kind":";",
3293 "text":";",
3294 "offset":625,
3295 "leading_width":0,
3296 "width":1,
3297 "trailing_width":1,
3298 "leading":[],
3299 "trailing":[{"kind":"end_of_line","text":"\n","offset":626,"width":1}],
3300 "line_number":22
3305 "kind":"expression_statement",
3306 "expression_statement_expression":{
3307 "kind":"binary_expression",
3308 "binary_left_operand":{
3309 "kind":"binary_expression",
3310 "binary_left_operand":{
3311 "kind":"literal",
3312 "literal_expression":{
3313 "kind":"token",
3314 "token":{
3315 "kind":"decimal_literal",
3316 "text":"42",
3317 "offset":627,
3318 "leading_width":0,
3319 "width":2,
3320 "trailing_width":1,
3321 "leading":[],
3322 "trailing":[{"kind":"whitespace","text":" ","offset":629,"width":1}],
3323 "line_number":23
3327 "binary_operator":{
3328 "kind":"token",
3329 "token":{
3330 "kind":"*",
3331 "text":"*",
3332 "offset":630,
3333 "leading_width":0,
3334 "width":1,
3335 "trailing_width":1,
3336 "leading":[],
3337 "trailing":[{"kind":"whitespace","text":" ","offset":631,"width":1}],
3338 "line_number":23
3341 "binary_right_operand":{
3342 "kind":"token",
3343 "token":{
3344 "kind":"name",
3345 "text":"foo",
3346 "offset":632,
3347 "leading_width":0,
3348 "width":3,
3349 "trailing_width":1,
3350 "leading":[],
3351 "trailing":[{"kind":"whitespace","text":" ","offset":635,"width":1}],
3352 "line_number":23
3356 "binary_operator":{
3357 "kind":"token",
3358 "token":{
3359 "kind":"<",
3360 "text":"<",
3361 "offset":636,
3362 "leading_width":0,
3363 "width":1,
3364 "trailing_width":1,
3365 "leading":[],
3366 "trailing":[{"kind":"whitespace","text":" ","offset":637,"width":1}],
3367 "line_number":23
3370 "binary_right_operand":{
3371 "kind":"binary_expression",
3372 "binary_left_operand":{
3373 "kind":"literal",
3374 "literal_expression":{
3375 "kind":"token",
3376 "token":{
3377 "kind":"decimal_literal",
3378 "text":"90",
3379 "offset":638,
3380 "leading_width":0,
3381 "width":2,
3382 "trailing_width":1,
3383 "leading":[],
3384 "trailing":[{"kind":"whitespace","text":" ","offset":640,"width":1}],
3385 "line_number":23
3389 "binary_operator":{
3390 "kind":"token",
3391 "token":{
3392 "kind":"+",
3393 "text":"+",
3394 "offset":641,
3395 "leading_width":0,
3396 "width":1,
3397 "trailing_width":1,
3398 "leading":[],
3399 "trailing":[{"kind":"whitespace","text":" ","offset":642,"width":1}],
3400 "line_number":23
3403 "binary_right_operand":{
3404 "kind":"literal",
3405 "literal_expression":{
3406 "kind":"token",
3407 "token":{
3408 "kind":"decimal_literal",
3409 "text":"50",
3410 "offset":643,
3411 "leading_width":0,
3412 "width":2,
3413 "trailing_width":0,
3414 "leading":[],
3415 "trailing":[],
3416 "line_number":23
3422 "expression_statement_semicolon":{
3423 "kind":"token",
3424 "token":{
3425 "kind":";",
3426 "text":";",
3427 "offset":645,
3428 "leading_width":0,
3429 "width":1,
3430 "trailing_width":1,
3431 "leading":[],
3432 "trailing":[{"kind":"end_of_line","text":"\n","offset":646,"width":1}],
3433 "line_number":23
3438 "kind":"expression_statement",
3439 "expression_statement_expression":{
3440 "kind":"binary_expression",
3441 "binary_left_operand":{
3442 "kind":"binary_expression",
3443 "binary_left_operand":{
3444 "kind":"binary_expression",
3445 "binary_left_operand":{
3446 "kind":"literal",
3447 "literal_expression":{
3448 "kind":"token",
3449 "token":{
3450 "kind":"decimal_literal",
3451 "text":"42",
3452 "offset":647,
3453 "leading_width":0,
3454 "width":2,
3455 "trailing_width":1,
3456 "leading":[],
3457 "trailing":[{"kind":"whitespace","text":" ","offset":649,"width":1}],
3458 "line_number":24
3462 "binary_operator":{
3463 "kind":"token",
3464 "token":{
3465 "kind":"*",
3466 "text":"*",
3467 "offset":650,
3468 "leading_width":0,
3469 "width":1,
3470 "trailing_width":1,
3471 "leading":[],
3472 "trailing":[{"kind":"whitespace","text":" ","offset":651,"width":1}],
3473 "line_number":24
3476 "binary_right_operand":{
3477 "kind":"token",
3478 "token":{
3479 "kind":"name",
3480 "text":"foo",
3481 "offset":652,
3482 "leading_width":0,
3483 "width":3,
3484 "trailing_width":1,
3485 "leading":[],
3486 "trailing":[{"kind":"whitespace","text":" ","offset":655,"width":1}],
3487 "line_number":24
3491 "binary_operator":{
3492 "kind":"token",
3493 "token":{
3494 "kind":"<",
3495 "text":"<",
3496 "offset":656,
3497 "leading_width":0,
3498 "width":1,
3499 "trailing_width":1,
3500 "leading":[],
3501 "trailing":[{"kind":"whitespace","text":" ","offset":657,"width":1}],
3502 "line_number":24
3505 "binary_right_operand":{
3506 "kind":"literal",
3507 "literal_expression":{
3508 "kind":"token",
3509 "token":{
3510 "kind":"decimal_literal",
3511 "text":"90",
3512 "offset":658,
3513 "leading_width":0,
3514 "width":2,
3515 "trailing_width":1,
3516 "leading":[],
3517 "trailing":[{"kind":"whitespace","text":" ","offset":660,"width":1}],
3518 "line_number":24
3523 "binary_operator":{
3524 "kind":"token",
3525 "token":{
3526 "kind":"===",
3527 "text":"===",
3528 "offset":661,
3529 "leading_width":0,
3530 "width":3,
3531 "trailing_width":1,
3532 "leading":[],
3533 "trailing":[{"kind":"whitespace","text":" ","offset":664,"width":1}],
3534 "line_number":24
3537 "binary_right_operand":{
3538 "kind":"literal",
3539 "literal_expression":{
3540 "kind":"token",
3541 "token":{
3542 "kind":"boolean_literal",
3543 "text":"true",
3544 "offset":665,
3545 "leading_width":0,
3546 "width":4,
3547 "trailing_width":0,
3548 "leading":[],
3549 "trailing":[],
3550 "line_number":24
3555 "expression_statement_semicolon":{
3556 "kind":"token",
3557 "token":{
3558 "kind":";",
3559 "text":";",
3560 "offset":669,
3561 "leading_width":0,
3562 "width":1,
3563 "trailing_width":1,
3564 "leading":[],
3565 "trailing":[{"kind":"end_of_line","text":"\n","offset":670,"width":1}],
3566 "line_number":24
3571 "kind":"end_of_file",
3572 "end_of_file_token":{
3573 "kind":"token",
3574 "token":{
3575 "kind":"end_of_file",
3576 "text":"",
3577 "offset":671,
3578 "leading_width":0,
3579 "width":0,
3580 "trailing_width":0,
3581 "leading":[],
3582 "trailing":[],
3583 "line_number":25
3590 "program_text":"<?hh // strict\n\n// ficticious functions with size-discernable names\nf('hi'); // normal function call w/o generics\nfo<string>('hello'); // annotated function call\nfoo(0 < 0, tuple()); // not generics annotated, but seems so a little\nfooo(Bar < 0, 10 > Qux); // certainly not annotated, but hard to tell\nfoooo(bar<int,string>()); // annotated inside an argument list\n42 * ba<string>('hello');\n\n$x ?? foo<bar>();\n42 * foo<bar>();\n42 * foo<bar>($x);\n42 * foo<bar>($x, $y);\n42 * x::foo<bar>();\n42 * x::foo<bar>($x);\n42 * x::foo<bar>($x, $y);\nbaz(foo<baz>());\nbaz(foo<baz>($x));\nbaz(foo<baz>($x, $y));\nfoo<bar<baz>();\n42 * foo < 90;\n42 * foo < 90 + 50;\n42 * foo < 90 === true;\n",
3591 "version":"2020-04-14-0002"