Allow to interleave visibility and function modifiers
[hiphop-php.git] / hphp / hack / src / parser / syntax_sig.ml
bloba02d7346db3ee3ab8bbd94072842f5ccb4e49ebf
1 (**
2 * Copyright (c) 2016, Facebook, Inc.
3 * All rights reserved.
5 * This source code is licensed under the BSD-style license found in the
6 * LICENSE file in the "hack" directory of this source tree. An additional
7 * grant of patent rights can be found in the PATENTS file in the same
8 * directory.
12 * THIS FILE IS @generated; DO NOT EDIT IT
13 * To regenerate this file, run
15 * buck run //hphp/hack/src:generate_full_fidelity
19 * This module contains a signature which can be used to describe the public
20 * surface area of a constructable syntax tree.
24 module type Syntax_S = sig
25 module Token : Lexable_token_sig.LexableToken_S
26 type value
27 type t = { syntax : syntax ; value : value }
28 and end_of_file =
29 { end_of_file_token : t
31 and script =
32 { script_declarations : t
34 and simple_type_specifier =
35 { simple_type_specifier : t
37 and literal_expression =
38 { literal_expression : t
40 and variable_expression =
41 { variable_expression : t
43 and qualified_name_expression =
44 { qualified_name_expression : t
46 and pipe_variable_expression =
47 { pipe_variable_expression : t
49 and enum_declaration =
50 { enum_attribute_spec : t
51 ; enum_keyword : t
52 ; enum_name : t
53 ; enum_colon : t
54 ; enum_base : t
55 ; enum_type : t
56 ; enum_left_brace : t
57 ; enum_enumerators : t
58 ; enum_right_brace : t
60 and enumerator =
61 { enumerator_name : t
62 ; enumerator_equal : t
63 ; enumerator_value : t
64 ; enumerator_semicolon : t
66 and alias_declaration =
67 { alias_attribute_spec : t
68 ; alias_keyword : t
69 ; alias_name : t
70 ; alias_generic_parameter : t
71 ; alias_constraint : t
72 ; alias_equal : t
73 ; alias_type : t
74 ; alias_semicolon : t
76 and property_declaration =
77 { property_modifiers : t
78 ; property_type : t
79 ; property_declarators : t
80 ; property_semicolon : t
82 and property_declarator =
83 { property_name : t
84 ; property_initializer : t
86 and namespace_declaration =
87 { namespace_keyword : t
88 ; namespace_name : t
89 ; namespace_body : t
91 and namespace_body =
92 { namespace_left_brace : t
93 ; namespace_declarations : t
94 ; namespace_right_brace : t
96 and namespace_empty_body =
97 { namespace_semicolon : t
99 and namespace_use_declaration =
100 { namespace_use_keyword : t
101 ; namespace_use_kind : t
102 ; namespace_use_clauses : t
103 ; namespace_use_semicolon : t
105 and namespace_group_use_declaration =
106 { namespace_group_use_keyword : t
107 ; namespace_group_use_kind : t
108 ; namespace_group_use_prefix : t
109 ; namespace_group_use_left_brace : t
110 ; namespace_group_use_clauses : t
111 ; namespace_group_use_right_brace : t
112 ; namespace_group_use_semicolon : t
114 and namespace_use_clause =
115 { namespace_use_clause_kind : t
116 ; namespace_use_name : t
117 ; namespace_use_as : t
118 ; namespace_use_alias : t
120 and function_declaration =
121 { function_attribute_spec : t
122 ; function_declaration_header : t
123 ; function_body : t
125 and function_declaration_header =
126 { function_modifiers : t
127 ; function_keyword : t
128 ; function_ampersand : t
129 ; function_name : t
130 ; function_type_parameter_list : t
131 ; function_left_paren : t
132 ; function_parameter_list : t
133 ; function_right_paren : t
134 ; function_colon : t
135 ; function_type : t
136 ; function_where_clause : t
138 and where_clause =
139 { where_clause_keyword : t
140 ; where_clause_constraints : t
142 and where_constraint =
143 { where_constraint_left_type : t
144 ; where_constraint_operator : t
145 ; where_constraint_right_type : t
147 and methodish_declaration =
148 { methodish_attribute : t
149 ; methodish_function_decl_header : t
150 ; methodish_function_body : t
151 ; methodish_semicolon : t
153 and classish_declaration =
154 { classish_attribute : t
155 ; classish_modifiers : t
156 ; classish_keyword : t
157 ; classish_name : t
158 ; classish_type_parameters : t
159 ; classish_extends_keyword : t
160 ; classish_extends_list : t
161 ; classish_implements_keyword : t
162 ; classish_implements_list : t
163 ; classish_body : t
165 and classish_body =
166 { classish_body_left_brace : t
167 ; classish_body_elements : t
168 ; classish_body_right_brace : t
170 and trait_use_precedence_item =
171 { trait_use_precedence_item_name : t
172 ; trait_use_precedence_item_keyword : t
173 ; trait_use_precedence_item_removed_names : t
175 and trait_use_alias_item =
176 { trait_use_alias_item_aliasing_name : t
177 ; trait_use_alias_item_keyword : t
178 ; trait_use_alias_item_modifiers : t
179 ; trait_use_alias_item_aliased_name : t
181 and trait_use_conflict_resolution =
182 { trait_use_conflict_resolution_keyword : t
183 ; trait_use_conflict_resolution_names : t
184 ; trait_use_conflict_resolution_left_brace : t
185 ; trait_use_conflict_resolution_clauses : t
186 ; trait_use_conflict_resolution_right_brace : t
188 and trait_use =
189 { trait_use_keyword : t
190 ; trait_use_names : t
191 ; trait_use_semicolon : t
193 and require_clause =
194 { require_keyword : t
195 ; require_kind : t
196 ; require_name : t
197 ; require_semicolon : t
199 and const_declaration =
200 { const_abstract : t
201 ; const_keyword : t
202 ; const_type_specifier : t
203 ; const_declarators : t
204 ; const_semicolon : t
206 and constant_declarator =
207 { constant_declarator_name : t
208 ; constant_declarator_initializer : t
210 and type_const_declaration =
211 { type_const_abstract : t
212 ; type_const_keyword : t
213 ; type_const_type_keyword : t
214 ; type_const_name : t
215 ; type_const_type_parameters : t
216 ; type_const_type_constraint : t
217 ; type_const_equal : t
218 ; type_const_type_specifier : t
219 ; type_const_semicolon : t
221 and decorated_expression =
222 { decorated_expression_decorator : t
223 ; decorated_expression_expression : t
225 and parameter_declaration =
226 { parameter_attribute : t
227 ; parameter_visibility : t
228 ; parameter_call_convention : t
229 ; parameter_type : t
230 ; parameter_name : t
231 ; parameter_default_value : t
233 and variadic_parameter =
234 { variadic_parameter_call_convention : t
235 ; variadic_parameter_type : t
236 ; variadic_parameter_ellipsis : t
238 and attribute_specification =
239 { attribute_specification_left_double_angle : t
240 ; attribute_specification_attributes : t
241 ; attribute_specification_right_double_angle : t
243 and attribute =
244 { attribute_name : t
245 ; attribute_left_paren : t
246 ; attribute_values : t
247 ; attribute_right_paren : t
249 and inclusion_expression =
250 { inclusion_require : t
251 ; inclusion_filename : t
253 and inclusion_directive =
254 { inclusion_expression : t
255 ; inclusion_semicolon : t
257 and compound_statement =
258 { compound_left_brace : t
259 ; compound_statements : t
260 ; compound_right_brace : t
262 and expression_statement =
263 { expression_statement_expression : t
264 ; expression_statement_semicolon : t
266 and markup_section =
267 { markup_prefix : t
268 ; markup_text : t
269 ; markup_suffix : t
270 ; markup_expression : t
272 and markup_suffix =
273 { markup_suffix_less_than_question : t
274 ; markup_suffix_name : t
276 and unset_statement =
277 { unset_keyword : t
278 ; unset_left_paren : t
279 ; unset_variables : t
280 ; unset_right_paren : t
281 ; unset_semicolon : t
283 and using_statement_block_scoped =
284 { using_block_await_keyword : t
285 ; using_block_using_keyword : t
286 ; using_block_left_paren : t
287 ; using_block_expressions : t
288 ; using_block_right_paren : t
289 ; using_block_body : t
291 and using_statement_function_scoped =
292 { using_function_await_keyword : t
293 ; using_function_using_keyword : t
294 ; using_function_expression : t
295 ; using_function_semicolon : t
297 and declare_directive_statement =
298 { declare_directive_keyword : t
299 ; declare_directive_left_paren : t
300 ; declare_directive_expression : t
301 ; declare_directive_right_paren : t
302 ; declare_directive_semicolon : t
304 and declare_block_statement =
305 { declare_block_keyword : t
306 ; declare_block_left_paren : t
307 ; declare_block_expression : t
308 ; declare_block_right_paren : t
309 ; declare_block_body : t
311 and while_statement =
312 { while_keyword : t
313 ; while_left_paren : t
314 ; while_condition : t
315 ; while_right_paren : t
316 ; while_body : t
318 and if_statement =
319 { if_keyword : t
320 ; if_left_paren : t
321 ; if_condition : t
322 ; if_right_paren : t
323 ; if_statement : t
324 ; if_elseif_clauses : t
325 ; if_else_clause : t
327 and elseif_clause =
328 { elseif_keyword : t
329 ; elseif_left_paren : t
330 ; elseif_condition : t
331 ; elseif_right_paren : t
332 ; elseif_statement : t
334 and else_clause =
335 { else_keyword : t
336 ; else_statement : t
338 and if_endif_statement =
339 { if_endif_keyword : t
340 ; if_endif_left_paren : t
341 ; if_endif_condition : t
342 ; if_endif_right_paren : t
343 ; if_endif_colon : t
344 ; if_endif_statement : t
345 ; if_endif_elseif_colon_clauses : t
346 ; if_endif_else_colon_clause : t
347 ; if_endif_endif_keyword : t
348 ; if_endif_semicolon : t
350 and elseif_colon_clause =
351 { elseif_colon_keyword : t
352 ; elseif_colon_left_paren : t
353 ; elseif_colon_condition : t
354 ; elseif_colon_right_paren : t
355 ; elseif_colon_colon : t
356 ; elseif_colon_statement : t
358 and else_colon_clause =
359 { else_colon_keyword : t
360 ; else_colon_colon : t
361 ; else_colon_statement : t
363 and try_statement =
364 { try_keyword : t
365 ; try_compound_statement : t
366 ; try_catch_clauses : t
367 ; try_finally_clause : t
369 and catch_clause =
370 { catch_keyword : t
371 ; catch_left_paren : t
372 ; catch_type : t
373 ; catch_variable : t
374 ; catch_right_paren : t
375 ; catch_body : t
377 and finally_clause =
378 { finally_keyword : t
379 ; finally_body : t
381 and do_statement =
382 { do_keyword : t
383 ; do_body : t
384 ; do_while_keyword : t
385 ; do_left_paren : t
386 ; do_condition : t
387 ; do_right_paren : t
388 ; do_semicolon : t
390 and for_statement =
391 { for_keyword : t
392 ; for_left_paren : t
393 ; for_initializer : t
394 ; for_first_semicolon : t
395 ; for_control : t
396 ; for_second_semicolon : t
397 ; for_end_of_loop : t
398 ; for_right_paren : t
399 ; for_body : t
401 and foreach_statement =
402 { foreach_keyword : t
403 ; foreach_left_paren : t
404 ; foreach_collection : t
405 ; foreach_await_keyword : t
406 ; foreach_as : t
407 ; foreach_key : t
408 ; foreach_arrow : t
409 ; foreach_value : t
410 ; foreach_right_paren : t
411 ; foreach_body : t
413 and switch_statement =
414 { switch_keyword : t
415 ; switch_left_paren : t
416 ; switch_expression : t
417 ; switch_right_paren : t
418 ; switch_left_brace : t
419 ; switch_sections : t
420 ; switch_right_brace : t
422 and switch_section =
423 { switch_section_labels : t
424 ; switch_section_statements : t
425 ; switch_section_fallthrough : t
427 and switch_fallthrough =
428 { fallthrough_keyword : t
429 ; fallthrough_semicolon : t
431 and case_label =
432 { case_keyword : t
433 ; case_expression : t
434 ; case_colon : t
436 and default_label =
437 { default_keyword : t
438 ; default_colon : t
440 and return_statement =
441 { return_keyword : t
442 ; return_expression : t
443 ; return_semicolon : t
445 and goto_label =
446 { goto_label_name : t
447 ; goto_label_colon : t
449 and goto_statement =
450 { goto_statement_keyword : t
451 ; goto_statement_label_name : t
452 ; goto_statement_semicolon : t
454 and throw_statement =
455 { throw_keyword : t
456 ; throw_expression : t
457 ; throw_semicolon : t
459 and break_statement =
460 { break_keyword : t
461 ; break_level : t
462 ; break_semicolon : t
464 and continue_statement =
465 { continue_keyword : t
466 ; continue_level : t
467 ; continue_semicolon : t
469 and function_static_statement =
470 { static_static_keyword : t
471 ; static_declarations : t
472 ; static_semicolon : t
474 and static_declarator =
475 { static_name : t
476 ; static_initializer : t
478 and echo_statement =
479 { echo_keyword : t
480 ; echo_expressions : t
481 ; echo_semicolon : t
483 and global_statement =
484 { global_keyword : t
485 ; global_variables : t
486 ; global_semicolon : t
488 and simple_initializer =
489 { simple_initializer_equal : t
490 ; simple_initializer_value : t
492 and anonymous_class =
493 { anonymous_class_class_keyword : t
494 ; anonymous_class_left_paren : t
495 ; anonymous_class_argument_list : t
496 ; anonymous_class_right_paren : t
497 ; anonymous_class_extends_keyword : t
498 ; anonymous_class_extends_list : t
499 ; anonymous_class_implements_keyword : t
500 ; anonymous_class_implements_list : t
501 ; anonymous_class_body : t
503 and anonymous_function =
504 { anonymous_static_keyword : t
505 ; anonymous_async_keyword : t
506 ; anonymous_coroutine_keyword : t
507 ; anonymous_function_keyword : t
508 ; anonymous_left_paren : t
509 ; anonymous_parameters : t
510 ; anonymous_right_paren : t
511 ; anonymous_colon : t
512 ; anonymous_type : t
513 ; anonymous_use : t
514 ; anonymous_body : t
516 and php7_anonymous_function =
517 { php7_anonymous_static_keyword : t
518 ; php7_anonymous_async_keyword : t
519 ; php7_anonymous_coroutine_keyword : t
520 ; php7_anonymous_function_keyword : t
521 ; php7_anonymous_left_paren : t
522 ; php7_anonymous_parameters : t
523 ; php7_anonymous_right_paren : t
524 ; php7_anonymous_use : t
525 ; php7_anonymous_colon : t
526 ; php7_anonymous_type : t
527 ; php7_anonymous_body : t
529 and anonymous_function_use_clause =
530 { anonymous_use_keyword : t
531 ; anonymous_use_left_paren : t
532 ; anonymous_use_variables : t
533 ; anonymous_use_right_paren : t
535 and lambda_expression =
536 { lambda_async : t
537 ; lambda_coroutine : t
538 ; lambda_signature : t
539 ; lambda_arrow : t
540 ; lambda_body : t
542 and lambda_signature =
543 { lambda_left_paren : t
544 ; lambda_parameters : t
545 ; lambda_right_paren : t
546 ; lambda_colon : t
547 ; lambda_type : t
549 and cast_expression =
550 { cast_left_paren : t
551 ; cast_type : t
552 ; cast_right_paren : t
553 ; cast_operand : t
555 and scope_resolution_expression =
556 { scope_resolution_qualifier : t
557 ; scope_resolution_operator : t
558 ; scope_resolution_name : t
560 and member_selection_expression =
561 { member_object : t
562 ; member_operator : t
563 ; member_name : t
565 and safe_member_selection_expression =
566 { safe_member_object : t
567 ; safe_member_operator : t
568 ; safe_member_name : t
570 and embedded_member_selection_expression =
571 { embedded_member_object : t
572 ; embedded_member_operator : t
573 ; embedded_member_name : t
575 and yield_expression =
576 { yield_keyword : t
577 ; yield_operand : t
579 and yield_from_expression =
580 { yield_from_yield_keyword : t
581 ; yield_from_from_keyword : t
582 ; yield_from_operand : t
584 and prefix_unary_expression =
585 { prefix_unary_operator : t
586 ; prefix_unary_operand : t
588 and postfix_unary_expression =
589 { postfix_unary_operand : t
590 ; postfix_unary_operator : t
592 and binary_expression =
593 { binary_left_operand : t
594 ; binary_operator : t
595 ; binary_right_operand : t
597 and instanceof_expression =
598 { instanceof_left_operand : t
599 ; instanceof_operator : t
600 ; instanceof_right_operand : t
602 and is_expression =
603 { is_left_operand : t
604 ; is_operator : t
605 ; is_right_operand : t
607 and conditional_expression =
608 { conditional_test : t
609 ; conditional_question : t
610 ; conditional_consequence : t
611 ; conditional_colon : t
612 ; conditional_alternative : t
614 and eval_expression =
615 { eval_keyword : t
616 ; eval_left_paren : t
617 ; eval_argument : t
618 ; eval_right_paren : t
620 and empty_expression =
621 { empty_keyword : t
622 ; empty_left_paren : t
623 ; empty_argument : t
624 ; empty_right_paren : t
626 and define_expression =
627 { define_keyword : t
628 ; define_left_paren : t
629 ; define_argument_list : t
630 ; define_right_paren : t
632 and halt_compiler_expression =
633 { halt_compiler_keyword : t
634 ; halt_compiler_left_paren : t
635 ; halt_compiler_argument_list : t
636 ; halt_compiler_right_paren : t
638 and isset_expression =
639 { isset_keyword : t
640 ; isset_left_paren : t
641 ; isset_argument_list : t
642 ; isset_right_paren : t
644 and function_call_expression =
645 { function_call_receiver : t
646 ; function_call_left_paren : t
647 ; function_call_argument_list : t
648 ; function_call_right_paren : t
650 and function_call_with_type_arguments_expression =
651 { function_call_with_type_arguments_receiver : t
652 ; function_call_with_type_arguments_type_args : t
653 ; function_call_with_type_arguments_left_paren : t
654 ; function_call_with_type_arguments_argument_list : t
655 ; function_call_with_type_arguments_right_paren : t
657 and parenthesized_expression =
658 { parenthesized_expression_left_paren : t
659 ; parenthesized_expression_expression : t
660 ; parenthesized_expression_right_paren : t
662 and braced_expression =
663 { braced_expression_left_brace : t
664 ; braced_expression_expression : t
665 ; braced_expression_right_brace : t
667 and embedded_braced_expression =
668 { embedded_braced_expression_left_brace : t
669 ; embedded_braced_expression_expression : t
670 ; embedded_braced_expression_right_brace : t
672 and list_expression =
673 { list_keyword : t
674 ; list_left_paren : t
675 ; list_members : t
676 ; list_right_paren : t
678 and collection_literal_expression =
679 { collection_literal_name : t
680 ; collection_literal_left_brace : t
681 ; collection_literal_initializers : t
682 ; collection_literal_right_brace : t
684 and object_creation_expression =
685 { object_creation_new_keyword : t
686 ; object_creation_object : t
688 and constructor_call =
689 { constructor_call_type : t
690 ; constructor_call_left_paren : t
691 ; constructor_call_argument_list : t
692 ; constructor_call_right_paren : t
694 and array_creation_expression =
695 { array_creation_left_bracket : t
696 ; array_creation_members : t
697 ; array_creation_right_bracket : t
699 and array_intrinsic_expression =
700 { array_intrinsic_keyword : t
701 ; array_intrinsic_left_paren : t
702 ; array_intrinsic_members : t
703 ; array_intrinsic_right_paren : t
705 and darray_intrinsic_expression =
706 { darray_intrinsic_keyword : t
707 ; darray_intrinsic_left_bracket : t
708 ; darray_intrinsic_members : t
709 ; darray_intrinsic_right_bracket : t
711 and dictionary_intrinsic_expression =
712 { dictionary_intrinsic_keyword : t
713 ; dictionary_intrinsic_left_bracket : t
714 ; dictionary_intrinsic_members : t
715 ; dictionary_intrinsic_right_bracket : t
717 and keyset_intrinsic_expression =
718 { keyset_intrinsic_keyword : t
719 ; keyset_intrinsic_left_bracket : t
720 ; keyset_intrinsic_members : t
721 ; keyset_intrinsic_right_bracket : t
723 and varray_intrinsic_expression =
724 { varray_intrinsic_keyword : t
725 ; varray_intrinsic_left_bracket : t
726 ; varray_intrinsic_members : t
727 ; varray_intrinsic_right_bracket : t
729 and vector_intrinsic_expression =
730 { vector_intrinsic_keyword : t
731 ; vector_intrinsic_left_bracket : t
732 ; vector_intrinsic_members : t
733 ; vector_intrinsic_right_bracket : t
735 and element_initializer =
736 { element_key : t
737 ; element_arrow : t
738 ; element_value : t
740 and subscript_expression =
741 { subscript_receiver : t
742 ; subscript_left_bracket : t
743 ; subscript_index : t
744 ; subscript_right_bracket : t
746 and embedded_subscript_expression =
747 { embedded_subscript_receiver : t
748 ; embedded_subscript_left_bracket : t
749 ; embedded_subscript_index : t
750 ; embedded_subscript_right_bracket : t
752 and awaitable_creation_expression =
753 { awaitable_async : t
754 ; awaitable_coroutine : t
755 ; awaitable_compound_statement : t
757 and xhp_children_declaration =
758 { xhp_children_keyword : t
759 ; xhp_children_expression : t
760 ; xhp_children_semicolon : t
762 and xhp_children_parenthesized_list =
763 { xhp_children_list_left_paren : t
764 ; xhp_children_list_xhp_children : t
765 ; xhp_children_list_right_paren : t
767 and xhp_category_declaration =
768 { xhp_category_keyword : t
769 ; xhp_category_categories : t
770 ; xhp_category_semicolon : t
772 and xhp_enum_type =
773 { xhp_enum_optional : t
774 ; xhp_enum_keyword : t
775 ; xhp_enum_left_brace : t
776 ; xhp_enum_values : t
777 ; xhp_enum_right_brace : t
779 and xhp_required =
780 { xhp_required_at : t
781 ; xhp_required_keyword : t
783 and xhp_class_attribute_declaration =
784 { xhp_attribute_keyword : t
785 ; xhp_attribute_attributes : t
786 ; xhp_attribute_semicolon : t
788 and xhp_class_attribute =
789 { xhp_attribute_decl_type : t
790 ; xhp_attribute_decl_name : t
791 ; xhp_attribute_decl_initializer : t
792 ; xhp_attribute_decl_required : t
794 and xhp_simple_class_attribute =
795 { xhp_simple_class_attribute_type : t
797 and xhp_simple_attribute =
798 { xhp_simple_attribute_name : t
799 ; xhp_simple_attribute_equal : t
800 ; xhp_simple_attribute_expression : t
802 and xhp_spread_attribute =
803 { xhp_spread_attribute_left_brace : t
804 ; xhp_spread_attribute_spread_operator : t
805 ; xhp_spread_attribute_expression : t
806 ; xhp_spread_attribute_right_brace : t
808 and xhp_open =
809 { xhp_open_left_angle : t
810 ; xhp_open_name : t
811 ; xhp_open_attributes : t
812 ; xhp_open_right_angle : t
814 and xhp_expression =
815 { xhp_open : t
816 ; xhp_body : t
817 ; xhp_close : t
819 and xhp_close =
820 { xhp_close_left_angle : t
821 ; xhp_close_name : t
822 ; xhp_close_right_angle : t
824 and type_constant =
825 { type_constant_left_type : t
826 ; type_constant_separator : t
827 ; type_constant_right_type : t
829 and vector_type_specifier =
830 { vector_type_keyword : t
831 ; vector_type_left_angle : t
832 ; vector_type_type : t
833 ; vector_type_trailing_comma : t
834 ; vector_type_right_angle : t
836 and keyset_type_specifier =
837 { keyset_type_keyword : t
838 ; keyset_type_left_angle : t
839 ; keyset_type_type : t
840 ; keyset_type_trailing_comma : t
841 ; keyset_type_right_angle : t
843 and tuple_type_explicit_specifier =
844 { tuple_type_keyword : t
845 ; tuple_type_left_angle : t
846 ; tuple_type_types : t
847 ; tuple_type_right_angle : t
849 and varray_type_specifier =
850 { varray_keyword : t
851 ; varray_left_angle : t
852 ; varray_type : t
853 ; varray_trailing_comma : t
854 ; varray_right_angle : t
856 and vector_array_type_specifier =
857 { vector_array_keyword : t
858 ; vector_array_left_angle : t
859 ; vector_array_type : t
860 ; vector_array_right_angle : t
862 and type_parameter =
863 { type_variance : t
864 ; type_name : t
865 ; type_constraints : t
867 and type_constraint =
868 { constraint_keyword : t
869 ; constraint_type : t
871 and darray_type_specifier =
872 { darray_keyword : t
873 ; darray_left_angle : t
874 ; darray_key : t
875 ; darray_comma : t
876 ; darray_value : t
877 ; darray_trailing_comma : t
878 ; darray_right_angle : t
880 and map_array_type_specifier =
881 { map_array_keyword : t
882 ; map_array_left_angle : t
883 ; map_array_key : t
884 ; map_array_comma : t
885 ; map_array_value : t
886 ; map_array_right_angle : t
888 and dictionary_type_specifier =
889 { dictionary_type_keyword : t
890 ; dictionary_type_left_angle : t
891 ; dictionary_type_members : t
892 ; dictionary_type_right_angle : t
894 and closure_type_specifier =
895 { closure_outer_left_paren : t
896 ; closure_coroutine : t
897 ; closure_function_keyword : t
898 ; closure_inner_left_paren : t
899 ; closure_parameter_list : t
900 ; closure_inner_right_paren : t
901 ; closure_colon : t
902 ; closure_return_type : t
903 ; closure_outer_right_paren : t
905 and closure_parameter_type_specifier =
906 { closure_parameter_call_convention : t
907 ; closure_parameter_type : t
909 and classname_type_specifier =
910 { classname_keyword : t
911 ; classname_left_angle : t
912 ; classname_type : t
913 ; classname_trailing_comma : t
914 ; classname_right_angle : t
916 and field_specifier =
917 { field_question : t
918 ; field_name : t
919 ; field_arrow : t
920 ; field_type : t
922 and field_initializer =
923 { field_initializer_name : t
924 ; field_initializer_arrow : t
925 ; field_initializer_value : t
927 and shape_type_specifier =
928 { shape_type_keyword : t
929 ; shape_type_left_paren : t
930 ; shape_type_fields : t
931 ; shape_type_ellipsis : t
932 ; shape_type_right_paren : t
934 and shape_expression =
935 { shape_expression_keyword : t
936 ; shape_expression_left_paren : t
937 ; shape_expression_fields : t
938 ; shape_expression_right_paren : t
940 and tuple_expression =
941 { tuple_expression_keyword : t
942 ; tuple_expression_left_paren : t
943 ; tuple_expression_items : t
944 ; tuple_expression_right_paren : t
946 and generic_type_specifier =
947 { generic_class_type : t
948 ; generic_argument_list : t
950 and nullable_type_specifier =
951 { nullable_question : t
952 ; nullable_type : t
954 and soft_type_specifier =
955 { soft_at : t
956 ; soft_type : t
958 and type_arguments =
959 { type_arguments_left_angle : t
960 ; type_arguments_types : t
961 ; type_arguments_right_angle : t
963 and type_parameters =
964 { type_parameters_left_angle : t
965 ; type_parameters_parameters : t
966 ; type_parameters_right_angle : t
968 and tuple_type_specifier =
969 { tuple_left_paren : t
970 ; tuple_types : t
971 ; tuple_right_paren : t
973 and error =
974 { error_error : t
976 and list_item =
977 { list_item : t
978 ; list_separator : t
981 and syntax =
982 | Token of Token.t
983 | Missing
984 | SyntaxList of t list
985 | EndOfFile of end_of_file
986 | Script of script
987 | SimpleTypeSpecifier of simple_type_specifier
988 | LiteralExpression of literal_expression
989 | VariableExpression of variable_expression
990 | QualifiedNameExpression of qualified_name_expression
991 | PipeVariableExpression of pipe_variable_expression
992 | EnumDeclaration of enum_declaration
993 | Enumerator of enumerator
994 | AliasDeclaration of alias_declaration
995 | PropertyDeclaration of property_declaration
996 | PropertyDeclarator of property_declarator
997 | NamespaceDeclaration of namespace_declaration
998 | NamespaceBody of namespace_body
999 | NamespaceEmptyBody of namespace_empty_body
1000 | NamespaceUseDeclaration of namespace_use_declaration
1001 | NamespaceGroupUseDeclaration of namespace_group_use_declaration
1002 | NamespaceUseClause of namespace_use_clause
1003 | FunctionDeclaration of function_declaration
1004 | FunctionDeclarationHeader of function_declaration_header
1005 | WhereClause of where_clause
1006 | WhereConstraint of where_constraint
1007 | MethodishDeclaration of methodish_declaration
1008 | ClassishDeclaration of classish_declaration
1009 | ClassishBody of classish_body
1010 | TraitUsePrecedenceItem of trait_use_precedence_item
1011 | TraitUseAliasItem of trait_use_alias_item
1012 | TraitUseConflictResolution of trait_use_conflict_resolution
1013 | TraitUse of trait_use
1014 | RequireClause of require_clause
1015 | ConstDeclaration of const_declaration
1016 | ConstantDeclarator of constant_declarator
1017 | TypeConstDeclaration of type_const_declaration
1018 | DecoratedExpression of decorated_expression
1019 | ParameterDeclaration of parameter_declaration
1020 | VariadicParameter of variadic_parameter
1021 | AttributeSpecification of attribute_specification
1022 | Attribute of attribute
1023 | InclusionExpression of inclusion_expression
1024 | InclusionDirective of inclusion_directive
1025 | CompoundStatement of compound_statement
1026 | ExpressionStatement of expression_statement
1027 | MarkupSection of markup_section
1028 | MarkupSuffix of markup_suffix
1029 | UnsetStatement of unset_statement
1030 | UsingStatementBlockScoped of using_statement_block_scoped
1031 | UsingStatementFunctionScoped of using_statement_function_scoped
1032 | DeclareDirectiveStatement of declare_directive_statement
1033 | DeclareBlockStatement of declare_block_statement
1034 | WhileStatement of while_statement
1035 | IfStatement of if_statement
1036 | ElseifClause of elseif_clause
1037 | ElseClause of else_clause
1038 | IfEndIfStatement of if_endif_statement
1039 | ElseifColonClause of elseif_colon_clause
1040 | ElseColonClause of else_colon_clause
1041 | TryStatement of try_statement
1042 | CatchClause of catch_clause
1043 | FinallyClause of finally_clause
1044 | DoStatement of do_statement
1045 | ForStatement of for_statement
1046 | ForeachStatement of foreach_statement
1047 | SwitchStatement of switch_statement
1048 | SwitchSection of switch_section
1049 | SwitchFallthrough of switch_fallthrough
1050 | CaseLabel of case_label
1051 | DefaultLabel of default_label
1052 | ReturnStatement of return_statement
1053 | GotoLabel of goto_label
1054 | GotoStatement of goto_statement
1055 | ThrowStatement of throw_statement
1056 | BreakStatement of break_statement
1057 | ContinueStatement of continue_statement
1058 | FunctionStaticStatement of function_static_statement
1059 | StaticDeclarator of static_declarator
1060 | EchoStatement of echo_statement
1061 | GlobalStatement of global_statement
1062 | SimpleInitializer of simple_initializer
1063 | AnonymousClass of anonymous_class
1064 | AnonymousFunction of anonymous_function
1065 | Php7AnonymousFunction of php7_anonymous_function
1066 | AnonymousFunctionUseClause of anonymous_function_use_clause
1067 | LambdaExpression of lambda_expression
1068 | LambdaSignature of lambda_signature
1069 | CastExpression of cast_expression
1070 | ScopeResolutionExpression of scope_resolution_expression
1071 | MemberSelectionExpression of member_selection_expression
1072 | SafeMemberSelectionExpression of safe_member_selection_expression
1073 | EmbeddedMemberSelectionExpression of embedded_member_selection_expression
1074 | YieldExpression of yield_expression
1075 | YieldFromExpression of yield_from_expression
1076 | PrefixUnaryExpression of prefix_unary_expression
1077 | PostfixUnaryExpression of postfix_unary_expression
1078 | BinaryExpression of binary_expression
1079 | InstanceofExpression of instanceof_expression
1080 | IsExpression of is_expression
1081 | ConditionalExpression of conditional_expression
1082 | EvalExpression of eval_expression
1083 | EmptyExpression of empty_expression
1084 | DefineExpression of define_expression
1085 | HaltCompilerExpression of halt_compiler_expression
1086 | IssetExpression of isset_expression
1087 | FunctionCallExpression of function_call_expression
1088 | FunctionCallWithTypeArgumentsExpression of function_call_with_type_arguments_expression
1089 | ParenthesizedExpression of parenthesized_expression
1090 | BracedExpression of braced_expression
1091 | EmbeddedBracedExpression of embedded_braced_expression
1092 | ListExpression of list_expression
1093 | CollectionLiteralExpression of collection_literal_expression
1094 | ObjectCreationExpression of object_creation_expression
1095 | ConstructorCall of constructor_call
1096 | ArrayCreationExpression of array_creation_expression
1097 | ArrayIntrinsicExpression of array_intrinsic_expression
1098 | DarrayIntrinsicExpression of darray_intrinsic_expression
1099 | DictionaryIntrinsicExpression of dictionary_intrinsic_expression
1100 | KeysetIntrinsicExpression of keyset_intrinsic_expression
1101 | VarrayIntrinsicExpression of varray_intrinsic_expression
1102 | VectorIntrinsicExpression of vector_intrinsic_expression
1103 | ElementInitializer of element_initializer
1104 | SubscriptExpression of subscript_expression
1105 | EmbeddedSubscriptExpression of embedded_subscript_expression
1106 | AwaitableCreationExpression of awaitable_creation_expression
1107 | XHPChildrenDeclaration of xhp_children_declaration
1108 | XHPChildrenParenthesizedList of xhp_children_parenthesized_list
1109 | XHPCategoryDeclaration of xhp_category_declaration
1110 | XHPEnumType of xhp_enum_type
1111 | XHPRequired of xhp_required
1112 | XHPClassAttributeDeclaration of xhp_class_attribute_declaration
1113 | XHPClassAttribute of xhp_class_attribute
1114 | XHPSimpleClassAttribute of xhp_simple_class_attribute
1115 | XHPSimpleAttribute of xhp_simple_attribute
1116 | XHPSpreadAttribute of xhp_spread_attribute
1117 | XHPOpen of xhp_open
1118 | XHPExpression of xhp_expression
1119 | XHPClose of xhp_close
1120 | TypeConstant of type_constant
1121 | VectorTypeSpecifier of vector_type_specifier
1122 | KeysetTypeSpecifier of keyset_type_specifier
1123 | TupleTypeExplicitSpecifier of tuple_type_explicit_specifier
1124 | VarrayTypeSpecifier of varray_type_specifier
1125 | VectorArrayTypeSpecifier of vector_array_type_specifier
1126 | TypeParameter of type_parameter
1127 | TypeConstraint of type_constraint
1128 | DarrayTypeSpecifier of darray_type_specifier
1129 | MapArrayTypeSpecifier of map_array_type_specifier
1130 | DictionaryTypeSpecifier of dictionary_type_specifier
1131 | ClosureTypeSpecifier of closure_type_specifier
1132 | ClosureParameterTypeSpecifier of closure_parameter_type_specifier
1133 | ClassnameTypeSpecifier of classname_type_specifier
1134 | FieldSpecifier of field_specifier
1135 | FieldInitializer of field_initializer
1136 | ShapeTypeSpecifier of shape_type_specifier
1137 | ShapeExpression of shape_expression
1138 | TupleExpression of tuple_expression
1139 | GenericTypeSpecifier of generic_type_specifier
1140 | NullableTypeSpecifier of nullable_type_specifier
1141 | SoftTypeSpecifier of soft_type_specifier
1142 | TypeArguments of type_arguments
1143 | TypeParameters of type_parameters
1144 | TupleTypeSpecifier of tuple_type_specifier
1145 | ErrorSyntax of error
1146 | ListItem of list_item
1149 val to_json : ?with_value:bool -> t -> Hh_json.json
1150 val extract_text : t -> string option
1151 val is_in_body : t -> int -> bool
1152 val syntax_node_to_list : t -> t list
1153 val width : t -> int
1154 val full_width : t -> int
1155 val trailing_width : t -> int
1156 val leading_width : t -> int
1157 val leading_token : t -> Token.t option
1158 val children : t -> t list
1159 val syntax : t -> syntax
1160 val kind : t -> Full_fidelity_syntax_kind.t
1161 val make_token : Token.t -> t
1162 val get_token : t -> Token.t option
1163 val make_missing : Full_fidelity_source_text.t -> int -> t
1164 val make_list : Full_fidelity_source_text.t -> int -> t list -> t
1165 val make_end_of_file : t -> t
1166 val make_script : t -> t
1167 val make_simple_type_specifier : t -> t
1168 val make_literal_expression : t -> t
1169 val make_variable_expression : t -> t
1170 val make_qualified_name_expression : t -> t
1171 val make_pipe_variable_expression : t -> t
1172 val make_enum_declaration : t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1173 val make_enumerator : t -> t -> t -> t -> t
1174 val make_alias_declaration : t -> t -> t -> t -> t -> t -> t -> t -> t
1175 val make_property_declaration : t -> t -> t -> t -> t
1176 val make_property_declarator : t -> t -> t
1177 val make_namespace_declaration : t -> t -> t -> t
1178 val make_namespace_body : t -> t -> t -> t
1179 val make_namespace_empty_body : t -> t
1180 val make_namespace_use_declaration : t -> t -> t -> t -> t
1181 val make_namespace_group_use_declaration : t -> t -> t -> t -> t -> t -> t -> t
1182 val make_namespace_use_clause : t -> t -> t -> t -> t
1183 val make_function_declaration : t -> t -> t -> t
1184 val make_function_declaration_header : t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1185 val make_where_clause : t -> t -> t
1186 val make_where_constraint : t -> t -> t -> t
1187 val make_methodish_declaration : t -> t -> t -> t -> t
1188 val make_classish_declaration : t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1189 val make_classish_body : t -> t -> t -> t
1190 val make_trait_use_precedence_item : t -> t -> t -> t
1191 val make_trait_use_alias_item : t -> t -> t -> t -> t
1192 val make_trait_use_conflict_resolution : t -> t -> t -> t -> t -> t
1193 val make_trait_use : t -> t -> t -> t
1194 val make_require_clause : t -> t -> t -> t -> t
1195 val make_const_declaration : t -> t -> t -> t -> t -> t
1196 val make_constant_declarator : t -> t -> t
1197 val make_type_const_declaration : t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1198 val make_decorated_expression : t -> t -> t
1199 val make_parameter_declaration : t -> t -> t -> t -> t -> t -> t
1200 val make_variadic_parameter : t -> t -> t -> t
1201 val make_attribute_specification : t -> t -> t -> t
1202 val make_attribute : t -> t -> t -> t -> t
1203 val make_inclusion_expression : t -> t -> t
1204 val make_inclusion_directive : t -> t -> t
1205 val make_compound_statement : t -> t -> t -> t
1206 val make_expression_statement : t -> t -> t
1207 val make_markup_section : t -> t -> t -> t -> t
1208 val make_markup_suffix : t -> t -> t
1209 val make_unset_statement : t -> t -> t -> t -> t -> t
1210 val make_using_statement_block_scoped : t -> t -> t -> t -> t -> t -> t
1211 val make_using_statement_function_scoped : t -> t -> t -> t -> t
1212 val make_declare_directive_statement : t -> t -> t -> t -> t -> t
1213 val make_declare_block_statement : t -> t -> t -> t -> t -> t
1214 val make_while_statement : t -> t -> t -> t -> t -> t
1215 val make_if_statement : t -> t -> t -> t -> t -> t -> t -> t
1216 val make_elseif_clause : t -> t -> t -> t -> t -> t
1217 val make_else_clause : t -> t -> t
1218 val make_if_endif_statement : t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1219 val make_elseif_colon_clause : t -> t -> t -> t -> t -> t -> t
1220 val make_else_colon_clause : t -> t -> t -> t
1221 val make_try_statement : t -> t -> t -> t -> t
1222 val make_catch_clause : t -> t -> t -> t -> t -> t -> t
1223 val make_finally_clause : t -> t -> t
1224 val make_do_statement : t -> t -> t -> t -> t -> t -> t -> t
1225 val make_for_statement : t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1226 val make_foreach_statement : t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1227 val make_switch_statement : t -> t -> t -> t -> t -> t -> t -> t
1228 val make_switch_section : t -> t -> t -> t
1229 val make_switch_fallthrough : t -> t -> t
1230 val make_case_label : t -> t -> t -> t
1231 val make_default_label : t -> t -> t
1232 val make_return_statement : t -> t -> t -> t
1233 val make_goto_label : t -> t -> t
1234 val make_goto_statement : t -> t -> t -> t
1235 val make_throw_statement : t -> t -> t -> t
1236 val make_break_statement : t -> t -> t -> t
1237 val make_continue_statement : t -> t -> t -> t
1238 val make_function_static_statement : t -> t -> t -> t
1239 val make_static_declarator : t -> t -> t
1240 val make_echo_statement : t -> t -> t -> t
1241 val make_global_statement : t -> t -> t -> t
1242 val make_simple_initializer : t -> t -> t
1243 val make_anonymous_class : t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1244 val make_anonymous_function : t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1245 val make_php7_anonymous_function : t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1246 val make_anonymous_function_use_clause : t -> t -> t -> t -> t
1247 val make_lambda_expression : t -> t -> t -> t -> t -> t
1248 val make_lambda_signature : t -> t -> t -> t -> t -> t
1249 val make_cast_expression : t -> t -> t -> t -> t
1250 val make_scope_resolution_expression : t -> t -> t -> t
1251 val make_member_selection_expression : t -> t -> t -> t
1252 val make_safe_member_selection_expression : t -> t -> t -> t
1253 val make_embedded_member_selection_expression : t -> t -> t -> t
1254 val make_yield_expression : t -> t -> t
1255 val make_yield_from_expression : t -> t -> t -> t
1256 val make_prefix_unary_expression : t -> t -> t
1257 val make_postfix_unary_expression : t -> t -> t
1258 val make_binary_expression : t -> t -> t -> t
1259 val make_instanceof_expression : t -> t -> t -> t
1260 val make_is_expression : t -> t -> t -> t
1261 val make_conditional_expression : t -> t -> t -> t -> t -> t
1262 val make_eval_expression : t -> t -> t -> t -> t
1263 val make_empty_expression : t -> t -> t -> t -> t
1264 val make_define_expression : t -> t -> t -> t -> t
1265 val make_halt_compiler_expression : t -> t -> t -> t -> t
1266 val make_isset_expression : t -> t -> t -> t -> t
1267 val make_function_call_expression : t -> t -> t -> t -> t
1268 val make_function_call_with_type_arguments_expression : t -> t -> t -> t -> t -> t
1269 val make_parenthesized_expression : t -> t -> t -> t
1270 val make_braced_expression : t -> t -> t -> t
1271 val make_embedded_braced_expression : t -> t -> t -> t
1272 val make_list_expression : t -> t -> t -> t -> t
1273 val make_collection_literal_expression : t -> t -> t -> t -> t
1274 val make_object_creation_expression : t -> t -> t
1275 val make_constructor_call : t -> t -> t -> t -> t
1276 val make_array_creation_expression : t -> t -> t -> t
1277 val make_array_intrinsic_expression : t -> t -> t -> t -> t
1278 val make_darray_intrinsic_expression : t -> t -> t -> t -> t
1279 val make_dictionary_intrinsic_expression : t -> t -> t -> t -> t
1280 val make_keyset_intrinsic_expression : t -> t -> t -> t -> t
1281 val make_varray_intrinsic_expression : t -> t -> t -> t -> t
1282 val make_vector_intrinsic_expression : t -> t -> t -> t -> t
1283 val make_element_initializer : t -> t -> t -> t
1284 val make_subscript_expression : t -> t -> t -> t -> t
1285 val make_embedded_subscript_expression : t -> t -> t -> t -> t
1286 val make_awaitable_creation_expression : t -> t -> t -> t
1287 val make_xhp_children_declaration : t -> t -> t -> t
1288 val make_xhp_children_parenthesized_list : t -> t -> t -> t
1289 val make_xhp_category_declaration : t -> t -> t -> t
1290 val make_xhp_enum_type : t -> t -> t -> t -> t -> t
1291 val make_xhp_required : t -> t -> t
1292 val make_xhp_class_attribute_declaration : t -> t -> t -> t
1293 val make_xhp_class_attribute : t -> t -> t -> t -> t
1294 val make_xhp_simple_class_attribute : t -> t
1295 val make_xhp_simple_attribute : t -> t -> t -> t
1296 val make_xhp_spread_attribute : t -> t -> t -> t -> t
1297 val make_xhp_open : t -> t -> t -> t -> t
1298 val make_xhp_expression : t -> t -> t -> t
1299 val make_xhp_close : t -> t -> t -> t
1300 val make_type_constant : t -> t -> t -> t
1301 val make_vector_type_specifier : t -> t -> t -> t -> t -> t
1302 val make_keyset_type_specifier : t -> t -> t -> t -> t -> t
1303 val make_tuple_type_explicit_specifier : t -> t -> t -> t -> t
1304 val make_varray_type_specifier : t -> t -> t -> t -> t -> t
1305 val make_vector_array_type_specifier : t -> t -> t -> t -> t
1306 val make_type_parameter : t -> t -> t -> t
1307 val make_type_constraint : t -> t -> t
1308 val make_darray_type_specifier : t -> t -> t -> t -> t -> t -> t -> t
1309 val make_map_array_type_specifier : t -> t -> t -> t -> t -> t -> t
1310 val make_dictionary_type_specifier : t -> t -> t -> t -> t
1311 val make_closure_type_specifier : t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1312 val make_closure_parameter_type_specifier : t -> t -> t
1313 val make_classname_type_specifier : t -> t -> t -> t -> t -> t
1314 val make_field_specifier : t -> t -> t -> t -> t
1315 val make_field_initializer : t -> t -> t -> t
1316 val make_shape_type_specifier : t -> t -> t -> t -> t -> t
1317 val make_shape_expression : t -> t -> t -> t -> t
1318 val make_tuple_expression : t -> t -> t -> t -> t
1319 val make_generic_type_specifier : t -> t -> t
1320 val make_nullable_type_specifier : t -> t -> t
1321 val make_soft_type_specifier : t -> t -> t
1322 val make_type_arguments : t -> t -> t -> t
1323 val make_type_parameters : t -> t -> t -> t
1324 val make_tuple_type_specifier : t -> t -> t -> t
1325 val make_error : t -> t
1326 val make_list_item : t -> t -> t
1329 val position : Relative_path.t -> t -> Pos.t option
1330 val is_missing : t -> bool
1331 val is_list : t -> bool
1332 val is_end_of_file : t -> bool
1333 val is_script : t -> bool
1334 val is_simple_type_specifier : t -> bool
1335 val is_literal_expression : t -> bool
1336 val is_variable_expression : t -> bool
1337 val is_qualified_name_expression : t -> bool
1338 val is_pipe_variable_expression : t -> bool
1339 val is_enum_declaration : t -> bool
1340 val is_enumerator : t -> bool
1341 val is_alias_declaration : t -> bool
1342 val is_property_declaration : t -> bool
1343 val is_property_declarator : t -> bool
1344 val is_namespace_declaration : t -> bool
1345 val is_namespace_body : t -> bool
1346 val is_namespace_empty_body : t -> bool
1347 val is_namespace_use_declaration : t -> bool
1348 val is_namespace_group_use_declaration : t -> bool
1349 val is_namespace_use_clause : t -> bool
1350 val is_function_declaration : t -> bool
1351 val is_function_declaration_header : t -> bool
1352 val is_where_clause : t -> bool
1353 val is_where_constraint : t -> bool
1354 val is_methodish_declaration : t -> bool
1355 val is_classish_declaration : t -> bool
1356 val is_classish_body : t -> bool
1357 val is_trait_use_precedence_item : t -> bool
1358 val is_trait_use_alias_item : t -> bool
1359 val is_trait_use_conflict_resolution : t -> bool
1360 val is_trait_use : t -> bool
1361 val is_require_clause : t -> bool
1362 val is_const_declaration : t -> bool
1363 val is_constant_declarator : t -> bool
1364 val is_type_const_declaration : t -> bool
1365 val is_decorated_expression : t -> bool
1366 val is_parameter_declaration : t -> bool
1367 val is_variadic_parameter : t -> bool
1368 val is_attribute_specification : t -> bool
1369 val is_attribute : t -> bool
1370 val is_inclusion_expression : t -> bool
1371 val is_inclusion_directive : t -> bool
1372 val is_compound_statement : t -> bool
1373 val is_expression_statement : t -> bool
1374 val is_markup_section : t -> bool
1375 val is_markup_suffix : t -> bool
1376 val is_unset_statement : t -> bool
1377 val is_using_statement_block_scoped : t -> bool
1378 val is_using_statement_function_scoped : t -> bool
1379 val is_declare_directive_statement : t -> bool
1380 val is_declare_block_statement : t -> bool
1381 val is_while_statement : t -> bool
1382 val is_if_statement : t -> bool
1383 val is_elseif_clause : t -> bool
1384 val is_else_clause : t -> bool
1385 val is_if_endif_statement : t -> bool
1386 val is_elseif_colon_clause : t -> bool
1387 val is_else_colon_clause : t -> bool
1388 val is_try_statement : t -> bool
1389 val is_catch_clause : t -> bool
1390 val is_finally_clause : t -> bool
1391 val is_do_statement : t -> bool
1392 val is_for_statement : t -> bool
1393 val is_foreach_statement : t -> bool
1394 val is_switch_statement : t -> bool
1395 val is_switch_section : t -> bool
1396 val is_switch_fallthrough : t -> bool
1397 val is_case_label : t -> bool
1398 val is_default_label : t -> bool
1399 val is_return_statement : t -> bool
1400 val is_goto_label : t -> bool
1401 val is_goto_statement : t -> bool
1402 val is_throw_statement : t -> bool
1403 val is_break_statement : t -> bool
1404 val is_continue_statement : t -> bool
1405 val is_function_static_statement : t -> bool
1406 val is_static_declarator : t -> bool
1407 val is_echo_statement : t -> bool
1408 val is_global_statement : t -> bool
1409 val is_simple_initializer : t -> bool
1410 val is_anonymous_class : t -> bool
1411 val is_anonymous_function : t -> bool
1412 val is_php7_anonymous_function : t -> bool
1413 val is_anonymous_function_use_clause : t -> bool
1414 val is_lambda_expression : t -> bool
1415 val is_lambda_signature : t -> bool
1416 val is_cast_expression : t -> bool
1417 val is_scope_resolution_expression : t -> bool
1418 val is_member_selection_expression : t -> bool
1419 val is_safe_member_selection_expression : t -> bool
1420 val is_embedded_member_selection_expression : t -> bool
1421 val is_yield_expression : t -> bool
1422 val is_yield_from_expression : t -> bool
1423 val is_prefix_unary_expression : t -> bool
1424 val is_postfix_unary_expression : t -> bool
1425 val is_binary_expression : t -> bool
1426 val is_instanceof_expression : t -> bool
1427 val is_is_expression : t -> bool
1428 val is_conditional_expression : t -> bool
1429 val is_eval_expression : t -> bool
1430 val is_empty_expression : t -> bool
1431 val is_define_expression : t -> bool
1432 val is_halt_compiler_expression : t -> bool
1433 val is_isset_expression : t -> bool
1434 val is_function_call_expression : t -> bool
1435 val is_function_call_with_type_arguments_expression : t -> bool
1436 val is_parenthesized_expression : t -> bool
1437 val is_braced_expression : t -> bool
1438 val is_embedded_braced_expression : t -> bool
1439 val is_list_expression : t -> bool
1440 val is_collection_literal_expression : t -> bool
1441 val is_object_creation_expression : t -> bool
1442 val is_constructor_call : t -> bool
1443 val is_array_creation_expression : t -> bool
1444 val is_array_intrinsic_expression : t -> bool
1445 val is_darray_intrinsic_expression : t -> bool
1446 val is_dictionary_intrinsic_expression : t -> bool
1447 val is_keyset_intrinsic_expression : t -> bool
1448 val is_varray_intrinsic_expression : t -> bool
1449 val is_vector_intrinsic_expression : t -> bool
1450 val is_element_initializer : t -> bool
1451 val is_subscript_expression : t -> bool
1452 val is_embedded_subscript_expression : t -> bool
1453 val is_awaitable_creation_expression : t -> bool
1454 val is_xhp_children_declaration : t -> bool
1455 val is_xhp_children_parenthesized_list : t -> bool
1456 val is_xhp_category_declaration : t -> bool
1457 val is_xhp_enum_type : t -> bool
1458 val is_xhp_required : t -> bool
1459 val is_xhp_class_attribute_declaration : t -> bool
1460 val is_xhp_class_attribute : t -> bool
1461 val is_xhp_simple_class_attribute : t -> bool
1462 val is_xhp_simple_attribute : t -> bool
1463 val is_xhp_spread_attribute : t -> bool
1464 val is_xhp_open : t -> bool
1465 val is_xhp_expression : t -> bool
1466 val is_xhp_close : t -> bool
1467 val is_type_constant : t -> bool
1468 val is_vector_type_specifier : t -> bool
1469 val is_keyset_type_specifier : t -> bool
1470 val is_tuple_type_explicit_specifier : t -> bool
1471 val is_varray_type_specifier : t -> bool
1472 val is_vector_array_type_specifier : t -> bool
1473 val is_type_parameter : t -> bool
1474 val is_type_constraint : t -> bool
1475 val is_darray_type_specifier : t -> bool
1476 val is_map_array_type_specifier : t -> bool
1477 val is_dictionary_type_specifier : t -> bool
1478 val is_closure_type_specifier : t -> bool
1479 val is_closure_parameter_type_specifier : t -> bool
1480 val is_classname_type_specifier : t -> bool
1481 val is_field_specifier : t -> bool
1482 val is_field_initializer : t -> bool
1483 val is_shape_type_specifier : t -> bool
1484 val is_shape_expression : t -> bool
1485 val is_tuple_expression : t -> bool
1486 val is_generic_type_specifier : t -> bool
1487 val is_nullable_type_specifier : t -> bool
1488 val is_soft_type_specifier : t -> bool
1489 val is_type_arguments : t -> bool
1490 val is_type_parameters : t -> bool
1491 val is_tuple_type_specifier : t -> bool
1492 val is_error : t -> bool
1493 val is_list_item : t -> bool
1496 val is_loop_statement : t -> bool
1497 val is_semicolon : t -> bool
1498 val is_name : t -> bool
1499 val is_construct : t -> bool
1500 val is_destruct : t -> bool
1501 val is_static : t -> bool
1502 val is_private : t -> bool
1503 val is_public : t -> bool
1504 val is_protected : t -> bool
1505 val is_abstract : t -> bool
1506 val is_final : t -> bool
1507 val is_async : t -> bool
1508 val is_coroutine : t -> bool
1509 val is_void : t -> bool
1510 val is_left_brace : t -> bool
1511 val is_ellipsis : t -> bool
1512 val is_comma : t -> bool
1513 val is_array : t -> bool
1514 val is_var : t -> bool
1515 val is_ampersand : t -> bool
1516 val is_inout : t -> bool
1519 end (* Syntax_S *)