Delete provisional syntax for capabilities
[hiphop-php.git] / hphp / hack / test / full_fidelity / cases / namespaces / trailing_backslashes.php.json.exp
blob7ebf0cd43372f0d0e3f365d29ceae7fa4c843e98
2 "parse_tree":{
3 "kind":"script",
4 "script_declarations":{
5 "kind":"list",
6 "elements":[
8 "kind":"markup_section",
9 "markup_hashbang":{
10 "kind":"token",
11 "token":{
12 "kind":"hashbang",
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":"function_declaration",
57 "function_attribute_spec":{"kind":"missing"},
58 "function_declaration_header":{
59 "kind":"function_declaration_header",
60 "function_modifiers":{"kind":"missing"},
61 "function_keyword":{
62 "kind":"token",
63 "token":{
64 "kind":"function",
65 "text":"function",
66 "offset":5,
67 "leading_width":58,
68 "width":8,
69 "trailing_width":1,
70 "leading":[
71 {"kind":"end_of_line","text":"\n","offset":5,"width":1},
73 "kind":"single_line_comment",
74 "text":"// Qualified names should not have trailing backslashes",
75 "offset":6,
76 "width":55
78 {"kind":"end_of_line","text":"\n","offset":61,"width":1},
79 {"kind":"end_of_line","text":"\n","offset":62,"width":1}
81 "trailing":[{"kind":"whitespace","text":" ","offset":71,"width":1}],
82 "line_number":5
85 "function_name":{
86 "kind":"token",
87 "token":{
88 "kind":"name",
89 "text":"test",
90 "offset":72,
91 "leading_width":0,
92 "width":4,
93 "trailing_width":0,
94 "leading":[],
95 "trailing":[],
96 "line_number":5
99 "function_type_parameter_list":{"kind":"missing"},
100 "function_left_paren":{
101 "kind":"token",
102 "token":{
103 "kind":"(",
104 "text":"(",
105 "offset":76,
106 "leading_width":0,
107 "width":1,
108 "trailing_width":0,
109 "leading":[],
110 "trailing":[],
111 "line_number":5
114 "function_parameter_list":{"kind":"missing"},
115 "function_right_paren":{
116 "kind":"token",
117 "token":{
118 "kind":")",
119 "text":")",
120 "offset":77,
121 "leading_width":0,
122 "width":1,
123 "trailing_width":0,
124 "leading":[],
125 "trailing":[],
126 "line_number":5
129 "function_capability":{"kind":"missing"},
130 "function_colon":{
131 "kind":"token",
132 "token":{
133 "kind":":",
134 "text":":",
135 "offset":78,
136 "leading_width":0,
137 "width":1,
138 "trailing_width":1,
139 "leading":[],
140 "trailing":[{"kind":"whitespace","text":" ","offset":79,"width":1}],
141 "line_number":5
144 "function_type":{
145 "kind":"simple_type_specifier",
146 "simple_type_specifier":{
147 "kind":"token",
148 "token":{
149 "kind":"void",
150 "text":"void",
151 "offset":80,
152 "leading_width":0,
153 "width":4,
154 "trailing_width":1,
155 "leading":[],
156 "trailing":[{"kind":"whitespace","text":" ","offset":84,"width":1}],
157 "line_number":5
161 "function_where_clause":{"kind":"missing"}
163 "function_body":{
164 "kind":"compound_statement",
165 "compound_left_brace":{
166 "kind":"token",
167 "token":{
168 "kind":"{",
169 "text":"{",
170 "offset":85,
171 "leading_width":0,
172 "width":1,
173 "trailing_width":1,
174 "leading":[],
175 "trailing":[{"kind":"end_of_line","text":"\n","offset":86,"width":1}],
176 "line_number":5
179 "compound_statements":{
180 "kind":"list",
181 "elements":[
183 "kind":"expression_statement",
184 "expression_statement_expression":{
185 "kind":"binary_expression",
186 "binary_left_operand":{
187 "kind":"variable",
188 "variable_expression":{
189 "kind":"token",
190 "token":{
191 "kind":"variable",
192 "text":"$x",
193 "offset":87,
194 "leading_width":2,
195 "width":2,
196 "trailing_width":1,
197 "leading":[{"kind":"whitespace","text":" ","offset":87,"width":2}],
198 "trailing":[{"kind":"whitespace","text":" ","offset":91,"width":1}],
199 "line_number":6
203 "binary_operator":{
204 "kind":"token",
205 "token":{
206 "kind":"=",
207 "text":"=",
208 "offset":92,
209 "leading_width":0,
210 "width":1,
211 "trailing_width":1,
212 "leading":[],
213 "trailing":[{"kind":"whitespace","text":" ","offset":93,"width":1}],
214 "line_number":6
217 "binary_right_operand":{
218 "kind":"object_creation_expression",
219 "object_creation_new_keyword":{
220 "kind":"token",
221 "token":{
222 "kind":"new",
223 "text":"new",
224 "offset":94,
225 "leading_width":0,
226 "width":3,
227 "trailing_width":1,
228 "leading":[],
229 "trailing":[{"kind":"whitespace","text":" ","offset":97,"width":1}],
230 "line_number":6
233 "object_creation_object":{
234 "kind":"constructor_call",
235 "constructor_call_type":{
236 "kind":"simple_type_specifier",
237 "simple_type_specifier":{
238 "kind":"qualified_name",
239 "qualified_name_parts":{
240 "kind":"list",
241 "elements":[
243 "kind":"list_item",
244 "list_item":{
245 "kind":"token",
246 "token":{
247 "kind":"name",
248 "text":"Foospace",
249 "offset":98,
250 "leading_width":0,
251 "width":8,
252 "trailing_width":0,
253 "leading":[],
254 "trailing":[],
255 "line_number":6
258 "list_separator":{
259 "kind":"token",
260 "token":{
261 "kind":"\\",
262 "text":"\\",
263 "offset":106,
264 "leading_width":0,
265 "width":1,
266 "trailing_width":0,
267 "leading":[],
268 "trailing":[],
269 "line_number":6
277 "constructor_call_left_paren":{
278 "kind":"token",
279 "token":{
280 "kind":"(",
281 "text":"(",
282 "offset":107,
283 "leading_width":0,
284 "width":1,
285 "trailing_width":0,
286 "leading":[],
287 "trailing":[],
288 "line_number":6
291 "constructor_call_argument_list":{"kind":"missing"},
292 "constructor_call_right_paren":{
293 "kind":"token",
294 "token":{
295 "kind":")",
296 "text":")",
297 "offset":108,
298 "leading_width":0,
299 "width":1,
300 "trailing_width":0,
301 "leading":[],
302 "trailing":[],
303 "line_number":6
309 "expression_statement_semicolon":{
310 "kind":"token",
311 "token":{
312 "kind":";",
313 "text":";",
314 "offset":109,
315 "leading_width":0,
316 "width":1,
317 "trailing_width":1,
318 "leading":[],
319 "trailing":[{"kind":"end_of_line","text":"\n","offset":110,"width":1}],
320 "line_number":6
325 "kind":"expression_statement",
326 "expression_statement_expression":{
327 "kind":"binary_expression",
328 "binary_left_operand":{
329 "kind":"variable",
330 "variable_expression":{
331 "kind":"token",
332 "token":{
333 "kind":"variable",
334 "text":"$y",
335 "offset":111,
336 "leading_width":3,
337 "width":2,
338 "trailing_width":1,
339 "leading":[
340 {"kind":"end_of_line","text":"\n","offset":111,"width":1},
341 {"kind":"whitespace","text":" ","offset":112,"width":2}
343 "trailing":[{"kind":"whitespace","text":" ","offset":116,"width":1}],
344 "line_number":8
348 "binary_operator":{
349 "kind":"token",
350 "token":{
351 "kind":"=",
352 "text":"=",
353 "offset":117,
354 "leading_width":0,
355 "width":1,
356 "trailing_width":1,
357 "leading":[],
358 "trailing":[{"kind":"whitespace","text":" ","offset":118,"width":1}],
359 "line_number":8
362 "binary_right_operand":{
363 "kind":"function_call_expression",
364 "function_call_receiver":{
365 "kind":"qualified_name",
366 "qualified_name_parts":{
367 "kind":"list",
368 "elements":[
370 "kind":"list_item",
371 "list_item":{
372 "kind":"token",
373 "token":{
374 "kind":"name",
375 "text":"Foospace",
376 "offset":119,
377 "leading_width":0,
378 "width":8,
379 "trailing_width":0,
380 "leading":[],
381 "trailing":[],
382 "line_number":8
385 "list_separator":{
386 "kind":"token",
387 "token":{
388 "kind":"\\",
389 "text":"\\",
390 "offset":127,
391 "leading_width":0,
392 "width":1,
393 "trailing_width":0,
394 "leading":[],
395 "trailing":[],
396 "line_number":8
401 "kind":"list_item",
402 "list_item":{
403 "kind":"token",
404 "token":{
405 "kind":"name",
406 "text":"bar",
407 "offset":128,
408 "leading_width":0,
409 "width":3,
410 "trailing_width":0,
411 "leading":[],
412 "trailing":[],
413 "line_number":8
416 "list_separator":{
417 "kind":"token",
418 "token":{
419 "kind":"\\",
420 "text":"\\",
421 "offset":131,
422 "leading_width":0,
423 "width":1,
424 "trailing_width":0,
425 "leading":[],
426 "trailing":[],
427 "line_number":8
434 "function_call_type_args":{"kind":"missing"},
435 "function_call_left_paren":{
436 "kind":"token",
437 "token":{
438 "kind":"(",
439 "text":"(",
440 "offset":132,
441 "leading_width":0,
442 "width":1,
443 "trailing_width":0,
444 "leading":[],
445 "trailing":[],
446 "line_number":8
449 "function_call_argument_list":{"kind":"missing"},
450 "function_call_right_paren":{
451 "kind":"token",
452 "token":{
453 "kind":")",
454 "text":")",
455 "offset":133,
456 "leading_width":0,
457 "width":1,
458 "trailing_width":0,
459 "leading":[],
460 "trailing":[],
461 "line_number":8
466 "expression_statement_semicolon":{
467 "kind":"token",
468 "token":{
469 "kind":";",
470 "text":";",
471 "offset":134,
472 "leading_width":0,
473 "width":1,
474 "trailing_width":1,
475 "leading":[],
476 "trailing":[{"kind":"end_of_line","text":"\n","offset":135,"width":1}],
477 "line_number":8
482 "kind":"expression_statement",
483 "expression_statement_expression":{
484 "kind":"binary_expression",
485 "binary_left_operand":{
486 "kind":"variable",
487 "variable_expression":{
488 "kind":"token",
489 "token":{
490 "kind":"variable",
491 "text":"$z",
492 "offset":136,
493 "leading_width":3,
494 "width":2,
495 "trailing_width":1,
496 "leading":[
497 {"kind":"end_of_line","text":"\n","offset":136,"width":1},
498 {"kind":"whitespace","text":" ","offset":137,"width":2}
500 "trailing":[{"kind":"whitespace","text":" ","offset":141,"width":1}],
501 "line_number":10
505 "binary_operator":{
506 "kind":"token",
507 "token":{
508 "kind":"=",
509 "text":"=",
510 "offset":142,
511 "leading_width":0,
512 "width":1,
513 "trailing_width":1,
514 "leading":[],
515 "trailing":[{"kind":"whitespace","text":" ","offset":143,"width":1}],
516 "line_number":10
519 "binary_right_operand":{
520 "kind":"scope_resolution_expression",
521 "scope_resolution_qualifier":{
522 "kind":"qualified_name",
523 "qualified_name_parts":{
524 "kind":"list",
525 "elements":[
527 "kind":"list_item",
528 "list_item":{
529 "kind":"token",
530 "token":{
531 "kind":"name",
532 "text":"Foo",
533 "offset":144,
534 "leading_width":0,
535 "width":3,
536 "trailing_width":0,
537 "leading":[],
538 "trailing":[],
539 "line_number":10
542 "list_separator":{
543 "kind":"token",
544 "token":{
545 "kind":"\\",
546 "text":"\\",
547 "offset":147,
548 "leading_width":0,
549 "width":1,
550 "trailing_width":0,
551 "leading":[],
552 "trailing":[],
553 "line_number":10
560 "scope_resolution_operator":{
561 "kind":"token",
562 "token":{
563 "kind":"::",
564 "text":"::",
565 "offset":148,
566 "leading_width":0,
567 "width":2,
568 "trailing_width":0,
569 "leading":[],
570 "trailing":[],
571 "line_number":10
574 "scope_resolution_name":{
575 "kind":"token",
576 "token":{
577 "kind":"class",
578 "text":"class",
579 "offset":150,
580 "leading_width":0,
581 "width":5,
582 "trailing_width":0,
583 "leading":[],
584 "trailing":[],
585 "line_number":10
590 "expression_statement_semicolon":{
591 "kind":"token",
592 "token":{
593 "kind":";",
594 "text":";",
595 "offset":155,
596 "leading_width":0,
597 "width":1,
598 "trailing_width":1,
599 "leading":[],
600 "trailing":[{"kind":"end_of_line","text":"\n","offset":156,"width":1}],
601 "line_number":10
607 "compound_right_brace":{
608 "kind":"token",
609 "token":{
610 "kind":"}",
611 "text":"}",
612 "offset":157,
613 "leading_width":0,
614 "width":1,
615 "trailing_width":1,
616 "leading":[],
617 "trailing":[{"kind":"end_of_line","text":"\n","offset":158,"width":1}],
618 "line_number":11
624 "kind":"end_of_file",
625 "end_of_file_token":{
626 "kind":"token",
627 "token":{
628 "kind":"end_of_file",
629 "text":"",
630 "offset":159,
631 "leading_width":0,
632 "width":0,
633 "trailing_width":0,
634 "leading":[],
635 "trailing":[],
636 "line_number":12
643 "program_text":"<?hh\n\n// Qualified names should not have trailing backslashes\n\nfunction test(): void {\n $x = new Foospace\\();\n\n $y = Foospace\\bar\\();\n\n $z = Foo\\::class;\n}\n",
644 "version":"2020-12-09-0001"