Use JSON for FFP tests
[hiphop-php.git] / hphp / hack / test / full_fidelity / cases / test_varray_darray_expressions.php.json.exp
blob43070634c9c1b68f00802479ac144fe6019aa223
2 "parse_tree":{
3 "kind":"script",
4 "script_declarations":{
5 "kind":"list",
6 "elements":[
8 "kind":"markup_section",
9 "markup_text":{
10 "kind":"token",
11 "token":{
12 "kind":"markup",
13 "text":"",
14 "offset":0,
15 "leading_width":0,
16 "width":0,
17 "trailing_width":0,
18 "leading":[],
19 "trailing":[],
20 "line_number":1
23 "markup_suffix":{
24 "kind":"markup_suffix",
25 "markup_suffix_less_than_question":{
26 "kind":"token",
27 "token":{
28 "kind":"<?",
29 "text":"<?",
30 "offset":0,
31 "leading_width":0,
32 "width":2,
33 "trailing_width":0,
34 "leading":[],
35 "trailing":[],
36 "line_number":1
39 "markup_suffix_name":{
40 "kind":"token",
41 "token":{
42 "kind":"name",
43 "text":"hh",
44 "offset":2,
45 "leading_width":0,
46 "width":2,
47 "trailing_width":11,
48 "leading":[],
49 "trailing":[
50 {"kind":"whitespace","text":" ","offset":4,"width":1},
51 {"kind":"single_line_comment","text":"// strict","offset":5,"width":9},
52 {"kind":"end_of_line","text":"\n","offset":14,"width":1}
54 "line_number":1
60 "kind":"classish_declaration",
61 "classish_attribute":{"kind":"missing"},
62 "classish_modifiers":{"kind":"missing"},
63 "classish_xhp":{"kind":"missing"},
64 "classish_keyword":{
65 "kind":"token",
66 "token":{
67 "kind":"class",
68 "text":"class",
69 "offset":15,
70 "leading_width":58,
71 "width":5,
72 "trailing_width":1,
73 "leading":[
75 "kind":"single_line_comment",
76 "text":"// Copyright 2004-present Facebook. All Rights Reserved.",
77 "offset":15,
78 "width":56
80 {"kind":"end_of_line","text":"\n","offset":71,"width":1},
81 {"kind":"end_of_line","text":"\n","offset":72,"width":1}
83 "trailing":[{"kind":"whitespace","text":" ","offset":78,"width":1}],
84 "line_number":4
87 "classish_name":{
88 "kind":"token",
89 "token":{
90 "kind":"name",
91 "text":"TestVarrayDarrayExpression",
92 "offset":79,
93 "leading_width":0,
94 "width":26,
95 "trailing_width":1,
96 "leading":[],
97 "trailing":[{"kind":"whitespace","text":" ","offset":105,"width":1}],
98 "line_number":4
101 "classish_type_parameters":{"kind":"missing"},
102 "classish_extends_keyword":{"kind":"missing"},
103 "classish_extends_list":{"kind":"missing"},
104 "classish_implements_keyword":{"kind":"missing"},
105 "classish_implements_list":{"kind":"missing"},
106 "classish_where_clause":{"kind":"missing"},
107 "classish_body":{
108 "kind":"classish_body",
109 "classish_body_left_brace":{
110 "kind":"token",
111 "token":{
112 "kind":"{",
113 "text":"{",
114 "offset":106,
115 "leading_width":0,
116 "width":1,
117 "trailing_width":1,
118 "leading":[],
119 "trailing":[{"kind":"end_of_line","text":"\n","offset":107,"width":1}],
120 "line_number":4
123 "classish_body_elements":{
124 "kind":"list",
125 "elements":[
127 "kind":"methodish_declaration",
128 "methodish_attribute":{"kind":"missing"},
129 "methodish_function_decl_header":{
130 "kind":"function_declaration_header",
131 "function_modifiers":{
132 "kind":"list",
133 "elements":[
135 "kind":"token",
136 "token":{
137 "kind":"private",
138 "text":"private",
139 "offset":108,
140 "leading_width":2,
141 "width":7,
142 "trailing_width":1,
143 "leading":[{"kind":"whitespace","text":" ","offset":108,"width":2}],
144 "trailing":[{"kind":"whitespace","text":" ","offset":117,"width":1}],
145 "line_number":5
149 "kind":"token",
150 "token":{
151 "kind":"static",
152 "text":"static",
153 "offset":118,
154 "leading_width":0,
155 "width":6,
156 "trailing_width":1,
157 "leading":[],
158 "trailing":[{"kind":"whitespace","text":" ","offset":124,"width":1}],
159 "line_number":5
164 "function_keyword":{
165 "kind":"token",
166 "token":{
167 "kind":"function",
168 "text":"function",
169 "offset":125,
170 "leading_width":0,
171 "width":8,
172 "trailing_width":1,
173 "leading":[],
174 "trailing":[{"kind":"whitespace","text":" ","offset":133,"width":1}],
175 "line_number":5
178 "function_name":{
179 "kind":"token",
180 "token":{
181 "kind":"name",
182 "text":"foo",
183 "offset":134,
184 "leading_width":0,
185 "width":3,
186 "trailing_width":0,
187 "leading":[],
188 "trailing":[],
189 "line_number":5
192 "function_type_parameter_list":{"kind":"missing"},
193 "function_left_paren":{
194 "kind":"token",
195 "token":{
196 "kind":"(",
197 "text":"(",
198 "offset":137,
199 "leading_width":0,
200 "width":1,
201 "trailing_width":0,
202 "leading":[],
203 "trailing":[],
204 "line_number":5
207 "function_parameter_list":{"kind":"missing"},
208 "function_right_paren":{
209 "kind":"token",
210 "token":{
211 "kind":")",
212 "text":")",
213 "offset":138,
214 "leading_width":0,
215 "width":1,
216 "trailing_width":0,
217 "leading":[],
218 "trailing":[],
219 "line_number":5
222 "function_colon":{
223 "kind":"token",
224 "token":{
225 "kind":":",
226 "text":":",
227 "offset":139,
228 "leading_width":0,
229 "width":1,
230 "trailing_width":1,
231 "leading":[],
232 "trailing":[{"kind":"whitespace","text":" ","offset":140,"width":1}],
233 "line_number":5
236 "function_type":{
237 "kind":"simple_type_specifier",
238 "simple_type_specifier":{
239 "kind":"token",
240 "token":{
241 "kind":"void",
242 "text":"void",
243 "offset":141,
244 "leading_width":0,
245 "width":4,
246 "trailing_width":1,
247 "leading":[],
248 "trailing":[{"kind":"whitespace","text":" ","offset":145,"width":1}],
249 "line_number":5
253 "function_where_clause":{"kind":"missing"}
255 "methodish_function_body":{
256 "kind":"compound_statement",
257 "compound_left_brace":{
258 "kind":"token",
259 "token":{
260 "kind":"{",
261 "text":"{",
262 "offset":146,
263 "leading_width":0,
264 "width":1,
265 "trailing_width":1,
266 "leading":[],
267 "trailing":[{"kind":"end_of_line","text":"\n","offset":147,"width":1}],
268 "line_number":5
271 "compound_statements":{
272 "kind":"list",
273 "elements":[
275 "kind":"expression_statement",
276 "expression_statement_expression":{
277 "kind":"darray_intrinsic_expression",
278 "darray_intrinsic_keyword":{
279 "kind":"token",
280 "token":{
281 "kind":"darray",
282 "text":"darray",
283 "offset":148,
284 "leading_width":4,
285 "width":6,
286 "trailing_width":0,
287 "leading":[{"kind":"whitespace","text":" ","offset":148,"width":4}],
288 "trailing":[],
289 "line_number":6
292 "darray_intrinsic_explicit_type":{"kind":"missing"},
293 "darray_intrinsic_left_bracket":{
294 "kind":"token",
295 "token":{
296 "kind":"[",
297 "text":"[",
298 "offset":158,
299 "leading_width":0,
300 "width":1,
301 "trailing_width":0,
302 "leading":[],
303 "trailing":[],
304 "line_number":6
307 "darray_intrinsic_members":{
308 "kind":"list",
309 "elements":[
311 "kind":"list_item",
312 "list_item":{
313 "kind":"element_initializer",
314 "element_key":{
315 "kind":"literal",
316 "literal_expression":{
317 "kind":"token",
318 "token":{
319 "kind":"single_quoted_string_literal",
320 "text":"'bar'",
321 "offset":159,
322 "leading_width":0,
323 "width":5,
324 "trailing_width":1,
325 "leading":[],
326 "trailing":[{"kind":"whitespace","text":" ","offset":164,"width":1}],
327 "line_number":6
331 "element_arrow":{
332 "kind":"token",
333 "token":{
334 "kind":"=>",
335 "text":"=>",
336 "offset":165,
337 "leading_width":0,
338 "width":2,
339 "trailing_width":1,
340 "leading":[],
341 "trailing":[{"kind":"whitespace","text":" ","offset":167,"width":1}],
342 "line_number":6
345 "element_value":{
346 "kind":"literal",
347 "literal_expression":{
348 "kind":"token",
349 "token":{
350 "kind":"decimal_literal",
351 "text":"0",
352 "offset":168,
353 "leading_width":0,
354 "width":1,
355 "trailing_width":0,
356 "leading":[],
357 "trailing":[],
358 "line_number":6
363 "list_separator":{
364 "kind":"token",
365 "token":{
366 "kind":",",
367 "text":",",
368 "offset":169,
369 "leading_width":0,
370 "width":1,
371 "trailing_width":1,
372 "leading":[],
373 "trailing":[{"kind":"whitespace","text":" ","offset":170,"width":1}],
374 "line_number":6
379 "kind":"list_item",
380 "list_item":{
381 "kind":"element_initializer",
382 "element_key":{
383 "kind":"literal",
384 "literal_expression":{
385 "kind":"token",
386 "token":{
387 "kind":"single_quoted_string_literal",
388 "text":"'baz'",
389 "offset":171,
390 "leading_width":0,
391 "width":5,
392 "trailing_width":1,
393 "leading":[],
394 "trailing":[{"kind":"whitespace","text":" ","offset":176,"width":1}],
395 "line_number":6
399 "element_arrow":{
400 "kind":"token",
401 "token":{
402 "kind":"=>",
403 "text":"=>",
404 "offset":177,
405 "leading_width":0,
406 "width":2,
407 "trailing_width":1,
408 "leading":[],
409 "trailing":[{"kind":"whitespace","text":" ","offset":179,"width":1}],
410 "line_number":6
413 "element_value":{
414 "kind":"literal",
415 "literal_expression":{
416 "kind":"token",
417 "token":{
418 "kind":"decimal_literal",
419 "text":"1",
420 "offset":180,
421 "leading_width":0,
422 "width":1,
423 "trailing_width":0,
424 "leading":[],
425 "trailing":[],
426 "line_number":6
431 "list_separator":{
432 "kind":"token",
433 "token":{
434 "kind":",",
435 "text":",",
436 "offset":181,
437 "leading_width":0,
438 "width":1,
439 "trailing_width":1,
440 "leading":[],
441 "trailing":[{"kind":"whitespace","text":" ","offset":182,"width":1}],
442 "line_number":6
447 "kind":"list_item",
448 "list_item":{
449 "kind":"element_initializer",
450 "element_key":{
451 "kind":"literal",
452 "literal_expression":{
453 "kind":"token",
454 "token":{
455 "kind":"single_quoted_string_literal",
456 "text":"'qux'",
457 "offset":183,
458 "leading_width":0,
459 "width":5,
460 "trailing_width":1,
461 "leading":[],
462 "trailing":[{"kind":"whitespace","text":" ","offset":188,"width":1}],
463 "line_number":6
467 "element_arrow":{
468 "kind":"token",
469 "token":{
470 "kind":"=>",
471 "text":"=>",
472 "offset":189,
473 "leading_width":0,
474 "width":2,
475 "trailing_width":1,
476 "leading":[],
477 "trailing":[{"kind":"whitespace","text":" ","offset":191,"width":1}],
478 "line_number":6
481 "element_value":{
482 "kind":"literal",
483 "literal_expression":{
484 "kind":"token",
485 "token":{
486 "kind":"decimal_literal",
487 "text":"2",
488 "offset":192,
489 "leading_width":0,
490 "width":1,
491 "trailing_width":0,
492 "leading":[],
493 "trailing":[],
494 "line_number":6
499 "list_separator":{"kind":"missing"}
503 "darray_intrinsic_right_bracket":{
504 "kind":"token",
505 "token":{
506 "kind":"]",
507 "text":"]",
508 "offset":193,
509 "leading_width":0,
510 "width":1,
511 "trailing_width":0,
512 "leading":[],
513 "trailing":[],
514 "line_number":6
518 "expression_statement_semicolon":{
519 "kind":"token",
520 "token":{
521 "kind":";",
522 "text":";",
523 "offset":194,
524 "leading_width":0,
525 "width":1,
526 "trailing_width":1,
527 "leading":[],
528 "trailing":[{"kind":"end_of_line","text":"\n","offset":195,"width":1}],
529 "line_number":6
534 "kind":"expression_statement",
535 "expression_statement_expression":{
536 "kind":"varray_intrinsic_expression",
537 "varray_intrinsic_keyword":{
538 "kind":"token",
539 "token":{
540 "kind":"varray",
541 "text":"varray",
542 "offset":196,
543 "leading_width":4,
544 "width":6,
545 "trailing_width":0,
546 "leading":[{"kind":"whitespace","text":" ","offset":196,"width":4}],
547 "trailing":[],
548 "line_number":7
551 "varray_intrinsic_explicit_type":{"kind":"missing"},
552 "varray_intrinsic_left_bracket":{
553 "kind":"token",
554 "token":{
555 "kind":"[",
556 "text":"[",
557 "offset":206,
558 "leading_width":0,
559 "width":1,
560 "trailing_width":0,
561 "leading":[],
562 "trailing":[],
563 "line_number":7
566 "varray_intrinsic_members":{
567 "kind":"list",
568 "elements":[
570 "kind":"list_item",
571 "list_item":{
572 "kind":"literal",
573 "literal_expression":{
574 "kind":"token",
575 "token":{
576 "kind":"boolean_literal",
577 "text":"false",
578 "offset":207,
579 "leading_width":0,
580 "width":5,
581 "trailing_width":0,
582 "leading":[],
583 "trailing":[],
584 "line_number":7
588 "list_separator":{
589 "kind":"token",
590 "token":{
591 "kind":",",
592 "text":",",
593 "offset":212,
594 "leading_width":0,
595 "width":1,
596 "trailing_width":1,
597 "leading":[],
598 "trailing":[{"kind":"whitespace","text":" ","offset":213,"width":1}],
599 "line_number":7
604 "kind":"list_item",
605 "list_item":{
606 "kind":"literal",
607 "literal_expression":{
608 "kind":"token",
609 "token":{
610 "kind":"boolean_literal",
611 "text":"true",
612 "offset":214,
613 "leading_width":0,
614 "width":4,
615 "trailing_width":0,
616 "leading":[],
617 "trailing":[],
618 "line_number":7
622 "list_separator":{"kind":"missing"}
626 "varray_intrinsic_right_bracket":{
627 "kind":"token",
628 "token":{
629 "kind":"]",
630 "text":"]",
631 "offset":218,
632 "leading_width":0,
633 "width":1,
634 "trailing_width":0,
635 "leading":[],
636 "trailing":[],
637 "line_number":7
641 "expression_statement_semicolon":{
642 "kind":"token",
643 "token":{
644 "kind":";",
645 "text":";",
646 "offset":219,
647 "leading_width":0,
648 "width":1,
649 "trailing_width":1,
650 "leading":[],
651 "trailing":[{"kind":"end_of_line","text":"\n","offset":220,"width":1}],
652 "line_number":7
658 "compound_right_brace":{
659 "kind":"token",
660 "token":{
661 "kind":"}",
662 "text":"}",
663 "offset":221,
664 "leading_width":2,
665 "width":1,
666 "trailing_width":1,
667 "leading":[{"kind":"whitespace","text":" ","offset":221,"width":2}],
668 "trailing":[{"kind":"end_of_line","text":"\n","offset":224,"width":1}],
669 "line_number":8
673 "methodish_semicolon":{"kind":"missing"}
677 "classish_body_right_brace":{
678 "kind":"token",
679 "token":{
680 "kind":"}",
681 "text":"}",
682 "offset":225,
683 "leading_width":0,
684 "width":1,
685 "trailing_width":1,
686 "leading":[],
687 "trailing":[{"kind":"end_of_line","text":"\n","offset":226,"width":1}],
688 "line_number":9
694 "kind":"end_of_file",
695 "end_of_file_token":{
696 "kind":"token",
697 "token":{
698 "kind":"end_of_file",
699 "text":"",
700 "offset":227,
701 "leading_width":0,
702 "width":0,
703 "trailing_width":0,
704 "leading":[],
705 "trailing":[],
706 "line_number":10
713 "program_text":"<?hh // strict\n// Copyright 2004-present Facebook. All Rights Reserved.\n\nclass TestVarrayDarrayExpression {\n private static function foo(): void {\n darray['bar' => 0, 'baz' => 1, 'qux' => 2];\n varray[false, true];\n }\n}\n",
714 "version":"2020-04-14-0002"