deprecate coroutine
[hiphop-php.git] / hphp / hack / src / parser / syntax_sig.ml
blobb2903e175d8be33b5ba47499ca66b8ff7184db7b
1 (*
2 * Copyright (c) 2016, Facebook, Inc.
3 * All rights reserved.
5 * This source code is licensed under the MIT license found in the
6 * LICENSE file in the "hack" directory of this source tree. An additional
7 * directory.
9 **
11 * THIS FILE IS @generated; DO NOT EDIT IT
12 * To regenerate this file, run
14 * buck run //hphp/hack/src:generate_full_fidelity
18 * This module contains a signature which can be used to describe the public
19 * surface area of a constructable syntax tree.
23 module TriviaKind = Full_fidelity_trivia_kind
24 module TokenKind = Full_fidelity_token_kind
26 module type Syntax_S = sig
27 module Token : Lexable_token_sig.LexableToken_S
28 type value [@@deriving show, eq]
29 type t = { syntax : syntax ; value : value } [@@deriving show, eq]
30 and syntax =
31 | Token of Token.t
32 | Missing
33 | SyntaxList of t list
34 | EndOfFile of
35 { end_of_file_token : t
37 | Script of
38 { script_declarations : t
40 | QualifiedName of
41 { qualified_name_parts : t
43 | SimpleTypeSpecifier of
44 { simple_type_specifier : t
46 | LiteralExpression of
47 { literal_expression : t
49 | PrefixedStringExpression of
50 { prefixed_string_name : t
51 ; prefixed_string_str : t
53 | VariableExpression of
54 { variable_expression : t
56 | PipeVariableExpression of
57 { pipe_variable_expression : t
59 | FileAttributeSpecification of
60 { file_attribute_specification_left_double_angle : t
61 ; file_attribute_specification_keyword : t
62 ; file_attribute_specification_colon : t
63 ; file_attribute_specification_attributes : t
64 ; file_attribute_specification_right_double_angle : t
66 | EnumDeclaration of
67 { enum_attribute_spec : t
68 ; enum_keyword : t
69 ; enum_name : t
70 ; enum_colon : t
71 ; enum_base : t
72 ; enum_type : t
73 ; enum_left_brace : t
74 ; enum_enumerators : t
75 ; enum_right_brace : t
77 | Enumerator of
78 { enumerator_name : t
79 ; enumerator_equal : t
80 ; enumerator_value : t
81 ; enumerator_semicolon : t
83 | RecordDeclaration of
84 { record_attribute_spec : t
85 ; record_modifier : t
86 ; record_keyword : t
87 ; record_name : t
88 ; record_extends_keyword : t
89 ; record_extends_opt : t
90 ; record_left_brace : t
91 ; record_fields : t
92 ; record_right_brace : t
94 | RecordField of
95 { record_field_type : t
96 ; record_field_name : t
97 ; record_field_init : t
98 ; record_field_semi : t
100 | AliasDeclaration of
101 { alias_attribute_spec : t
102 ; alias_keyword : t
103 ; alias_name : t
104 ; alias_generic_parameter : t
105 ; alias_constraint : t
106 ; alias_equal : t
107 ; alias_type : t
108 ; alias_semicolon : t
110 | PropertyDeclaration of
111 { property_attribute_spec : t
112 ; property_modifiers : t
113 ; property_type : t
114 ; property_declarators : t
115 ; property_semicolon : t
117 | PropertyDeclarator of
118 { property_name : t
119 ; property_initializer : t
121 | NamespaceDeclaration of
122 { namespace_header : t
123 ; namespace_body : t
125 | NamespaceDeclarationHeader of
126 { namespace_keyword : t
127 ; namespace_name : t
129 | NamespaceBody of
130 { namespace_left_brace : t
131 ; namespace_declarations : t
132 ; namespace_right_brace : t
134 | NamespaceEmptyBody of
135 { namespace_semicolon : t
137 | NamespaceUseDeclaration of
138 { namespace_use_keyword : t
139 ; namespace_use_kind : t
140 ; namespace_use_clauses : t
141 ; namespace_use_semicolon : t
143 | NamespaceGroupUseDeclaration of
144 { namespace_group_use_keyword : t
145 ; namespace_group_use_kind : t
146 ; namespace_group_use_prefix : t
147 ; namespace_group_use_left_brace : t
148 ; namespace_group_use_clauses : t
149 ; namespace_group_use_right_brace : t
150 ; namespace_group_use_semicolon : t
152 | NamespaceUseClause of
153 { namespace_use_clause_kind : t
154 ; namespace_use_name : t
155 ; namespace_use_as : t
156 ; namespace_use_alias : t
158 | FunctionDeclaration of
159 { function_attribute_spec : t
160 ; function_declaration_header : t
161 ; function_body : t
163 | FunctionDeclarationHeader of
164 { function_modifiers : t
165 ; function_keyword : t
166 ; function_name : t
167 ; function_type_parameter_list : t
168 ; function_left_paren : t
169 ; function_parameter_list : t
170 ; function_right_paren : t
171 ; function_colon : t
172 ; function_type : t
173 ; function_where_clause : t
175 | WhereClause of
176 { where_clause_keyword : t
177 ; where_clause_constraints : t
179 | WhereConstraint of
180 { where_constraint_left_type : t
181 ; where_constraint_operator : t
182 ; where_constraint_right_type : t
184 | MethodishDeclaration of
185 { methodish_attribute : t
186 ; methodish_function_decl_header : t
187 ; methodish_function_body : t
188 ; methodish_semicolon : t
190 | MethodishTraitResolution of
191 { methodish_trait_attribute : t
192 ; methodish_trait_function_decl_header : t
193 ; methodish_trait_equal : t
194 ; methodish_trait_name : t
195 ; methodish_trait_semicolon : t
197 | ClassishDeclaration of
198 { classish_attribute : t
199 ; classish_modifiers : t
200 ; classish_xhp : t
201 ; classish_keyword : t
202 ; classish_name : t
203 ; classish_type_parameters : t
204 ; classish_extends_keyword : t
205 ; classish_extends_list : t
206 ; classish_implements_keyword : t
207 ; classish_implements_list : t
208 ; classish_where_clause : t
209 ; classish_body : t
211 | ClassishBody of
212 { classish_body_left_brace : t
213 ; classish_body_elements : t
214 ; classish_body_right_brace : t
216 | TraitUsePrecedenceItem of
217 { trait_use_precedence_item_name : t
218 ; trait_use_precedence_item_keyword : t
219 ; trait_use_precedence_item_removed_names : t
221 | TraitUseAliasItem of
222 { trait_use_alias_item_aliasing_name : t
223 ; trait_use_alias_item_keyword : t
224 ; trait_use_alias_item_modifiers : t
225 ; trait_use_alias_item_aliased_name : t
227 | TraitUseConflictResolution of
228 { trait_use_conflict_resolution_keyword : t
229 ; trait_use_conflict_resolution_names : t
230 ; trait_use_conflict_resolution_left_brace : t
231 ; trait_use_conflict_resolution_clauses : t
232 ; trait_use_conflict_resolution_right_brace : t
234 | TraitUse of
235 { trait_use_keyword : t
236 ; trait_use_names : t
237 ; trait_use_semicolon : t
239 | RequireClause of
240 { require_keyword : t
241 ; require_kind : t
242 ; require_name : t
243 ; require_semicolon : t
245 | ConstDeclaration of
246 { const_modifiers : t
247 ; const_keyword : t
248 ; const_type_specifier : t
249 ; const_declarators : t
250 ; const_semicolon : t
252 | ConstantDeclarator of
253 { constant_declarator_name : t
254 ; constant_declarator_initializer : t
256 | TypeConstDeclaration of
257 { type_const_attribute_spec : t
258 ; type_const_modifiers : t
259 ; type_const_keyword : t
260 ; type_const_type_keyword : t
261 ; type_const_name : t
262 ; type_const_type_parameters : t
263 ; type_const_type_constraint : t
264 ; type_const_equal : t
265 ; type_const_type_specifier : t
266 ; type_const_semicolon : t
268 | DecoratedExpression of
269 { decorated_expression_decorator : t
270 ; decorated_expression_expression : t
272 | ParameterDeclaration of
273 { parameter_attribute : t
274 ; parameter_visibility : t
275 ; parameter_call_convention : t
276 ; parameter_type : t
277 ; parameter_name : t
278 ; parameter_default_value : t
280 | VariadicParameter of
281 { variadic_parameter_call_convention : t
282 ; variadic_parameter_type : t
283 ; variadic_parameter_ellipsis : t
285 | OldAttributeSpecification of
286 { old_attribute_specification_left_double_angle : t
287 ; old_attribute_specification_attributes : t
288 ; old_attribute_specification_right_double_angle : t
290 | AttributeSpecification of
291 { attribute_specification_attributes : t
293 | Attribute of
294 { attribute_at : t
295 ; attribute_attribute_name : t
297 | InclusionExpression of
298 { inclusion_require : t
299 ; inclusion_filename : t
301 | InclusionDirective of
302 { inclusion_expression : t
303 ; inclusion_semicolon : t
305 | CompoundStatement of
306 { compound_left_brace : t
307 ; compound_statements : t
308 ; compound_right_brace : t
310 | ExpressionStatement of
311 { expression_statement_expression : t
312 ; expression_statement_semicolon : t
314 | MarkupSection of
315 { markup_text : t
316 ; markup_suffix : t
318 | MarkupSuffix of
319 { markup_suffix_less_than_question : t
320 ; markup_suffix_name : t
322 | UnsetStatement of
323 { unset_keyword : t
324 ; unset_left_paren : t
325 ; unset_variables : t
326 ; unset_right_paren : t
327 ; unset_semicolon : t
329 | UsingStatementBlockScoped of
330 { using_block_await_keyword : t
331 ; using_block_using_keyword : t
332 ; using_block_left_paren : t
333 ; using_block_expressions : t
334 ; using_block_right_paren : t
335 ; using_block_body : t
337 | UsingStatementFunctionScoped of
338 { using_function_await_keyword : t
339 ; using_function_using_keyword : t
340 ; using_function_expression : t
341 ; using_function_semicolon : t
343 | WhileStatement of
344 { while_keyword : t
345 ; while_left_paren : t
346 ; while_condition : t
347 ; while_right_paren : t
348 ; while_body : t
350 | IfStatement of
351 { if_keyword : t
352 ; if_left_paren : t
353 ; if_condition : t
354 ; if_right_paren : t
355 ; if_statement : t
356 ; if_elseif_clauses : t
357 ; if_else_clause : t
359 | ElseifClause of
360 { elseif_keyword : t
361 ; elseif_left_paren : t
362 ; elseif_condition : t
363 ; elseif_right_paren : t
364 ; elseif_statement : t
366 | ElseClause of
367 { else_keyword : t
368 ; else_statement : t
370 | TryStatement of
371 { try_keyword : t
372 ; try_compound_statement : t
373 ; try_catch_clauses : t
374 ; try_finally_clause : t
376 | CatchClause of
377 { catch_keyword : t
378 ; catch_left_paren : t
379 ; catch_type : t
380 ; catch_variable : t
381 ; catch_right_paren : t
382 ; catch_body : t
384 | FinallyClause of
385 { finally_keyword : t
386 ; finally_body : t
388 | DoStatement of
389 { do_keyword : t
390 ; do_body : t
391 ; do_while_keyword : t
392 ; do_left_paren : t
393 ; do_condition : t
394 ; do_right_paren : t
395 ; do_semicolon : t
397 | ForStatement of
398 { for_keyword : t
399 ; for_left_paren : t
400 ; for_initializer : t
401 ; for_first_semicolon : t
402 ; for_control : t
403 ; for_second_semicolon : t
404 ; for_end_of_loop : t
405 ; for_right_paren : t
406 ; for_body : t
408 | ForeachStatement of
409 { foreach_keyword : t
410 ; foreach_left_paren : t
411 ; foreach_collection : t
412 ; foreach_await_keyword : t
413 ; foreach_as : t
414 ; foreach_key : t
415 ; foreach_arrow : t
416 ; foreach_value : t
417 ; foreach_right_paren : t
418 ; foreach_body : t
420 | SwitchStatement of
421 { switch_keyword : t
422 ; switch_left_paren : t
423 ; switch_expression : t
424 ; switch_right_paren : t
425 ; switch_left_brace : t
426 ; switch_sections : t
427 ; switch_right_brace : t
429 | SwitchSection of
430 { switch_section_labels : t
431 ; switch_section_statements : t
432 ; switch_section_fallthrough : t
434 | SwitchFallthrough of
435 { fallthrough_keyword : t
436 ; fallthrough_semicolon : t
438 | CaseLabel of
439 { case_keyword : t
440 ; case_expression : t
441 ; case_colon : t
443 | DefaultLabel of
444 { default_keyword : t
445 ; default_colon : t
447 | ReturnStatement of
448 { return_keyword : t
449 ; return_expression : t
450 ; return_semicolon : t
452 | GotoLabel of
453 { goto_label_name : t
454 ; goto_label_colon : t
456 | GotoStatement of
457 { goto_statement_keyword : t
458 ; goto_statement_label_name : t
459 ; goto_statement_semicolon : t
461 | ThrowStatement of
462 { throw_keyword : t
463 ; throw_expression : t
464 ; throw_semicolon : t
466 | BreakStatement of
467 { break_keyword : t
468 ; break_semicolon : t
470 | ContinueStatement of
471 { continue_keyword : t
472 ; continue_semicolon : t
474 | EchoStatement of
475 { echo_keyword : t
476 ; echo_expressions : t
477 ; echo_semicolon : t
479 | ConcurrentStatement of
480 { concurrent_keyword : t
481 ; concurrent_statement : t
483 | SimpleInitializer of
484 { simple_initializer_equal : t
485 ; simple_initializer_value : t
487 | AnonymousClass of
488 { anonymous_class_class_keyword : t
489 ; anonymous_class_left_paren : t
490 ; anonymous_class_argument_list : t
491 ; anonymous_class_right_paren : t
492 ; anonymous_class_extends_keyword : t
493 ; anonymous_class_extends_list : t
494 ; anonymous_class_implements_keyword : t
495 ; anonymous_class_implements_list : t
496 ; anonymous_class_body : t
498 | AnonymousFunction of
499 { anonymous_attribute_spec : t
500 ; anonymous_static_keyword : t
501 ; anonymous_async_keyword : t
502 ; anonymous_function_keyword : t
503 ; anonymous_left_paren : t
504 ; anonymous_parameters : t
505 ; anonymous_right_paren : t
506 ; anonymous_colon : t
507 ; anonymous_type : t
508 ; anonymous_use : t
509 ; anonymous_body : t
511 | AnonymousFunctionUseClause of
512 { anonymous_use_keyword : t
513 ; anonymous_use_left_paren : t
514 ; anonymous_use_variables : t
515 ; anonymous_use_right_paren : t
517 | LambdaExpression of
518 { lambda_attribute_spec : t
519 ; lambda_async : t
520 ; lambda_signature : t
521 ; lambda_arrow : t
522 ; lambda_body : t
524 | LambdaSignature of
525 { lambda_left_paren : t
526 ; lambda_parameters : t
527 ; lambda_right_paren : t
528 ; lambda_colon : t
529 ; lambda_type : t
531 | CastExpression of
532 { cast_left_paren : t
533 ; cast_type : t
534 ; cast_right_paren : t
535 ; cast_operand : t
537 | ScopeResolutionExpression of
538 { scope_resolution_qualifier : t
539 ; scope_resolution_operator : t
540 ; scope_resolution_name : t
542 | MemberSelectionExpression of
543 { member_object : t
544 ; member_operator : t
545 ; member_name : t
547 | SafeMemberSelectionExpression of
548 { safe_member_object : t
549 ; safe_member_operator : t
550 ; safe_member_name : t
552 | EmbeddedMemberSelectionExpression of
553 { embedded_member_object : t
554 ; embedded_member_operator : t
555 ; embedded_member_name : t
557 | YieldExpression of
558 { yield_keyword : t
559 ; yield_operand : t
561 | PrefixUnaryExpression of
562 { prefix_unary_operator : t
563 ; prefix_unary_operand : t
565 | PostfixUnaryExpression of
566 { postfix_unary_operand : t
567 ; postfix_unary_operator : t
569 | BinaryExpression of
570 { binary_left_operand : t
571 ; binary_operator : t
572 ; binary_right_operand : t
574 | IsExpression of
575 { is_left_operand : t
576 ; is_operator : t
577 ; is_right_operand : t
579 | AsExpression of
580 { as_left_operand : t
581 ; as_operator : t
582 ; as_right_operand : t
584 | NullableAsExpression of
585 { nullable_as_left_operand : t
586 ; nullable_as_operator : t
587 ; nullable_as_right_operand : t
589 | ConditionalExpression of
590 { conditional_test : t
591 ; conditional_question : t
592 ; conditional_consequence : t
593 ; conditional_colon : t
594 ; conditional_alternative : t
596 | EvalExpression of
597 { eval_keyword : t
598 ; eval_left_paren : t
599 ; eval_argument : t
600 ; eval_right_paren : t
602 | DefineExpression of
603 { define_keyword : t
604 ; define_left_paren : t
605 ; define_argument_list : t
606 ; define_right_paren : t
608 | IssetExpression of
609 { isset_keyword : t
610 ; isset_left_paren : t
611 ; isset_argument_list : t
612 ; isset_right_paren : t
614 | FunctionCallExpression of
615 { function_call_receiver : t
616 ; function_call_type_args : t
617 ; function_call_left_paren : t
618 ; function_call_argument_list : t
619 ; function_call_right_paren : t
621 | FunctionPointerExpression of
622 { function_pointer_receiver : t
623 ; function_pointer_type_args : t
625 | ParenthesizedExpression of
626 { parenthesized_expression_left_paren : t
627 ; parenthesized_expression_expression : t
628 ; parenthesized_expression_right_paren : t
630 | BracedExpression of
631 { braced_expression_left_brace : t
632 ; braced_expression_expression : t
633 ; braced_expression_right_brace : t
635 | EmbeddedBracedExpression of
636 { embedded_braced_expression_left_brace : t
637 ; embedded_braced_expression_expression : t
638 ; embedded_braced_expression_right_brace : t
640 | ListExpression of
641 { list_keyword : t
642 ; list_left_paren : t
643 ; list_members : t
644 ; list_right_paren : t
646 | CollectionLiteralExpression of
647 { collection_literal_name : t
648 ; collection_literal_left_brace : t
649 ; collection_literal_initializers : t
650 ; collection_literal_right_brace : t
652 | ObjectCreationExpression of
653 { object_creation_new_keyword : t
654 ; object_creation_object : t
656 | ConstructorCall of
657 { constructor_call_type : t
658 ; constructor_call_left_paren : t
659 ; constructor_call_argument_list : t
660 ; constructor_call_right_paren : t
662 | RecordCreationExpression of
663 { record_creation_type : t
664 ; record_creation_left_bracket : t
665 ; record_creation_members : t
666 ; record_creation_right_bracket : t
668 | DarrayIntrinsicExpression of
669 { darray_intrinsic_keyword : t
670 ; darray_intrinsic_explicit_type : t
671 ; darray_intrinsic_left_bracket : t
672 ; darray_intrinsic_members : t
673 ; darray_intrinsic_right_bracket : t
675 | DictionaryIntrinsicExpression of
676 { dictionary_intrinsic_keyword : t
677 ; dictionary_intrinsic_explicit_type : t
678 ; dictionary_intrinsic_left_bracket : t
679 ; dictionary_intrinsic_members : t
680 ; dictionary_intrinsic_right_bracket : t
682 | KeysetIntrinsicExpression of
683 { keyset_intrinsic_keyword : t
684 ; keyset_intrinsic_explicit_type : t
685 ; keyset_intrinsic_left_bracket : t
686 ; keyset_intrinsic_members : t
687 ; keyset_intrinsic_right_bracket : t
689 | VarrayIntrinsicExpression of
690 { varray_intrinsic_keyword : t
691 ; varray_intrinsic_explicit_type : t
692 ; varray_intrinsic_left_bracket : t
693 ; varray_intrinsic_members : t
694 ; varray_intrinsic_right_bracket : t
696 | VectorIntrinsicExpression of
697 { vector_intrinsic_keyword : t
698 ; vector_intrinsic_explicit_type : t
699 ; vector_intrinsic_left_bracket : t
700 ; vector_intrinsic_members : t
701 ; vector_intrinsic_right_bracket : t
703 | ElementInitializer of
704 { element_key : t
705 ; element_arrow : t
706 ; element_value : t
708 | SubscriptExpression of
709 { subscript_receiver : t
710 ; subscript_left_bracket : t
711 ; subscript_index : t
712 ; subscript_right_bracket : t
714 | EmbeddedSubscriptExpression of
715 { embedded_subscript_receiver : t
716 ; embedded_subscript_left_bracket : t
717 ; embedded_subscript_index : t
718 ; embedded_subscript_right_bracket : t
720 | AwaitableCreationExpression of
721 { awaitable_attribute_spec : t
722 ; awaitable_async : t
723 ; awaitable_compound_statement : t
725 | XHPChildrenDeclaration of
726 { xhp_children_keyword : t
727 ; xhp_children_expression : t
728 ; xhp_children_semicolon : t
730 | XHPChildrenParenthesizedList of
731 { xhp_children_list_left_paren : t
732 ; xhp_children_list_xhp_children : t
733 ; xhp_children_list_right_paren : t
735 | XHPCategoryDeclaration of
736 { xhp_category_keyword : t
737 ; xhp_category_categories : t
738 ; xhp_category_semicolon : t
740 | XHPEnumType of
741 { xhp_enum_optional : t
742 ; xhp_enum_keyword : t
743 ; xhp_enum_left_brace : t
744 ; xhp_enum_values : t
745 ; xhp_enum_right_brace : t
747 | XHPLateinit of
748 { xhp_lateinit_at : t
749 ; xhp_lateinit_keyword : t
751 | XHPRequired of
752 { xhp_required_at : t
753 ; xhp_required_keyword : t
755 | XHPClassAttributeDeclaration of
756 { xhp_attribute_keyword : t
757 ; xhp_attribute_attributes : t
758 ; xhp_attribute_semicolon : t
760 | XHPClassAttribute of
761 { xhp_attribute_decl_type : t
762 ; xhp_attribute_decl_name : t
763 ; xhp_attribute_decl_initializer : t
764 ; xhp_attribute_decl_required : t
766 | XHPSimpleClassAttribute of
767 { xhp_simple_class_attribute_type : t
769 | XHPSimpleAttribute of
770 { xhp_simple_attribute_name : t
771 ; xhp_simple_attribute_equal : t
772 ; xhp_simple_attribute_expression : t
774 | XHPSpreadAttribute of
775 { xhp_spread_attribute_left_brace : t
776 ; xhp_spread_attribute_spread_operator : t
777 ; xhp_spread_attribute_expression : t
778 ; xhp_spread_attribute_right_brace : t
780 | XHPOpen of
781 { xhp_open_left_angle : t
782 ; xhp_open_name : t
783 ; xhp_open_attributes : t
784 ; xhp_open_right_angle : t
786 | XHPExpression of
787 { xhp_open : t
788 ; xhp_body : t
789 ; xhp_close : t
791 | XHPClose of
792 { xhp_close_left_angle : t
793 ; xhp_close_name : t
794 ; xhp_close_right_angle : t
796 | TypeConstant of
797 { type_constant_left_type : t
798 ; type_constant_separator : t
799 ; type_constant_right_type : t
801 | PUAccess of
802 { pu_access_left_type : t
803 ; pu_access_separator : t
804 ; pu_access_right_type : t
806 | VectorTypeSpecifier of
807 { vector_type_keyword : t
808 ; vector_type_left_angle : t
809 ; vector_type_type : t
810 ; vector_type_trailing_comma : t
811 ; vector_type_right_angle : t
813 | KeysetTypeSpecifier of
814 { keyset_type_keyword : t
815 ; keyset_type_left_angle : t
816 ; keyset_type_type : t
817 ; keyset_type_trailing_comma : t
818 ; keyset_type_right_angle : t
820 | TupleTypeExplicitSpecifier of
821 { tuple_type_keyword : t
822 ; tuple_type_left_angle : t
823 ; tuple_type_types : t
824 ; tuple_type_right_angle : t
826 | VarrayTypeSpecifier of
827 { varray_keyword : t
828 ; varray_left_angle : t
829 ; varray_type : t
830 ; varray_trailing_comma : t
831 ; varray_right_angle : t
833 | VectorArrayTypeSpecifier of
834 { vector_array_keyword : t
835 ; vector_array_left_angle : t
836 ; vector_array_type : t
837 ; vector_array_right_angle : t
839 | TypeParameter of
840 { type_attribute_spec : t
841 ; type_reified : t
842 ; type_variance : t
843 ; type_name : t
844 ; type_param_params : t
845 ; type_constraints : t
847 | TypeConstraint of
848 { constraint_keyword : t
849 ; constraint_type : t
851 | DarrayTypeSpecifier of
852 { darray_keyword : t
853 ; darray_left_angle : t
854 ; darray_key : t
855 ; darray_comma : t
856 ; darray_value : t
857 ; darray_trailing_comma : t
858 ; darray_right_angle : t
860 | MapArrayTypeSpecifier of
861 { map_array_keyword : t
862 ; map_array_left_angle : t
863 ; map_array_key : t
864 ; map_array_comma : t
865 ; map_array_value : t
866 ; map_array_right_angle : t
868 | DictionaryTypeSpecifier of
869 { dictionary_type_keyword : t
870 ; dictionary_type_left_angle : t
871 ; dictionary_type_members : t
872 ; dictionary_type_right_angle : t
874 | ClosureTypeSpecifier of
875 { closure_outer_left_paren : t
876 ; closure_function_keyword : t
877 ; closure_inner_left_paren : t
878 ; closure_parameter_list : t
879 ; closure_inner_right_paren : t
880 ; closure_colon : t
881 ; closure_return_type : t
882 ; closure_outer_right_paren : t
884 | ClosureParameterTypeSpecifier of
885 { closure_parameter_call_convention : t
886 ; closure_parameter_type : t
888 | ClassnameTypeSpecifier of
889 { classname_keyword : t
890 ; classname_left_angle : t
891 ; classname_type : t
892 ; classname_trailing_comma : t
893 ; classname_right_angle : t
895 | FieldSpecifier of
896 { field_question : t
897 ; field_name : t
898 ; field_arrow : t
899 ; field_type : t
901 | FieldInitializer of
902 { field_initializer_name : t
903 ; field_initializer_arrow : t
904 ; field_initializer_value : t
906 | ShapeTypeSpecifier of
907 { shape_type_keyword : t
908 ; shape_type_left_paren : t
909 ; shape_type_fields : t
910 ; shape_type_ellipsis : t
911 ; shape_type_right_paren : t
913 | ShapeExpression of
914 { shape_expression_keyword : t
915 ; shape_expression_left_paren : t
916 ; shape_expression_fields : t
917 ; shape_expression_right_paren : t
919 | TupleExpression of
920 { tuple_expression_keyword : t
921 ; tuple_expression_left_paren : t
922 ; tuple_expression_items : t
923 ; tuple_expression_right_paren : t
925 | GenericTypeSpecifier of
926 { generic_class_type : t
927 ; generic_argument_list : t
929 | NullableTypeSpecifier of
930 { nullable_question : t
931 ; nullable_type : t
933 | LikeTypeSpecifier of
934 { like_tilde : t
935 ; like_type : t
937 | SoftTypeSpecifier of
938 { soft_at : t
939 ; soft_type : t
941 | AttributizedSpecifier of
942 { attributized_specifier_attribute_spec : t
943 ; attributized_specifier_type : t
945 | ReifiedTypeArgument of
946 { reified_type_argument_reified : t
947 ; reified_type_argument_type : t
949 | TypeArguments of
950 { type_arguments_left_angle : t
951 ; type_arguments_types : t
952 ; type_arguments_right_angle : t
954 | TypeParameters of
955 { type_parameters_left_angle : t
956 ; type_parameters_parameters : t
957 ; type_parameters_right_angle : t
959 | TupleTypeSpecifier of
960 { tuple_left_paren : t
961 ; tuple_types : t
962 ; tuple_right_paren : t
964 | UnionTypeSpecifier of
965 { union_left_paren : t
966 ; union_types : t
967 ; union_right_paren : t
969 | IntersectionTypeSpecifier of
970 { intersection_left_paren : t
971 ; intersection_types : t
972 ; intersection_right_paren : t
974 | ErrorSyntax of
975 { error_error : t
977 | ListItem of
978 { list_item : t
979 ; list_separator : t
981 | PocketAtomExpression of
982 { pocket_atom_glyph : t
983 ; pocket_atom_expression : t
985 | PocketIdentifierExpression of
986 { pocket_identifier_qualifier : t
987 ; pocket_identifier_pu_operator : t
988 ; pocket_identifier_field : t
989 ; pocket_identifier_operator : t
990 ; pocket_identifier_name : t
992 | PocketAtomMappingDeclaration of
993 { pocket_atom_mapping_glyph : t
994 ; pocket_atom_mapping_name : t
995 ; pocket_atom_mapping_left_paren : t
996 ; pocket_atom_mapping_mappings : t
997 ; pocket_atom_mapping_right_paren : t
998 ; pocket_atom_mapping_semicolon : t
1000 | PocketEnumDeclaration of
1001 { pocket_enum_attributes : t
1002 ; pocket_enum_modifiers : t
1003 ; pocket_enum_enum : t
1004 ; pocket_enum_name : t
1005 ; pocket_enum_left_brace : t
1006 ; pocket_enum_fields : t
1007 ; pocket_enum_right_brace : t
1009 | PocketFieldTypeExprDeclaration of
1010 { pocket_field_type_expr_case : t
1011 ; pocket_field_type_expr_type : t
1012 ; pocket_field_type_expr_name : t
1013 ; pocket_field_type_expr_semicolon : t
1015 | PocketFieldTypeDeclaration of
1016 { pocket_field_type_case : t
1017 ; pocket_field_type_type : t
1018 ; pocket_field_type_type_parameter : t
1019 ; pocket_field_type_semicolon : t
1021 | PocketMappingIdDeclaration of
1022 { pocket_mapping_id_name : t
1023 ; pocket_mapping_id_initializer : t
1025 | PocketMappingTypeDeclaration of
1026 { pocket_mapping_type_keyword : t
1027 ; pocket_mapping_type_name : t
1028 ; pocket_mapping_type_equal : t
1029 ; pocket_mapping_type_type : t
1033 val rust_parse :
1034 Full_fidelity_source_text.t ->
1035 Full_fidelity_parser_env.t ->
1036 unit * t * Full_fidelity_syntax_error.t list * Rust_pointer.t option
1037 val rust_parse_with_decl_mode_sc :
1038 Full_fidelity_source_text.t ->
1039 Full_fidelity_parser_env.t ->
1040 bool list * t * Full_fidelity_syntax_error.t list * Rust_pointer.t option
1041 val rust_parse_with_verify_sc :
1042 Full_fidelity_source_text.t ->
1043 Full_fidelity_parser_env.t ->
1044 t list * t * Full_fidelity_syntax_error.t list * Rust_pointer.t option
1045 val rust_parser_errors :
1046 Full_fidelity_source_text.t ->
1047 Rust_pointer.t ->
1048 ParserOptions.ffi_t ->
1049 Full_fidelity_syntax_error.t list
1050 val has_leading_trivia : TriviaKind.t -> Token.t -> bool
1051 val to_json : ?with_value:bool -> t -> Hh_json.json
1052 val extract_text : t -> string option
1053 val is_in_body : t -> int -> bool
1054 val syntax_node_to_list : t -> t list
1055 val width : t -> int
1056 val full_width : t -> int
1057 val trailing_width : t -> int
1058 val leading_width : t -> int
1059 val leading_token : t -> Token.t option
1060 val children : t -> t list
1061 val syntax : t -> syntax
1062 val kind : t -> Full_fidelity_syntax_kind.t
1063 val value : t -> value
1064 val make_token : Token.t -> t
1065 val get_token : t -> Token.t option
1066 val all_tokens : t -> Token.t list
1067 val make_missing : Full_fidelity_source_text.t -> int -> t
1068 val make_list : Full_fidelity_source_text.t -> int -> t list -> t
1069 val is_namespace_prefix : t -> bool
1070 val syntax_list_fold : init:'a -> f:('a -> t -> 'a) -> t -> 'a
1071 val make_end_of_file : t -> t
1072 val make_script : t -> t
1073 val make_qualified_name : t -> t
1074 val make_simple_type_specifier : t -> t
1075 val make_literal_expression : t -> t
1076 val make_prefixed_string_expression : t -> t -> t
1077 val make_variable_expression : t -> t
1078 val make_pipe_variable_expression : t -> t
1079 val make_file_attribute_specification : t -> t -> t -> t -> t -> t
1080 val make_enum_declaration : t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1081 val make_enumerator : t -> t -> t -> t -> t
1082 val make_record_declaration : t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1083 val make_record_field : t -> t -> t -> t -> t
1084 val make_alias_declaration : t -> t -> t -> t -> t -> t -> t -> t -> t
1085 val make_property_declaration : t -> t -> t -> t -> t -> t
1086 val make_property_declarator : t -> t -> t
1087 val make_namespace_declaration : t -> t -> t
1088 val make_namespace_declaration_header : t -> t -> t
1089 val make_namespace_body : t -> t -> t -> t
1090 val make_namespace_empty_body : t -> t
1091 val make_namespace_use_declaration : t -> t -> t -> t -> t
1092 val make_namespace_group_use_declaration : t -> t -> t -> t -> t -> t -> t -> t
1093 val make_namespace_use_clause : t -> t -> t -> t -> t
1094 val make_function_declaration : t -> t -> t -> t
1095 val make_function_declaration_header : t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1096 val make_where_clause : t -> t -> t
1097 val make_where_constraint : t -> t -> t -> t
1098 val make_methodish_declaration : t -> t -> t -> t -> t
1099 val make_methodish_trait_resolution : t -> t -> t -> t -> t -> t
1100 val make_classish_declaration : t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1101 val make_classish_body : t -> t -> t -> t
1102 val make_trait_use_precedence_item : t -> t -> t -> t
1103 val make_trait_use_alias_item : t -> t -> t -> t -> t
1104 val make_trait_use_conflict_resolution : t -> t -> t -> t -> t -> t
1105 val make_trait_use : t -> t -> t -> t
1106 val make_require_clause : t -> t -> t -> t -> t
1107 val make_const_declaration : t -> t -> t -> t -> t -> t
1108 val make_constant_declarator : t -> t -> t
1109 val make_type_const_declaration : t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1110 val make_decorated_expression : t -> t -> t
1111 val make_parameter_declaration : t -> t -> t -> t -> t -> t -> t
1112 val make_variadic_parameter : t -> t -> t -> t
1113 val make_old_attribute_specification : t -> t -> t -> t
1114 val make_attribute_specification : t -> t
1115 val make_attribute : t -> t -> t
1116 val make_inclusion_expression : t -> t -> t
1117 val make_inclusion_directive : t -> t -> t
1118 val make_compound_statement : t -> t -> t -> t
1119 val make_expression_statement : t -> t -> t
1120 val make_markup_section : t -> t -> t
1121 val make_markup_suffix : t -> t -> t
1122 val make_unset_statement : t -> t -> t -> t -> t -> t
1123 val make_using_statement_block_scoped : t -> t -> t -> t -> t -> t -> t
1124 val make_using_statement_function_scoped : t -> t -> t -> t -> t
1125 val make_while_statement : t -> t -> t -> t -> t -> t
1126 val make_if_statement : t -> t -> t -> t -> t -> t -> t -> t
1127 val make_elseif_clause : t -> t -> t -> t -> t -> t
1128 val make_else_clause : t -> t -> t
1129 val make_try_statement : t -> t -> t -> t -> t
1130 val make_catch_clause : t -> t -> t -> t -> t -> t -> t
1131 val make_finally_clause : t -> t -> t
1132 val make_do_statement : t -> t -> t -> t -> t -> t -> t -> t
1133 val make_for_statement : t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1134 val make_foreach_statement : t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1135 val make_switch_statement : t -> t -> t -> t -> t -> t -> t -> t
1136 val make_switch_section : t -> t -> t -> t
1137 val make_switch_fallthrough : t -> t -> t
1138 val make_case_label : t -> t -> t -> t
1139 val make_default_label : t -> t -> t
1140 val make_return_statement : t -> t -> t -> t
1141 val make_goto_label : t -> t -> t
1142 val make_goto_statement : t -> t -> t -> t
1143 val make_throw_statement : t -> t -> t -> t
1144 val make_break_statement : t -> t -> t
1145 val make_continue_statement : t -> t -> t
1146 val make_echo_statement : t -> t -> t -> t
1147 val make_concurrent_statement : t -> t -> t
1148 val make_simple_initializer : t -> t -> t
1149 val make_anonymous_class : t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1150 val make_anonymous_function : t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t
1151 val make_anonymous_function_use_clause : t -> t -> t -> t -> t
1152 val make_lambda_expression : t -> t -> t -> t -> t -> t
1153 val make_lambda_signature : t -> t -> t -> t -> t -> t
1154 val make_cast_expression : t -> t -> t -> t -> t
1155 val make_scope_resolution_expression : t -> t -> t -> t
1156 val make_member_selection_expression : t -> t -> t -> t
1157 val make_safe_member_selection_expression : t -> t -> t -> t
1158 val make_embedded_member_selection_expression : t -> t -> t -> t
1159 val make_yield_expression : t -> t -> t
1160 val make_prefix_unary_expression : t -> t -> t
1161 val make_postfix_unary_expression : t -> t -> t
1162 val make_binary_expression : t -> t -> t -> t
1163 val make_is_expression : t -> t -> t -> t
1164 val make_as_expression : t -> t -> t -> t
1165 val make_nullable_as_expression : t -> t -> t -> t
1166 val make_conditional_expression : t -> t -> t -> t -> t -> t
1167 val make_eval_expression : t -> t -> t -> t -> t
1168 val make_define_expression : t -> t -> t -> t -> t
1169 val make_isset_expression : t -> t -> t -> t -> t
1170 val make_function_call_expression : t -> t -> t -> t -> t -> t
1171 val make_function_pointer_expression : t -> t -> t
1172 val make_parenthesized_expression : t -> t -> t -> t
1173 val make_braced_expression : t -> t -> t -> t
1174 val make_embedded_braced_expression : t -> t -> t -> t
1175 val make_list_expression : t -> t -> t -> t -> t
1176 val make_collection_literal_expression : t -> t -> t -> t -> t
1177 val make_object_creation_expression : t -> t -> t
1178 val make_constructor_call : t -> t -> t -> t -> t
1179 val make_record_creation_expression : t -> t -> t -> t -> t
1180 val make_darray_intrinsic_expression : t -> t -> t -> t -> t -> t
1181 val make_dictionary_intrinsic_expression : t -> t -> t -> t -> t -> t
1182 val make_keyset_intrinsic_expression : t -> t -> t -> t -> t -> t
1183 val make_varray_intrinsic_expression : t -> t -> t -> t -> t -> t
1184 val make_vector_intrinsic_expression : t -> t -> t -> t -> t -> t
1185 val make_element_initializer : t -> t -> t -> t
1186 val make_subscript_expression : t -> t -> t -> t -> t
1187 val make_embedded_subscript_expression : t -> t -> t -> t -> t
1188 val make_awaitable_creation_expression : t -> t -> t -> t
1189 val make_xhp_children_declaration : t -> t -> t -> t
1190 val make_xhp_children_parenthesized_list : t -> t -> t -> t
1191 val make_xhp_category_declaration : t -> t -> t -> t
1192 val make_xhp_enum_type : t -> t -> t -> t -> t -> t
1193 val make_xhp_lateinit : t -> t -> t
1194 val make_xhp_required : t -> t -> t
1195 val make_xhp_class_attribute_declaration : t -> t -> t -> t
1196 val make_xhp_class_attribute : t -> t -> t -> t -> t
1197 val make_xhp_simple_class_attribute : t -> t
1198 val make_xhp_simple_attribute : t -> t -> t -> t
1199 val make_xhp_spread_attribute : t -> t -> t -> t -> t
1200 val make_xhp_open : t -> t -> t -> t -> t
1201 val make_xhp_expression : t -> t -> t -> t
1202 val make_xhp_close : t -> t -> t -> t
1203 val make_type_constant : t -> t -> t -> t
1204 val make_pu_access : t -> t -> t -> t
1205 val make_vector_type_specifier : t -> t -> t -> t -> t -> t
1206 val make_keyset_type_specifier : t -> t -> t -> t -> t -> t
1207 val make_tuple_type_explicit_specifier : t -> t -> t -> t -> t
1208 val make_varray_type_specifier : t -> t -> t -> t -> t -> t
1209 val make_vector_array_type_specifier : t -> t -> t -> t -> t
1210 val make_type_parameter : t -> t -> t -> t -> t -> t -> t
1211 val make_type_constraint : t -> t -> t
1212 val make_darray_type_specifier : t -> t -> t -> t -> t -> t -> t -> t
1213 val make_map_array_type_specifier : t -> t -> t -> t -> t -> t -> t
1214 val make_dictionary_type_specifier : t -> t -> t -> t -> t
1215 val make_closure_type_specifier : t -> t -> t -> t -> t -> t -> t -> t -> t
1216 val make_closure_parameter_type_specifier : t -> t -> t
1217 val make_classname_type_specifier : t -> t -> t -> t -> t -> t
1218 val make_field_specifier : t -> t -> t -> t -> t
1219 val make_field_initializer : t -> t -> t -> t
1220 val make_shape_type_specifier : t -> t -> t -> t -> t -> t
1221 val make_shape_expression : t -> t -> t -> t -> t
1222 val make_tuple_expression : t -> t -> t -> t -> t
1223 val make_generic_type_specifier : t -> t -> t
1224 val make_nullable_type_specifier : t -> t -> t
1225 val make_like_type_specifier : t -> t -> t
1226 val make_soft_type_specifier : t -> t -> t
1227 val make_attributized_specifier : t -> t -> t
1228 val make_reified_type_argument : t -> t -> t
1229 val make_type_arguments : t -> t -> t -> t
1230 val make_type_parameters : t -> t -> t -> t
1231 val make_tuple_type_specifier : t -> t -> t -> t
1232 val make_union_type_specifier : t -> t -> t -> t
1233 val make_intersection_type_specifier : t -> t -> t -> t
1234 val make_error : t -> t
1235 val make_list_item : t -> t -> t
1236 val make_pocket_atom_expression : t -> t -> t
1237 val make_pocket_identifier_expression : t -> t -> t -> t -> t -> t
1238 val make_pocket_atom_mapping_declaration : t -> t -> t -> t -> t -> t -> t
1239 val make_pocket_enum_declaration : t -> t -> t -> t -> t -> t -> t -> t
1240 val make_pocket_field_type_expr_declaration : t -> t -> t -> t -> t
1241 val make_pocket_field_type_declaration : t -> t -> t -> t -> t
1242 val make_pocket_mapping_id_declaration : t -> t -> t
1243 val make_pocket_mapping_type_declaration : t -> t -> t -> t -> t
1246 val position : Relative_path.t -> t -> Pos.t option
1247 val offset : t -> int option
1248 val is_missing : t -> bool
1249 val is_list : t -> bool
1250 val is_end_of_file : t -> bool
1251 val is_script : t -> bool
1252 val is_qualified_name : t -> bool
1253 val is_simple_type_specifier : t -> bool
1254 val is_literal_expression : t -> bool
1255 val is_prefixed_string_expression : t -> bool
1256 val is_variable_expression : t -> bool
1257 val is_pipe_variable_expression : t -> bool
1258 val is_file_attribute_specification : t -> bool
1259 val is_enum_declaration : t -> bool
1260 val is_enumerator : t -> bool
1261 val is_record_declaration : t -> bool
1262 val is_record_field : t -> bool
1263 val is_alias_declaration : t -> bool
1264 val is_property_declaration : t -> bool
1265 val is_property_declarator : t -> bool
1266 val is_namespace_declaration : t -> bool
1267 val is_namespace_declaration_header : t -> bool
1268 val is_namespace_body : t -> bool
1269 val is_namespace_empty_body : t -> bool
1270 val is_namespace_use_declaration : t -> bool
1271 val is_namespace_group_use_declaration : t -> bool
1272 val is_namespace_use_clause : t -> bool
1273 val is_function_declaration : t -> bool
1274 val is_function_declaration_header : t -> bool
1275 val is_where_clause : t -> bool
1276 val is_where_constraint : t -> bool
1277 val is_methodish_declaration : t -> bool
1278 val is_methodish_trait_resolution : t -> bool
1279 val is_classish_declaration : t -> bool
1280 val is_classish_body : t -> bool
1281 val is_trait_use_precedence_item : t -> bool
1282 val is_trait_use_alias_item : t -> bool
1283 val is_trait_use_conflict_resolution : t -> bool
1284 val is_trait_use : t -> bool
1285 val is_require_clause : t -> bool
1286 val is_const_declaration : t -> bool
1287 val is_constant_declarator : t -> bool
1288 val is_type_const_declaration : t -> bool
1289 val is_decorated_expression : t -> bool
1290 val is_parameter_declaration : t -> bool
1291 val is_variadic_parameter : t -> bool
1292 val is_old_attribute_specification : t -> bool
1293 val is_attribute_specification : t -> bool
1294 val is_attribute : t -> bool
1295 val is_inclusion_expression : t -> bool
1296 val is_inclusion_directive : t -> bool
1297 val is_compound_statement : t -> bool
1298 val is_expression_statement : t -> bool
1299 val is_markup_section : t -> bool
1300 val is_markup_suffix : t -> bool
1301 val is_unset_statement : t -> bool
1302 val is_using_statement_block_scoped : t -> bool
1303 val is_using_statement_function_scoped : t -> bool
1304 val is_while_statement : t -> bool
1305 val is_if_statement : t -> bool
1306 val is_elseif_clause : t -> bool
1307 val is_else_clause : t -> bool
1308 val is_try_statement : t -> bool
1309 val is_catch_clause : t -> bool
1310 val is_finally_clause : t -> bool
1311 val is_do_statement : t -> bool
1312 val is_for_statement : t -> bool
1313 val is_foreach_statement : t -> bool
1314 val is_switch_statement : t -> bool
1315 val is_switch_section : t -> bool
1316 val is_switch_fallthrough : t -> bool
1317 val is_case_label : t -> bool
1318 val is_default_label : t -> bool
1319 val is_return_statement : t -> bool
1320 val is_goto_label : t -> bool
1321 val is_goto_statement : t -> bool
1322 val is_throw_statement : t -> bool
1323 val is_break_statement : t -> bool
1324 val is_continue_statement : t -> bool
1325 val is_echo_statement : t -> bool
1326 val is_concurrent_statement : t -> bool
1327 val is_simple_initializer : t -> bool
1328 val is_anonymous_class : t -> bool
1329 val is_anonymous_function : t -> bool
1330 val is_anonymous_function_use_clause : t -> bool
1331 val is_lambda_expression : t -> bool
1332 val is_lambda_signature : t -> bool
1333 val is_cast_expression : t -> bool
1334 val is_scope_resolution_expression : t -> bool
1335 val is_member_selection_expression : t -> bool
1336 val is_safe_member_selection_expression : t -> bool
1337 val is_embedded_member_selection_expression : t -> bool
1338 val is_yield_expression : t -> bool
1339 val is_prefix_unary_expression : t -> bool
1340 val is_postfix_unary_expression : t -> bool
1341 val is_binary_expression : t -> bool
1342 val is_is_expression : t -> bool
1343 val is_as_expression : t -> bool
1344 val is_nullable_as_expression : t -> bool
1345 val is_conditional_expression : t -> bool
1346 val is_eval_expression : t -> bool
1347 val is_define_expression : t -> bool
1348 val is_isset_expression : t -> bool
1349 val is_function_call_expression : t -> bool
1350 val is_function_pointer_expression : t -> bool
1351 val is_parenthesized_expression : t -> bool
1352 val is_braced_expression : t -> bool
1353 val is_embedded_braced_expression : t -> bool
1354 val is_list_expression : t -> bool
1355 val is_collection_literal_expression : t -> bool
1356 val is_object_creation_expression : t -> bool
1357 val is_constructor_call : t -> bool
1358 val is_record_creation_expression : t -> bool
1359 val is_darray_intrinsic_expression : t -> bool
1360 val is_dictionary_intrinsic_expression : t -> bool
1361 val is_keyset_intrinsic_expression : t -> bool
1362 val is_varray_intrinsic_expression : t -> bool
1363 val is_vector_intrinsic_expression : t -> bool
1364 val is_element_initializer : t -> bool
1365 val is_subscript_expression : t -> bool
1366 val is_embedded_subscript_expression : t -> bool
1367 val is_awaitable_creation_expression : t -> bool
1368 val is_xhp_children_declaration : t -> bool
1369 val is_xhp_children_parenthesized_list : t -> bool
1370 val is_xhp_category_declaration : t -> bool
1371 val is_xhp_enum_type : t -> bool
1372 val is_xhp_lateinit : t -> bool
1373 val is_xhp_required : t -> bool
1374 val is_xhp_class_attribute_declaration : t -> bool
1375 val is_xhp_class_attribute : t -> bool
1376 val is_xhp_simple_class_attribute : t -> bool
1377 val is_xhp_simple_attribute : t -> bool
1378 val is_xhp_spread_attribute : t -> bool
1379 val is_xhp_open : t -> bool
1380 val is_xhp_expression : t -> bool
1381 val is_xhp_close : t -> bool
1382 val is_type_constant : t -> bool
1383 val is_pu_access : t -> bool
1384 val is_vector_type_specifier : t -> bool
1385 val is_keyset_type_specifier : t -> bool
1386 val is_tuple_type_explicit_specifier : t -> bool
1387 val is_varray_type_specifier : t -> bool
1388 val is_vector_array_type_specifier : t -> bool
1389 val is_type_parameter : t -> bool
1390 val is_type_constraint : t -> bool
1391 val is_darray_type_specifier : t -> bool
1392 val is_map_array_type_specifier : t -> bool
1393 val is_dictionary_type_specifier : t -> bool
1394 val is_closure_type_specifier : t -> bool
1395 val is_closure_parameter_type_specifier : t -> bool
1396 val is_classname_type_specifier : t -> bool
1397 val is_field_specifier : t -> bool
1398 val is_field_initializer : t -> bool
1399 val is_shape_type_specifier : t -> bool
1400 val is_shape_expression : t -> bool
1401 val is_tuple_expression : t -> bool
1402 val is_generic_type_specifier : t -> bool
1403 val is_nullable_type_specifier : t -> bool
1404 val is_like_type_specifier : t -> bool
1405 val is_soft_type_specifier : t -> bool
1406 val is_attributized_specifier : t -> bool
1407 val is_reified_type_argument : t -> bool
1408 val is_type_arguments : t -> bool
1409 val is_type_parameters : t -> bool
1410 val is_tuple_type_specifier : t -> bool
1411 val is_union_type_specifier : t -> bool
1412 val is_intersection_type_specifier : t -> bool
1413 val is_error : t -> bool
1414 val is_list_item : t -> bool
1415 val is_pocket_atom_expression : t -> bool
1416 val is_pocket_identifier_expression : t -> bool
1417 val is_pocket_atom_mapping_declaration : t -> bool
1418 val is_pocket_enum_declaration : t -> bool
1419 val is_pocket_field_type_expr_declaration : t -> bool
1420 val is_pocket_field_type_declaration : t -> bool
1421 val is_pocket_mapping_id_declaration : t -> bool
1422 val is_pocket_mapping_type_declaration : t -> bool
1425 val is_specific_token : TokenKind.t -> t -> bool
1426 val is_loop_statement : t -> bool
1427 val is_external : t -> bool
1428 val is_name : t -> bool
1429 val is_construct : t -> bool
1430 val is_static : t -> bool
1431 val is_private : t -> bool
1432 val is_public : t -> bool
1433 val is_protected : t -> bool
1434 val is_abstract : t -> bool
1435 val is_final : t -> bool
1436 val is_async : t -> bool
1437 val is_void : t -> bool
1438 val is_left_brace : t -> bool
1439 val is_ellipsis : t -> bool
1440 val is_comma : t -> bool
1441 val is_array : t -> bool
1442 val is_ampersand : t -> bool
1443 val is_inout : t -> bool