codegen/inferred_relationships.hack (4,126 lines of code) (raw):
/**
* This file is generated. Do not modify it manually!
*
* @generated SignedSource<<456d5fb5d4d64ca382edb8ab203f0ffd>>
*/
namespace Facebook\HHAST\__Private;
const dict<string, keyset<string>> INFERRED_RELATIONSHIPS = dict[
'alias_declaration.alias_attribute_spec' => keyset[
'missing',
'old_attribute_specification',
],
'alias_declaration.alias_constraint' => keyset[
'missing',
'type_constraint',
],
'alias_declaration.alias_equal' => keyset[
'token:=',
],
'alias_declaration.alias_generic_parameter' => keyset[
'missing',
'type_parameters',
],
'alias_declaration.alias_keyword' => keyset[
'token:newtype',
'token:type',
],
'alias_declaration.alias_name' => keyset[
'token:name',
],
'alias_declaration.alias_semicolon' => keyset[
'token:;',
],
'alias_declaration.alias_type' => keyset[
'closure_type_specifier',
'darray_type_specifier',
'dictionary_type_specifier',
'generic_type_specifier',
'keyset_type_specifier',
'nullable_type_specifier',
'shape_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
'varray_type_specifier',
'vector_type_specifier',
],
'anonymous_function.anonymous_async_keyword' => keyset[
'missing',
'token:async',
],
'anonymous_function.anonymous_attribute_spec' => keyset[
'missing',
'old_attribute_specification',
],
'anonymous_function.anonymous_body' => keyset[
'compound_statement',
],
'anonymous_function.anonymous_colon' => keyset[
'missing',
'token::',
],
'anonymous_function.anonymous_ctx_list' => keyset[
'missing',
],
'anonymous_function.anonymous_function_keyword' => keyset[
'token:function',
],
'anonymous_function.anonymous_left_paren' => keyset[
'token:(',
],
'anonymous_function.anonymous_parameters' => keyset[
'list<list_item<parameter_declaration>>',
'missing',
],
'anonymous_function.anonymous_readonly_return' => keyset[
'missing',
'token:readonly',
],
'anonymous_function.anonymous_right_paren' => keyset[
'token:)',
],
'anonymous_function.anonymous_type' => keyset[
'attributized_specifier',
'closure_type_specifier',
'darray_type_specifier',
'generic_type_specifier',
'missing',
'nullable_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
],
'anonymous_function.anonymous_use' => keyset[
'anonymous_function_use_clause',
'missing',
],
'anonymous_function_use_clause.anonymous_use_keyword' => keyset[
'token:use',
],
'anonymous_function_use_clause.anonymous_use_left_paren' => keyset[
'token:(',
],
'anonymous_function_use_clause.anonymous_use_right_paren' => keyset[
'token:)',
],
'anonymous_function_use_clause.anonymous_use_variables' => keyset[
'list<list_item<token:variable>>',
'missing',
],
'as_expression.as_left_operand' => keyset[
'function_call_expression',
'literal',
'member_selection_expression',
'parenthesized_expression',
'prefix_unary_expression',
'subscript_expression',
'tuple_expression',
'variable',
],
'as_expression.as_operator' => keyset[
'token:as',
],
'as_expression.as_right_operand' => keyset[
'generic_type_specifier',
'like_type_specifier',
'nullable_type_specifier',
'shape_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
'type_constant',
],
'attributized_specifier.attributized_specifier_attribute_spec' => keyset[
'old_attribute_specification',
],
'attributized_specifier.attributized_specifier_type' => keyset[
'closure_type_specifier',
'darray_type_specifier',
'dictionary_type_specifier',
'generic_type_specifier',
'nullable_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
],
'awaitable_creation_expression.awaitable_async' => keyset[
'token:async',
],
'awaitable_creation_expression.awaitable_attribute_spec' => keyset[
'missing',
'old_attribute_specification',
],
'awaitable_creation_expression.awaitable_compound_statement' => keyset[
'compound_statement',
],
'binary_expression.binary_left_operand' => keyset[
'anonymous_function',
'as_expression',
'awaitable_creation_expression',
'binary_expression',
'cast_expression',
'collection_literal_expression',
'darray_intrinsic_expression',
'dictionary_intrinsic_expression',
'function_call_expression',
'function_pointer_expression',
'is_expression',
'isset_expression',
'keyset_intrinsic_expression',
'list_expression',
'literal',
'member_selection_expression',
'object_creation_expression',
'parenthesized_expression',
'pipe_variable',
'postfix_unary_expression',
'prefix_unary_expression',
'qualified_name',
'safe_member_selection_expression',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'tuple_expression',
'variable',
'varray_intrinsic_expression',
'vector_intrinsic_expression',
],
'binary_expression.binary_operator' => keyset[
'token:!=',
'token:!==',
'token:%',
'token:%=',
'token:&',
'token:&&',
'token:&=',
'token:*',
'token:**',
'token:**=',
'token:*=',
'token:+',
'token:+=',
'token:-',
'token:-=',
'token:.',
'token:.=',
'token:/',
'token:/=',
'token:<',
'token:<<',
'token:<<=',
'token:<=',
'token:<=>',
'token:=',
'token:==',
'token:===',
'token:>',
'token:>=',
'token:>>',
'token:>>=',
'token:?:',
'token:??',
'token:??=',
'token:^',
'token:^=',
'token:|',
'token:|=',
'token:|>',
'token:||',
],
'binary_expression.binary_right_operand' => keyset[
'anonymous_function',
'as_expression',
'awaitable_creation_expression',
'binary_expression',
'cast_expression',
'collection_literal_expression',
'conditional_expression',
'darray_intrinsic_expression',
'dictionary_intrinsic_expression',
'enum_class_label',
'eval_expression',
'function_call_expression',
'function_pointer_expression',
'inclusion_expression',
'is_expression',
'isset_expression',
'keyset_intrinsic_expression',
'lambda_expression',
'literal',
'member_selection_expression',
'nullable_as_expression',
'object_creation_expression',
'parenthesized_expression',
'pipe_variable',
'postfix_unary_expression',
'prefix_unary_expression',
'prefixed_string',
'qualified_name',
'safe_member_selection_expression',
'scope_resolution_expression',
'shape_expression',
'subscript_expression',
'token:name',
'tuple_expression',
'variable',
'varray_intrinsic_expression',
'vector_intrinsic_expression',
'xhp_expression',
'yield_expression',
],
'braced_expression.braced_expression_expression' => keyset[
'binary_expression',
'collection_literal_expression',
'function_call_expression',
'literal',
'member_selection_expression',
'object_creation_expression',
'prefix_unary_expression',
'token:name',
'variable',
'varray_intrinsic_expression',
],
'braced_expression.braced_expression_left_brace' => keyset[
'token:{',
],
'braced_expression.braced_expression_right_brace' => keyset[
'token:}',
],
'break_statement.break_keyword' => keyset[
'token:break',
],
'break_statement.break_semicolon' => keyset[
'token:;',
],
'case_label.case_colon' => keyset[
'token::',
],
'case_label.case_expression' => keyset[
'cast_expression',
'collection_literal_expression',
'function_call_expression',
'literal',
'object_creation_expression',
'prefix_unary_expression',
'scope_resolution_expression',
'token:name',
'variable',
'vector_intrinsic_expression',
],
'case_label.case_keyword' => keyset[
'token:case',
],
'cast_expression.cast_left_paren' => keyset[
'token:(',
],
'cast_expression.cast_operand' => keyset[
'collection_literal_expression',
'darray_intrinsic_expression',
'dictionary_intrinsic_expression',
'function_call_expression',
'literal',
'member_selection_expression',
'object_creation_expression',
'parenthesized_expression',
'prefix_unary_expression',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'variable',
'xhp_expression',
],
'cast_expression.cast_right_paren' => keyset[
'token:)',
],
'cast_expression.cast_type' => keyset[
'token:bool',
'token:float',
'token:int',
'token:string',
],
'catch_clause.catch_body' => keyset[
'compound_statement',
],
'catch_clause.catch_keyword' => keyset[
'token:catch',
],
'catch_clause.catch_left_paren' => keyset[
'token:(',
],
'catch_clause.catch_right_paren' => keyset[
'token:)',
],
'catch_clause.catch_type' => keyset[
'simple_type_specifier',
],
'catch_clause.catch_variable' => keyset[
'token:variable',
],
'classish_body.classish_body_elements' => keyset[
'list<const_declaration>',
'list<const_declaration|context_const_declaration|type_const_declaration>',
'list<const_declaration|methodish_declaration>',
'list<const_declaration|methodish_declaration|property_declaration>',
'list<const_declaration|methodish_declaration|property_declaration|type_const_declaration>',
'list<const_declaration|methodish_declaration|trait_use>',
'list<const_declaration|methodish_declaration|type_const_declaration>',
'list<const_declaration|property_declaration>',
'list<const_declaration|trait_use>',
'list<const_declaration|type_const_declaration>',
'list<context_const_declaration>',
'list<context_const_declaration|methodish_declaration>',
'list<context_const_declaration|type_const_declaration>',
'list<methodish_declaration>',
'list<methodish_declaration|property_declaration>',
'list<methodish_declaration|property_declaration|require_clause>',
'list<methodish_declaration|property_declaration|trait_use>',
'list<methodish_declaration|property_declaration|type_const_declaration>',
'list<methodish_declaration|property_declaration|xhp_class_attribute_declaration>',
'list<methodish_declaration|require_clause>',
'list<methodish_declaration|trait_use>',
'list<methodish_declaration|trait_use_conflict_resolution>',
'list<methodish_declaration|type_const_declaration>',
'list<methodish_declaration|xhp_children_declaration|xhp_class_attribute_declaration>',
'list<methodish_declaration|xhp_class_attribute_declaration>',
'list<property_declaration>',
'list<property_declaration|trait_use>',
'list<property_declaration|type_const_declaration>',
'list<property_declaration|xhp_class_attribute_declaration>',
'list<require_clause>',
'list<require_clause|trait_use>',
'list<trait_use>',
'list<trait_use_conflict_resolution>',
'list<trait_use|trait_use_conflict_resolution>',
'list<trait_use|type_const_declaration>',
'list<type_const_declaration>',
'list<xhp_children_declaration>',
'list<xhp_class_attribute_declaration>',
'missing',
],
'classish_body.classish_body_left_brace' => keyset[
'token:{',
],
'classish_body.classish_body_right_brace' => keyset[
'token:}',
],
'classish_declaration.classish_attribute' => keyset[
'missing',
'old_attribute_specification',
],
'classish_declaration.classish_body' => keyset[
'classish_body',
],
'classish_declaration.classish_extends_keyword' => keyset[
'missing',
'token:extends',
],
'classish_declaration.classish_extends_list' => keyset[
'list<list_item<generic_type_specifier>>',
'list<list_item<generic_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<simple_type_specifier>>',
'missing',
],
'classish_declaration.classish_implements_keyword' => keyset[
'missing',
'token:implements',
],
'classish_declaration.classish_implements_list' => keyset[
'list<list_item<generic_type_specifier>>',
'list<list_item<generic_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<simple_type_specifier>>',
'missing',
],
'classish_declaration.classish_keyword' => keyset[
'token:class',
'token:interface',
'token:trait',
],
'classish_declaration.classish_modifiers' => keyset[
'list<token:abstract>',
'list<token:abstract|token:final>',
'list<token:final>',
'missing',
],
'classish_declaration.classish_name' => keyset[
'token:XHP_class_name',
'token:name',
],
'classish_declaration.classish_type_parameters' => keyset[
'missing',
'type_parameters',
],
'classish_declaration.classish_where_clause' => keyset[
'missing',
],
'classish_declaration.classish_xhp' => keyset[
'missing',
],
'classname_type_specifier.classname_keyword' => keyset[
'token:classname',
],
'classname_type_specifier.classname_left_angle' => keyset[
'missing',
'token:<',
],
'classname_type_specifier.classname_right_angle' => keyset[
'missing',
'token:>',
],
'classname_type_specifier.classname_trailing_comma' => keyset[
'missing',
],
'classname_type_specifier.classname_type' => keyset[
'generic_type_specifier',
'missing',
'simple_type_specifier',
'type_constant',
],
'closure_parameter_type_specifier.closure_parameter_call_convention' =>
keyset[
'missing',
'token:inout',
],
'closure_parameter_type_specifier.closure_parameter_readonly' => keyset[
'missing',
],
'closure_parameter_type_specifier.closure_parameter_type' => keyset[
'attributized_specifier',
'closure_type_specifier',
'generic_type_specifier',
'nullable_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
'type_constant',
],
'closure_type_specifier.closure_colon' => keyset[
'token::',
],
'closure_type_specifier.closure_contexts' => keyset[
'contexts',
'missing',
],
'closure_type_specifier.closure_function_keyword' => keyset[
'token:function',
],
'closure_type_specifier.closure_inner_left_paren' => keyset[
'token:(',
],
'closure_type_specifier.closure_inner_right_paren' => keyset[
'token:)',
],
'closure_type_specifier.closure_outer_left_paren' => keyset[
'token:(',
],
'closure_type_specifier.closure_outer_right_paren' => keyset[
'token:)',
],
'closure_type_specifier.closure_parameter_list' => keyset[
'list<list_item<closure_parameter_type_specifier>>',
'list<list_item<closure_parameter_type_specifier>|list_item<variadic_parameter>>',
'list<list_item<variadic_parameter>>',
'missing',
],
'closure_type_specifier.closure_readonly_keyword' => keyset[
'missing',
'token:readonly',
],
'closure_type_specifier.closure_readonly_return' => keyset[
'missing',
],
'closure_type_specifier.closure_return_type' => keyset[
'closure_type_specifier',
'generic_type_specifier',
'like_type_specifier',
'nullable_type_specifier',
'simple_type_specifier',
'vector_type_specifier',
],
'collection_literal_expression.collection_literal_initializers' => keyset[
'list<list_item<anonymous_function>>',
'list<list_item<binary_expression>|list_item<subscript_expression>>',
'list<list_item<cast_expression>>',
'list<list_item<collection_literal_expression>>',
'list<list_item<collection_literal_expression>|list_item<function_call_expression>>',
'list<list_item<collection_literal_expression>|list_item<literal>>',
'list<list_item<collection_literal_expression>|list_item<variable>>',
'list<list_item<collection_literal_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>>',
'list<list_item<element_initializer>>',
'list<list_item<function_call_expression>>',
'list<list_item<function_call_expression>|list_item<literal>>',
'list<list_item<function_call_expression>|list_item<variable>>',
'list<list_item<lambda_expression>>',
'list<list_item<literal>>',
'list<list_item<literal>|list_item<object_creation_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<literal>|list_item<subscript_expression>>',
'list<list_item<literal>|list_item<variable>>',
'list<list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<member_selection_expression>|list_item<variable>>',
'list<list_item<object_creation_expression>>',
'list<list_item<prefix_unary_expression>>',
'list<list_item<scope_resolution_expression>>',
'list<list_item<shape_expression>>',
'list<list_item<subscript_expression>>',
'list<list_item<tuple_expression>>',
'list<list_item<variable>>',
'list<list_item<varray_intrinsic_expression>>',
'list<list_item<vector_intrinsic_expression>>',
'missing',
],
'collection_literal_expression.collection_literal_left_brace' => keyset[
'token:{',
],
'collection_literal_expression.collection_literal_name' => keyset[
'generic_type_specifier',
'simple_type_specifier',
],
'collection_literal_expression.collection_literal_right_brace' => keyset[
'token:}',
],
'compound_statement.compound_left_brace' => keyset[
'token:{',
],
'compound_statement.compound_right_brace' => keyset[
'token:}',
],
'compound_statement.compound_statements' => keyset[
'list<break_statement>',
'list<break_statement|continue_statement>',
'list<break_statement|echo_statement>',
'list<break_statement|echo_statement|expression_statement>',
'list<break_statement|expression_statement>',
'list<break_statement|expression_statement|if_statement>',
'list<compound_statement>',
'list<compound_statement|expression_statement>',
'list<compound_statement|expression_statement|try_statement>',
'list<compound_statement|expression_statement|while_statement>',
'list<concurrent_statement>',
'list<concurrent_statement|echo_statement>',
'list<concurrent_statement|echo_statement|expression_statement>',
'list<concurrent_statement|echo_statement|expression_statement|unset_statement>',
'list<concurrent_statement|expression_statement>',
'list<concurrent_statement|expression_statement|if_statement>',
'list<concurrent_statement|return_statement>',
'list<continue_statement>',
'list<continue_statement|echo_statement>',
'list<continue_statement|echo_statement|expression_statement>',
'list<continue_statement|expression_statement>',
'list<continue_statement|expression_statement|if_statement>',
'list<continue_statement|foreach_statement>',
'list<continue_statement|if_statement>',
'list<do_statement>',
'list<do_statement|echo_statement>',
'list<do_statement|echo_statement|expression_statement>',
'list<do_statement|echo_statement|expression_statement|if_statement>',
'list<do_statement|echo_statement|expression_statement|try_statement>',
'list<do_statement|expression_statement>',
'list<do_statement|expression_statement|if_statement>',
'list<do_statement|expression_statement|return_statement>',
'list<do_statement|expression_statement|unset_statement>',
'list<do_statement|if_statement|return_statement>',
'list<do_statement|return_statement>',
'list<echo_statement>',
'list<echo_statement|expression_statement>',
'list<echo_statement|expression_statement|for_statement>',
'list<echo_statement|expression_statement|for_statement|foreach_statement>',
'list<echo_statement|expression_statement|for_statement|foreach_statement|if_statement|try_statement>',
'list<echo_statement|expression_statement|for_statement|foreach_statement|try_statement>',
'list<echo_statement|expression_statement|for_statement|foreach_statement|try_statement|unset_statement>',
'list<echo_statement|expression_statement|for_statement|if_statement>',
'list<echo_statement|expression_statement|for_statement|if_statement|unset_statement>',
'list<echo_statement|expression_statement|for_statement|if_statement|while_statement>',
'list<echo_statement|expression_statement|for_statement|return_statement>',
'list<echo_statement|expression_statement|for_statement|try_statement>',
'list<echo_statement|expression_statement|for_statement|unset_statement>',
'list<echo_statement|expression_statement|for_statement|while_statement>',
'list<echo_statement|expression_statement|foreach_statement>',
'list<echo_statement|expression_statement|foreach_statement|if_statement>',
'list<echo_statement|expression_statement|foreach_statement|if_statement|unset_statement>',
'list<echo_statement|expression_statement|foreach_statement|try_statement>',
'list<echo_statement|expression_statement|foreach_statement|unset_statement>',
'list<echo_statement|expression_statement|foreach_statement|unset_statement|while_statement>',
'list<echo_statement|expression_statement|foreach_statement|while_statement>',
'list<echo_statement|expression_statement|if_statement>',
'list<echo_statement|expression_statement|if_statement|return_statement>',
'list<echo_statement|expression_statement|if_statement|switch_statement>',
'list<echo_statement|expression_statement|if_statement|switch_statement|unset_statement>',
'list<echo_statement|expression_statement|if_statement|try_statement>',
'list<echo_statement|expression_statement|if_statement|unset_statement>',
'list<echo_statement|expression_statement|if_statement|while_statement>',
'list<echo_statement|expression_statement|return_statement>',
'list<echo_statement|expression_statement|return_statement|try_statement>',
'list<echo_statement|expression_statement|switch_statement>',
'list<echo_statement|expression_statement|throw_statement>',
'list<echo_statement|expression_statement|try_statement>',
'list<echo_statement|expression_statement|try_statement|unset_statement>',
'list<echo_statement|expression_statement|try_statement|using_statement_block_scoped>',
'list<echo_statement|expression_statement|unset_statement>',
'list<echo_statement|expression_statement|using_statement_block_scoped>',
'list<echo_statement|expression_statement|using_statement_block_scoped|while_statement>',
'list<echo_statement|expression_statement|using_statement_function_scoped>',
'list<echo_statement|expression_statement|while_statement>',
'list<echo_statement|for_statement>',
'list<echo_statement|for_statement|if_statement>',
'list<echo_statement|for_statement|return_statement>',
'list<echo_statement|foreach_statement>',
'list<echo_statement|if_statement>',
'list<echo_statement|if_statement|return_statement>',
'list<echo_statement|if_statement|try_statement>',
'list<echo_statement|return_statement>',
'list<echo_statement|return_statement|try_statement>',
'list<echo_statement|switch_statement>',
'list<echo_statement|throw_statement>',
'list<echo_statement|throw_statement|using_statement_function_scoped>',
'list<echo_statement|try_statement>',
'list<echo_statement|unset_statement>',
'list<echo_statement|using_statement_block_scoped>',
'list<echo_statement|using_statement_function_scoped>',
'list<echo_statement|while_statement>',
'list<echo_statement|yield_break_statement>',
'list<expression_statement>',
'list<expression_statement|for_statement>',
'list<expression_statement|for_statement|foreach_statement>',
'list<expression_statement|for_statement|foreach_statement|if_statement>',
'list<expression_statement|for_statement|if_statement>',
'list<expression_statement|for_statement|if_statement|return_statement>',
'list<expression_statement|for_statement|if_statement|try_statement>',
'list<expression_statement|for_statement|if_statement|try_statement|while_statement>',
'list<expression_statement|for_statement|if_statement|while_statement>',
'list<expression_statement|for_statement|return_statement>',
'list<expression_statement|for_statement|switch_statement>',
'list<expression_statement|for_statement|throw_statement>',
'list<expression_statement|for_statement|try_statement>',
'list<expression_statement|for_statement|unset_statement>',
'list<expression_statement|for_statement|while_statement>',
'list<expression_statement|foreach_statement>',
'list<expression_statement|foreach_statement|if_statement>',
'list<expression_statement|foreach_statement|if_statement|return_statement>',
'list<expression_statement|foreach_statement|if_statement|unset_statement>',
'list<expression_statement|foreach_statement|if_statement|while_statement>',
'list<expression_statement|foreach_statement|return_statement>',
'list<expression_statement|foreach_statement|return_statement|try_statement>',
'list<expression_statement|foreach_statement|return_statement|unset_statement>',
'list<expression_statement|foreach_statement|return_statement|while_statement>',
'list<expression_statement|foreach_statement|try_statement>',
'list<expression_statement|foreach_statement|try_statement|unset_statement>',
'list<expression_statement|foreach_statement|unset_statement>',
'list<expression_statement|foreach_statement|while_statement>',
'list<expression_statement|if_statement>',
'list<expression_statement|if_statement|return_statement>',
'list<expression_statement|if_statement|return_statement|switch_statement>',
'list<expression_statement|if_statement|return_statement|try_statement>',
'list<expression_statement|if_statement|return_statement|try_statement|unset_statement>',
'list<expression_statement|if_statement|return_statement|unset_statement>',
'list<expression_statement|if_statement|return_statement|while_statement>',
'list<expression_statement|if_statement|switch_statement>',
'list<expression_statement|if_statement|try_statement>',
'list<expression_statement|if_statement|while_statement>',
'list<expression_statement|return_statement>',
'list<expression_statement|return_statement|switch_statement>',
'list<expression_statement|return_statement|throw_statement>',
'list<expression_statement|return_statement|try_statement>',
'list<expression_statement|return_statement|unset_statement>',
'list<expression_statement|return_statement|while_statement>',
'list<expression_statement|switch_statement>',
'list<expression_statement|throw_statement>',
'list<expression_statement|throw_statement|try_statement>',
'list<expression_statement|try_statement>',
'list<expression_statement|try_statement|unset_statement>',
'list<expression_statement|try_statement|while_statement>',
'list<expression_statement|unset_statement>',
'list<expression_statement|using_statement_block_scoped>',
'list<expression_statement|using_statement_block_scoped|using_statement_function_scoped>',
'list<expression_statement|using_statement_function_scoped>',
'list<expression_statement|while_statement>',
'list<expression_statement|yield_break_statement>',
'list<for_statement>',
'list<for_statement|if_statement>',
'list<for_statement|if_statement|return_statement>',
'list<for_statement|return_statement>',
'list<for_statement|throw_statement>',
'list<for_statement|try_statement>',
'list<foreach_statement>',
'list<foreach_statement|if_statement>',
'list<foreach_statement|if_statement|return_statement>',
'list<foreach_statement|return_statement>',
'list<foreach_statement|try_statement>',
'list<if_statement>',
'list<if_statement|return_statement>',
'list<if_statement|switch_statement>',
'list<if_statement|throw_statement>',
'list<if_statement|try_statement>',
'list<if_statement|unset_statement>',
'list<if_statement|while_statement>',
'list<return_statement>',
'list<return_statement|switch_statement>',
'list<return_statement|throw_statement>',
'list<return_statement|try_statement>',
'list<return_statement|unset_statement>',
'list<return_statement|using_statement_block_scoped>',
'list<return_statement|using_statement_function_scoped>',
'list<return_statement|while_statement>',
'list<switch_statement>',
'list<throw_statement>',
'list<throw_statement|try_statement>',
'list<throw_statement|using_statement_function_scoped>',
'list<try_statement>',
'list<try_statement|unset_statement>',
'list<unset_statement>',
'list<using_statement_block_scoped>',
'list<using_statement_block_scoped|using_statement_function_scoped>',
'list<using_statement_function_scoped>',
'list<while_statement>',
'list<yield_break_statement>',
'missing',
],
'concurrent_statement.concurrent_keyword' => keyset[
'token:concurrent',
],
'concurrent_statement.concurrent_statement' => keyset[
'compound_statement',
],
'conditional_expression.conditional_alternative' => keyset[
'binary_expression',
'cast_expression',
'collection_literal_expression',
'darray_intrinsic_expression',
'dictionary_intrinsic_expression',
'function_call_expression',
'function_pointer_expression',
'lambda_expression',
'literal',
'member_selection_expression',
'object_creation_expression',
'parenthesized_expression',
'prefix_unary_expression',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'variable',
'varray_intrinsic_expression',
'vector_intrinsic_expression',
],
'conditional_expression.conditional_colon' => keyset[
'token::',
],
'conditional_expression.conditional_consequence' => keyset[
'binary_expression',
'cast_expression',
'collection_literal_expression',
'darray_intrinsic_expression',
'dictionary_intrinsic_expression',
'function_call_expression',
'function_pointer_expression',
'keyset_intrinsic_expression',
'lambda_expression',
'literal',
'member_selection_expression',
'object_creation_expression',
'parenthesized_expression',
'prefix_unary_expression',
'scope_resolution_expression',
'shape_expression',
'subscript_expression',
'token:name',
'variable',
'varray_intrinsic_expression',
],
'conditional_expression.conditional_question' => keyset[
'token:?',
],
'conditional_expression.conditional_test' => keyset[
'binary_expression',
'function_call_expression',
'is_expression',
'isset_expression',
'literal',
'member_selection_expression',
'parenthesized_expression',
'pipe_variable',
'prefix_unary_expression',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'variable',
],
'const_declaration.const_attribute_spec' => keyset[
'missing',
'old_attribute_specification',
],
'const_declaration.const_declarators' => keyset[
'list<list_item<constant_declarator>>',
],
'const_declaration.const_keyword' => keyset[
'token:const',
],
'const_declaration.const_modifiers' => keyset[
'list<token:abstract>',
'missing',
],
'const_declaration.const_semicolon' => keyset[
'token:;',
],
'const_declaration.const_type_specifier' => keyset[
'classname_type_specifier',
'darray_type_specifier',
'dictionary_type_specifier',
'generic_type_specifier',
'keyset_type_specifier',
'missing',
'nullable_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
'type_constant',
'varray_type_specifier',
'vector_type_specifier',
],
'constant_declarator.constant_declarator_initializer' => keyset[
'missing',
'simple_initializer',
],
'constant_declarator.constant_declarator_name' => keyset[
'token:name',
],
'constructor_call.constructor_call_argument_list' => keyset[
'list<list_item<anonymous_function>>',
'list<list_item<anonymous_function>|list_item<literal>>',
'list<list_item<binary_expression>>',
'list<list_item<binary_expression>|list_item<darray_intrinsic_expression>>',
'list<list_item<binary_expression>|list_item<function_call_expression>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<scope_resolution_expression>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<scope_resolution_expression>>',
'list<list_item<binary_expression>|list_item<variable>>',
'list<list_item<cast_expression>>',
'list<list_item<collection_literal_expression>>',
'list<list_item<conditional_expression>>',
'list<list_item<conditional_expression>|list_item<function_call_expression>>',
'list<list_item<darray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<darray_intrinsic_expression>|list_item<variable>>',
'list<list_item<decorated_expression>>',
'list<list_item<decorated_expression>|list_item<variable>>',
'list<list_item<dictionary_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<literal>>',
'list<list_item<function_call_expression>>',
'list<list_item<function_call_expression>|list_item<literal>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<function_call_expression>|list_item<member_selection_expression>>',
'list<list_item<function_call_expression>|list_item<scope_resolution_expression>>',
'list<list_item<function_call_expression>|list_item<variable>>',
'list<list_item<function_pointer_expression>>',
'list<list_item<keyset_intrinsic_expression>>',
'list<list_item<lambda_expression>>',
'list<list_item<lambda_expression>|list_item<literal>>',
'list<list_item<literal>>',
'list<list_item<literal>|list_item<object_creation_expression>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<scope_resolution_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<literal>|list_item<qualified_name>>',
'list<list_item<literal>|list_item<scope_resolution_expression>>',
'list<list_item<literal>|list_item<scope_resolution_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<token:name>>',
'list<list_item<literal>|list_item<variable>>',
'list<list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<vector_intrinsic_expression>>',
'list<list_item<member_selection_expression>>',
'list<list_item<member_selection_expression>|list_item<variable>>',
'list<list_item<object_creation_expression>>',
'list<list_item<object_creation_expression>|list_item<prefix_unary_expression>>',
'list<list_item<object_creation_expression>|list_item<scope_resolution_expression>>',
'list<list_item<object_creation_expression>|list_item<variable>>',
'list<list_item<parenthesized_expression>>',
'list<list_item<prefix_unary_expression>>',
'list<list_item<prefix_unary_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<scope_resolution_expression>>',
'list<list_item<scope_resolution_expression>|list_item<token:name>>',
'list<list_item<scope_resolution_expression>|list_item<variable>>',
'list<list_item<shape_expression>>',
'list<list_item<subscript_expression>>',
'list<list_item<subscript_expression>|list_item<variable>>',
'list<list_item<token:name>>',
'list<list_item<token:name>|list_item<variable>>',
'list<list_item<tuple_expression>>',
'list<list_item<variable>>',
'list<list_item<varray_intrinsic_expression>>',
'list<list_item<vector_intrinsic_expression>>',
'missing',
],
'constructor_call.constructor_call_left_paren' => keyset[
'missing',
'token:(',
],
'constructor_call.constructor_call_right_paren' => keyset[
'missing',
'token:)',
],
'constructor_call.constructor_call_type' => keyset[
'generic_type_specifier',
'qualified_name',
'scope_resolution_expression',
'simple_type_specifier',
'token:name',
'token:parent',
'token:self',
'token:static',
'variable',
],
'context_alias_declaration.ctx_alias_as_constraint' => keyset[
'list<context_constraint>',
],
'context_alias_declaration.ctx_alias_attribute_spec' => keyset[
'missing',
],
'context_alias_declaration.ctx_alias_context' => keyset[
'missing',
],
'context_alias_declaration.ctx_alias_equal' => keyset[
'missing',
],
'context_alias_declaration.ctx_alias_generic_parameter' => keyset[
'missing',
],
'context_alias_declaration.ctx_alias_keyword' => keyset[
'token:newctx',
],
'context_alias_declaration.ctx_alias_name' => keyset[
'token:name',
],
'context_alias_declaration.ctx_alias_semicolon' => keyset[
'token:;',
],
'context_const_declaration.context_const_const_keyword' => keyset[
'token:const',
],
'context_const_declaration.context_const_constraint' => keyset[
'list<context_constraint>',
'missing',
],
'context_const_declaration.context_const_ctx_keyword' => keyset[
'token:ctx',
],
'context_const_declaration.context_const_ctx_list' => keyset[
'contexts',
'missing',
],
'context_const_declaration.context_const_equal' => keyset[
'missing',
'token:=',
],
'context_const_declaration.context_const_modifiers' => keyset[
'list<token:abstract>',
'missing',
],
'context_const_declaration.context_const_name' => keyset[
'token:name',
],
'context_const_declaration.context_const_semicolon' => keyset[
'token:;',
],
'context_const_declaration.context_const_type_parameters' => keyset[
'missing',
],
'context_constraint.ctx_constraint_ctx_list' => keyset[
'contexts',
],
'context_constraint.ctx_constraint_keyword' => keyset[
'token:as',
'token:super',
],
'contexts.contexts_left_bracket' => keyset[
'token:[',
],
'contexts.contexts_right_bracket' => keyset[
'token:]',
],
'contexts.contexts_types' => keyset[
'list<list_item<function_ctx_type_specifier>>',
'list<list_item<function_ctx_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<function_ctx_type_specifier>|list_item<simple_type_specifier>|list_item<type_constant>>',
'list<list_item<simple_type_specifier>>',
'list<list_item<simple_type_specifier>|list_item<type_constant>>',
'list<list_item<type_constant>>',
'missing',
],
'continue_statement.continue_keyword' => keyset[
'token:continue',
],
'continue_statement.continue_semicolon' => keyset[
'token:;',
],
'darray_intrinsic_expression.darray_intrinsic_explicit_type' => keyset[
'missing',
'type_arguments',
],
'darray_intrinsic_expression.darray_intrinsic_keyword' => keyset[
'token:darray',
],
'darray_intrinsic_expression.darray_intrinsic_left_bracket' => keyset[
'token:[',
],
'darray_intrinsic_expression.darray_intrinsic_members' => keyset[
'list<list_item<element_initializer>>',
'missing',
],
'darray_intrinsic_expression.darray_intrinsic_right_bracket' => keyset[
'token:]',
],
'darray_type_specifier.darray_comma' => keyset[
'token:,',
],
'darray_type_specifier.darray_key' => keyset[
'classname_type_specifier',
'simple_type_specifier',
],
'darray_type_specifier.darray_keyword' => keyset[
'token:darray',
],
'darray_type_specifier.darray_left_angle' => keyset[
'token:<',
],
'darray_type_specifier.darray_right_angle' => keyset[
'token:>',
],
'darray_type_specifier.darray_trailing_comma' => keyset[
'missing',
],
'darray_type_specifier.darray_value' => keyset[
'attributized_specifier',
'classname_type_specifier',
'closure_type_specifier',
'darray_type_specifier',
'generic_type_specifier',
'nullable_type_specifier',
'shape_type_specifier',
'simple_type_specifier',
'varray_type_specifier',
],
'decorated_expression.decorated_expression_decorator' => keyset[
'token:...',
'token:inout',
],
'decorated_expression.decorated_expression_expression' => keyset[
'function_call_expression',
'scope_resolution_expression',
'subscript_expression',
'token:variable',
'variable',
'varray_intrinsic_expression',
'vector_intrinsic_expression',
],
'default_label.default_colon' => keyset[
'token::',
],
'default_label.default_keyword' => keyset[
'token:default',
],
'dictionary_intrinsic_expression.dictionary_intrinsic_explicit_type' =>
keyset[
'missing',
'type_arguments',
],
'dictionary_intrinsic_expression.dictionary_intrinsic_keyword' => keyset[
'token:dict',
],
'dictionary_intrinsic_expression.dictionary_intrinsic_left_bracket' => keyset[
'token:[',
],
'dictionary_intrinsic_expression.dictionary_intrinsic_members' => keyset[
'list<list_item<element_initializer>>',
'missing',
],
'dictionary_intrinsic_expression.dictionary_intrinsic_right_bracket' =>
keyset[
'token:]',
],
'dictionary_type_specifier.dictionary_type_keyword' => keyset[
'token:dict',
],
'dictionary_type_specifier.dictionary_type_left_angle' => keyset[
'token:<',
],
'dictionary_type_specifier.dictionary_type_members' => keyset[
'list<list_item<classname_type_specifier>>',
'list<list_item<classname_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<dictionary_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<generic_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<keyset_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<nullable_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<shape_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<simple_type_specifier>>',
'list<list_item<simple_type_specifier>|list_item<tuple_type_specifier>>',
'list<list_item<simple_type_specifier>|list_item<varray_type_specifier>>',
'list<list_item<simple_type_specifier>|list_item<vector_type_specifier>>',
],
'dictionary_type_specifier.dictionary_type_right_angle' => keyset[
'token:>',
],
'do_statement.do_body' => keyset[
'compound_statement',
'expression_statement',
],
'do_statement.do_condition' => keyset[
'binary_expression',
'literal',
'subscript_expression',
'variable',
],
'do_statement.do_keyword' => keyset[
'token:do',
],
'do_statement.do_left_paren' => keyset[
'token:(',
],
'do_statement.do_right_paren' => keyset[
'token:)',
],
'do_statement.do_semicolon' => keyset[
'token:;',
],
'do_statement.do_while_keyword' => keyset[
'token:while',
],
'echo_statement.echo_expressions' => keyset[
'list<list_item<binary_expression>>',
'list<list_item<binary_expression>|list_item<conditional_expression>|list_item<literal>>',
'list<list_item<binary_expression>|list_item<function_call_expression>|list_item<literal>>',
'list<list_item<binary_expression>|list_item<function_call_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<function_call_expression>|list_item<scope_resolution_expression>>',
'list<list_item<binary_expression>|list_item<literal>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<subscript_expression>>',
'list<list_item<binary_expression>|list_item<token:name>>',
'list<list_item<cast_expression>>',
'list<list_item<cast_expression>|list_item<literal>>',
'list<list_item<conditional_expression>>',
'list<list_item<conditional_expression>|list_item<literal>>',
'list<list_item<conditional_expression>|list_item<literal>|list_item<member_selection_expression>>',
'list<list_item<conditional_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<conditional_expression>|list_item<token:name>>',
'list<list_item<enum_class_label>>',
'list<list_item<function_call_expression>>',
'list<list_item<function_call_expression>|list_item<literal>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<member_selection_expression>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<parenthesized_expression>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<token:name>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<function_call_expression>|list_item<scope_resolution_expression>>',
'list<list_item<function_call_expression>|list_item<token:name>>',
'list<list_item<literal>>',
'list<list_item<literal>|list_item<member_selection_expression>>',
'list<list_item<literal>|list_item<parenthesized_expression>>',
'list<list_item<literal>|list_item<postfix_unary_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<literal>|list_item<safe_member_selection_expression>>',
'list<list_item<literal>|list_item<scope_resolution_expression>>',
'list<list_item<literal>|list_item<scope_resolution_expression>|list_item<token:name>>',
'list<list_item<literal>|list_item<subscript_expression>>',
'list<list_item<literal>|list_item<subscript_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<token:name>>',
'list<list_item<literal>|list_item<token:name>|list_item<variable>>',
'list<list_item<literal>|list_item<variable>>',
'list<list_item<member_selection_expression>>',
'list<list_item<member_selection_expression>|list_item<token:name>>',
'list<list_item<parenthesized_expression>>',
'list<list_item<postfix_unary_expression>>',
'list<list_item<prefix_unary_expression>>',
'list<list_item<qualified_name>>',
'list<list_item<scope_resolution_expression>>',
'list<list_item<subscript_expression>>',
'list<list_item<subscript_expression>|list_item<token:name>>',
'list<list_item<token:name>>',
'list<list_item<variable>>',
'list<list_item<xhp_expression>>',
],
'echo_statement.echo_keyword' => keyset[
'token:echo',
],
'echo_statement.echo_semicolon' => keyset[
'token:;',
],
'element_initializer.element_arrow' => keyset[
'token:=>',
],
'element_initializer.element_key' => keyset[
'as_expression',
'binary_expression',
'cast_expression',
'function_call_expression',
'function_pointer_expression',
'literal',
'parenthesized_expression',
'prefix_unary_expression',
'qualified_name',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'variable',
'varray_intrinsic_expression',
],
'element_initializer.element_value' => keyset[
'anonymous_function',
'awaitable_creation_expression',
'binary_expression',
'cast_expression',
'collection_literal_expression',
'conditional_expression',
'darray_intrinsic_expression',
'dictionary_intrinsic_expression',
'function_call_expression',
'function_pointer_expression',
'isset_expression',
'keyset_intrinsic_expression',
'lambda_expression',
'literal',
'member_selection_expression',
'object_creation_expression',
'parenthesized_expression',
'prefix_unary_expression',
'qualified_name',
'scope_resolution_expression',
'shape_expression',
'subscript_expression',
'token:name',
'tuple_expression',
'variable',
'varray_intrinsic_expression',
'vector_intrinsic_expression',
],
'else_clause.else_keyword' => keyset[
'token:else',
],
'else_clause.else_statement' => keyset[
'compound_statement',
'echo_statement',
'expression_statement',
'if_statement',
'return_statement',
],
'elseif_clause.elseif_condition' => keyset[
'binary_expression',
'function_call_expression',
'literal',
'variable',
],
'elseif_clause.elseif_keyword' => keyset[
'token:elseif',
],
'elseif_clause.elseif_left_paren' => keyset[
'token:(',
],
'elseif_clause.elseif_right_paren' => keyset[
'token:)',
],
'elseif_clause.elseif_statement' => keyset[
'compound_statement',
'expression_statement',
],
'end_of_file.end_of_file_token' => keyset[
'token:end_of_file',
],
'enum_class_declaration.enum_class_attribute_spec' => keyset[
'missing',
'old_attribute_specification',
],
'enum_class_declaration.enum_class_base' => keyset[
'generic_type_specifier',
'simple_type_specifier',
],
'enum_class_declaration.enum_class_class_keyword' => keyset[
'token:class',
],
'enum_class_declaration.enum_class_colon' => keyset[
'token::',
],
'enum_class_declaration.enum_class_elements' => keyset[
'list<enum_class_enumerator>',
'missing',
],
'enum_class_declaration.enum_class_enum_keyword' => keyset[
'token:enum',
],
'enum_class_declaration.enum_class_extends' => keyset[
'missing',
'token:extends',
],
'enum_class_declaration.enum_class_extends_list' => keyset[
'list<list_item<simple_type_specifier>>',
'missing',
],
'enum_class_declaration.enum_class_left_brace' => keyset[
'token:{',
],
'enum_class_declaration.enum_class_modifiers' => keyset[
'list<token:abstract>',
'missing',
],
'enum_class_declaration.enum_class_name' => keyset[
'token:name',
],
'enum_class_declaration.enum_class_right_brace' => keyset[
'token:}',
],
'enum_class_enumerator.enum_class_enumerator_initializer' => keyset[
'missing',
'simple_initializer',
],
'enum_class_enumerator.enum_class_enumerator_modifiers' => keyset[
'list<token:abstract>',
'missing',
],
'enum_class_enumerator.enum_class_enumerator_name' => keyset[
'token:name',
],
'enum_class_enumerator.enum_class_enumerator_semicolon' => keyset[
'token:;',
],
'enum_class_enumerator.enum_class_enumerator_type' => keyset[
'generic_type_specifier',
'simple_type_specifier',
],
'enum_declaration.enum_attribute_spec' => keyset[
'missing',
'old_attribute_specification',
],
'enum_declaration.enum_base' => keyset[
'classname_type_specifier',
'generic_type_specifier',
'simple_type_specifier',
],
'enum_declaration.enum_colon' => keyset[
'token::',
],
'enum_declaration.enum_enumerators' => keyset[
'list<enumerator>',
'missing',
],
'enum_declaration.enum_keyword' => keyset[
'token:enum',
],
'enum_declaration.enum_left_brace' => keyset[
'token:{',
],
'enum_declaration.enum_name' => keyset[
'token:name',
],
'enum_declaration.enum_right_brace' => keyset[
'token:}',
],
'enum_declaration.enum_type' => keyset[
'missing',
'type_constraint',
],
'enum_declaration.enum_use_clauses' => keyset[
'list<enum_use>',
'missing',
],
'enum_use.enum_use_keyword' => keyset[
'token:use',
],
'enum_use.enum_use_names' => keyset[
'list<list_item<simple_type_specifier>>',
],
'enum_use.enum_use_semicolon' => keyset[
'token:;',
],
'enumerator.enumerator_equal' => keyset[
'token:=',
],
'enumerator.enumerator_name' => keyset[
'token:name',
],
'enumerator.enumerator_semicolon' => keyset[
'token:;',
],
'enumerator.enumerator_value' => keyset[
'binary_expression',
'literal',
'scope_resolution_expression',
'token:name',
],
'eval_expression.eval_argument' => keyset[
'binary_expression',
'function_call_expression',
'literal',
'variable',
],
'eval_expression.eval_keyword' => keyset[
'token:eval',
],
'eval_expression.eval_left_paren' => keyset[
'token:(',
],
'eval_expression.eval_right_paren' => keyset[
'token:)',
],
'expression_statement.expression_statement_expression' => keyset[
'anonymous_function',
'as_expression',
'binary_expression',
'cast_expression',
'conditional_expression',
'darray_intrinsic_expression',
'dictionary_intrinsic_expression',
'eval_expression',
'function_call_expression',
'function_pointer_expression',
'inclusion_expression',
'is_expression',
'isset_expression',
'lambda_expression',
'literal',
'member_selection_expression',
'missing',
'object_creation_expression',
'postfix_unary_expression',
'prefix_unary_expression',
'safe_member_selection_expression',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'variable',
'varray_intrinsic_expression',
'xhp_expression',
'yield_expression',
],
'expression_statement.expression_statement_semicolon' => keyset[
'token:;',
],
'field_initializer.field_initializer_arrow' => keyset[
'token:=>',
],
'field_initializer.field_initializer_name' => keyset[
'literal',
'scope_resolution_expression',
],
'field_initializer.field_initializer_value' => keyset[
'binary_expression',
'darray_intrinsic_expression',
'dictionary_intrinsic_expression',
'function_call_expression',
'function_pointer_expression',
'keyset_intrinsic_expression',
'lambda_expression',
'literal',
'object_creation_expression',
'scope_resolution_expression',
'shape_expression',
'subscript_expression',
'variable',
'varray_intrinsic_expression',
'vector_intrinsic_expression',
],
'field_specifier.field_arrow' => keyset[
'token:=>',
],
'field_specifier.field_name' => keyset[
'literal',
'scope_resolution_expression',
],
'field_specifier.field_question' => keyset[
'missing',
'token:?',
],
'field_specifier.field_type' => keyset[
'attributized_specifier',
'closure_type_specifier',
'dictionary_type_specifier',
'generic_type_specifier',
'nullable_type_specifier',
'shape_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
'type_constant',
'varray_type_specifier',
'vector_type_specifier',
],
'file_attribute_specification.file_attribute_specification_attributes' =>
keyset[
'list<list_item<constructor_call>>',
],
'file_attribute_specification.file_attribute_specification_colon' => keyset[
'token::',
],
'file_attribute_specification.file_attribute_specification_keyword' => keyset[
'token:file',
],
'file_attribute_specification.file_attribute_specification_left_double_angle' =>
keyset[
'token:<<',
],
'file_attribute_specification.file_attribute_specification_right_double_angle' =>
keyset[
'token:>>',
],
'finally_clause.finally_body' => keyset[
'compound_statement',
],
'finally_clause.finally_keyword' => keyset[
'token:finally',
],
'for_statement.for_body' => keyset[
'compound_statement',
'echo_statement',
'expression_statement',
'for_statement',
'unset_statement',
],
'for_statement.for_control' => keyset[
'binary_expression',
'conditional_expression',
'function_call_expression',
'missing',
'prefix_unary_expression',
'variable',
],
'for_statement.for_end_of_loop' => keyset[
'list<list_item<binary_expression>>',
'list<list_item<function_call_expression>>',
'list<list_item<postfix_unary_expression>>',
'list<list_item<prefix_unary_expression>>',
'missing',
],
'for_statement.for_first_semicolon' => keyset[
'token:;',
],
'for_statement.for_initializer' => keyset[
'list<list_item<binary_expression>>',
'list<list_item<function_call_expression>>',
'missing',
],
'for_statement.for_keyword' => keyset[
'token:for',
],
'for_statement.for_left_paren' => keyset[
'token:(',
],
'for_statement.for_right_paren' => keyset[
'token:)',
],
'for_statement.for_second_semicolon' => keyset[
'token:;',
],
'foreach_statement.foreach_arrow' => keyset[
'missing',
'token:=>',
],
'foreach_statement.foreach_as' => keyset[
'token:as',
],
'foreach_statement.foreach_await_keyword' => keyset[
'missing',
'token:await',
],
'foreach_statement.foreach_body' => keyset[
'compound_statement',
'echo_statement',
'expression_statement',
'foreach_statement',
],
'foreach_statement.foreach_collection' => keyset[
'anonymous_function',
'collection_literal_expression',
'darray_intrinsic_expression',
'function_call_expression',
'member_selection_expression',
'object_creation_expression',
'parenthesized_expression',
'prefix_unary_expression',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'variable',
'varray_intrinsic_expression',
'vector_intrinsic_expression',
],
'foreach_statement.foreach_key' => keyset[
'list_expression',
'member_selection_expression',
'missing',
'subscript_expression',
'variable',
],
'foreach_statement.foreach_keyword' => keyset[
'token:foreach',
],
'foreach_statement.foreach_left_paren' => keyset[
'token:(',
],
'foreach_statement.foreach_right_paren' => keyset[
'token:)',
],
'foreach_statement.foreach_value' => keyset[
'list_expression',
'member_selection_expression',
'scope_resolution_expression',
'subscript_expression',
'variable',
],
'function_call_expression.function_call_argument_list' => keyset[
'list<list_item<anonymous_function>>',
'list<list_item<anonymous_function>|list_item<decorated_expression>>',
'list<list_item<anonymous_function>|list_item<decorated_expression>|list_item<literal>|list_item<member_selection_expression>|list_item<prefix_unary_expression>>',
'list<list_item<anonymous_function>|list_item<decorated_expression>|list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<anonymous_function>|list_item<decorated_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<anonymous_function>|list_item<decorated_expression>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<anonymous_function>|list_item<function_call_expression>>',
'list<list_item<anonymous_function>|list_item<literal>>',
'list<list_item<anonymous_function>|list_item<literal>|list_item<variable>>',
'list<list_item<anonymous_function>|list_item<pipe_variable>>',
'list<list_item<anonymous_function>|list_item<token:name>>',
'list<list_item<anonymous_function>|list_item<token:name>|list_item<variable>>',
'list<list_item<anonymous_function>|list_item<variable>>',
'list<list_item<anonymous_function>|list_item<varray_intrinsic_expression>>',
'list<list_item<as_expression>>',
'list<list_item<as_expression>|list_item<variable>>',
'list<list_item<awaitable_creation_expression>>',
'list<list_item<awaitable_creation_expression>|list_item<function_call_expression>>',
'list<list_item<binary_expression>>',
'list<list_item<binary_expression>|list_item<cast_expression>>',
'list<list_item<binary_expression>|list_item<cast_expression>|list_item<literal>>',
'list<list_item<binary_expression>|list_item<cast_expression>|list_item<scope_resolution_expression>>',
'list<list_item<binary_expression>|list_item<collection_literal_expression>>',
'list<list_item<binary_expression>|list_item<conditional_expression>|list_item<literal>>',
'list<list_item<binary_expression>|list_item<darray_intrinsic_expression>>',
'list<list_item<binary_expression>|list_item<darray_intrinsic_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<darray_intrinsic_expression>|list_item<token:name>>',
'list<list_item<binary_expression>|list_item<decorated_expression>>',
'list<list_item<binary_expression>|list_item<decorated_expression>|list_item<function_call_expression>>',
'list<list_item<binary_expression>|list_item<decorated_expression>|list_item<literal>>',
'list<list_item<binary_expression>|list_item<decorated_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<decorated_expression>|list_item<literal>|list_item<subscript_expression>>',
'list<list_item<binary_expression>|list_item<decorated_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<decorated_expression>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<dictionary_intrinsic_expression>>',
'list<list_item<binary_expression>|list_item<function_call_expression>>',
'list<list_item<binary_expression>|list_item<function_call_expression>|list_item<literal>>',
'list<list_item<binary_expression>|list_item<function_call_expression>|list_item<token:name>>',
'list<list_item<binary_expression>|list_item<function_call_expression>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<function_pointer_expression>>',
'list<list_item<binary_expression>|list_item<function_pointer_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<binary_expression>|list_item<keyset_intrinsic_expression>>',
'list<list_item<binary_expression>|list_item<lambda_expression>>',
'list<list_item<binary_expression>|list_item<literal>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<qualified_name>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<subscript_expression>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<token:name>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<token:name>|list_item<varray_intrinsic_expression>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<binary_expression>|list_item<object_creation_expression>>',
'list<list_item<binary_expression>|list_item<pipe_variable>>',
'list<list_item<binary_expression>|list_item<postfix_unary_expression>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<prefix_unary_expression>>',
'list<list_item<binary_expression>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<qualified_name>>',
'list<list_item<binary_expression>|list_item<scope_resolution_expression>>',
'list<list_item<binary_expression>|list_item<scope_resolution_expression>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<token:name>>',
'list<list_item<binary_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<binary_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<cast_expression>>',
'list<list_item<cast_expression>|list_item<decorated_expression>|list_item<variable>>',
'list<list_item<cast_expression>|list_item<function_call_expression>>',
'list<list_item<cast_expression>|list_item<function_call_expression>|list_item<literal>|list_item<member_selection_expression>|list_item<qualified_name>|list_item<variable>>',
'list<list_item<cast_expression>|list_item<function_call_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<cast_expression>|list_item<literal>>',
'list<list_item<cast_expression>|list_item<literal>|list_item<token:name>>',
'list<list_item<cast_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<cast_expression>|list_item<parenthesized_expression>>',
'list<list_item<cast_expression>|list_item<scope_resolution_expression>|list_item<token:name>>',
'list<list_item<cast_expression>|list_item<subscript_expression>>',
'list<list_item<cast_expression>|list_item<variable>>',
'list<list_item<collection_literal_expression>>',
'list<list_item<collection_literal_expression>|list_item<darray_intrinsic_expression>|list_item<function_pointer_expression>>',
'list<list_item<collection_literal_expression>|list_item<darray_intrinsic_expression>|list_item<literal>>',
'list<list_item<collection_literal_expression>|list_item<dictionary_intrinsic_expression>>',
'list<list_item<collection_literal_expression>|list_item<function_call_expression>>',
'list<list_item<collection_literal_expression>|list_item<function_pointer_expression>>',
'list<list_item<collection_literal_expression>|list_item<function_pointer_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<collection_literal_expression>|list_item<lambda_expression>|list_item<literal>>',
'list<list_item<collection_literal_expression>|list_item<literal>>',
'list<list_item<collection_literal_expression>|list_item<literal>|list_item<qualified_name>>',
'list<list_item<collection_literal_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<collection_literal_expression>|list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<collection_literal_expression>|list_item<prefix_unary_expression>>',
'list<list_item<collection_literal_expression>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<collection_literal_expression>|list_item<variable>>',
'list<list_item<conditional_expression>>',
'list<list_item<conditional_expression>|list_item<function_call_expression>|list_item<literal>>',
'list<list_item<conditional_expression>|list_item<function_call_expression>|list_item<literal>|list_item<object_creation_expression>>',
'list<list_item<conditional_expression>|list_item<function_call_expression>|list_item<literal>|list_item<postfix_unary_expression>>',
'list<list_item<conditional_expression>|list_item<function_call_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<conditional_expression>|list_item<literal>>',
'list<list_item<conditional_expression>|list_item<literal>|list_item<token:name>>',
'list<list_item<conditional_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<darray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<decorated_expression>|list_item<function_pointer_expression>|list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<decorated_expression>|list_item<literal>>',
'list<list_item<darray_intrinsic_expression>|list_item<decorated_expression>|list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<decorated_expression>|list_item<prefix_unary_expression>|list_item<token:name>>',
'list<list_item<darray_intrinsic_expression>|list_item<decorated_expression>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<darray_intrinsic_expression>|list_item<decorated_expression>|list_item<variable>>',
'list<list_item<darray_intrinsic_expression>|list_item<dictionary_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<function_call_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<function_call_expression>|list_item<token:name>>',
'list<list_item<darray_intrinsic_expression>|list_item<function_pointer_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<lambda_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<lambda_expression>|list_item<literal>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>|list_item<shape_expression>|list_item<tuple_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>|list_item<token:name>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<prefix_unary_expression>|list_item<token:name>>',
'list<list_item<darray_intrinsic_expression>|list_item<subscript_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<token:name>>',
'list<list_item<darray_intrinsic_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<darray_intrinsic_expression>|list_item<variable>>',
'list<list_item<darray_intrinsic_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<decorated_expression>>',
'list<list_item<decorated_expression>|list_item<dictionary_intrinsic_expression>>',
'list<list_item<decorated_expression>|list_item<function_call_expression>>',
'list<list_item<decorated_expression>|list_item<function_call_expression>|list_item<literal>>',
'list<list_item<decorated_expression>|list_item<function_call_expression>|list_item<literal>|list_item<token:name>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<function_call_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<function_call_expression>|list_item<subscript_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<function_call_expression>|list_item<token:name>>',
'list<list_item<decorated_expression>|list_item<function_call_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<function_pointer_expression>>',
'list<list_item<decorated_expression>|list_item<function_pointer_expression>|list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<decorated_expression>|list_item<function_pointer_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<scope_resolution_expression>>',
'list<list_item<decorated_expression>|list_item<function_pointer_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<function_pointer_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<decorated_expression>|list_item<function_pointer_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<function_pointer_expression>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<function_pointer_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<keyset_intrinsic_expression>>',
'list<list_item<decorated_expression>|list_item<lambda_expression>>',
'list<list_item<decorated_expression>|list_item<lambda_expression>|list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<decorated_expression>|list_item<lambda_expression>|list_item<prefix_unary_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<lambda_expression>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<literal>>',
'list<list_item<decorated_expression>|list_item<literal>|list_item<member_selection_expression>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<decorated_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<decorated_expression>|list_item<literal>|list_item<qualified_name>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<literal>|list_item<scope_resolution_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<literal>|list_item<subscript_expression>|list_item<token:name>>',
'list<list_item<decorated_expression>|list_item<literal>|list_item<subscript_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<literal>|list_item<token:name>>',
'list<list_item<decorated_expression>|list_item<literal>|list_item<token:name>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<literal>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<decorated_expression>|list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<decorated_expression>|list_item<member_selection_expression>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<member_selection_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<object_creation_expression>>',
'list<list_item<decorated_expression>|list_item<object_creation_expression>|list_item<token:name>>',
'list<list_item<decorated_expression>|list_item<prefix_unary_expression>>',
'list<list_item<decorated_expression>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<scope_resolution_expression>>',
'list<list_item<decorated_expression>|list_item<subscript_expression>>',
'list<list_item<decorated_expression>|list_item<subscript_expression>|list_item<token:name>>',
'list<list_item<decorated_expression>|list_item<subscript_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<token:name>>',
'list<list_item<decorated_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<token:name>|list_item<varray_intrinsic_expression>>',
'list<list_item<decorated_expression>|list_item<variable>>',
'list<list_item<decorated_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<decorated_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<decorated_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<function_call_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<keyset_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<keyset_intrinsic_expression>|list_item<literal>|list_item<vector_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<keyset_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<lambda_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<lambda_expression>|list_item<variable>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<literal>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<literal>|list_item<pipe_variable>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<literal>|list_item<pipe_variable>|list_item<variable>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<literal>|list_item<shape_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<shape_expression>|list_item<variable>|list_item<vector_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<token:name>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<variable>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<enum_class_label>>',
'list<list_item<enum_class_label>|list_item<literal>>',
'list<list_item<function_call_expression>>',
'list<list_item<function_call_expression>|list_item<function_pointer_expression>>',
'list<list_item<function_call_expression>|list_item<function_pointer_expression>|list_item<literal>>',
'list<list_item<function_call_expression>|list_item<is_expression>>',
'list<list_item<function_call_expression>|list_item<lambda_expression>>',
'list<list_item<function_call_expression>|list_item<lambda_expression>|list_item<literal>>',
'list<list_item<function_call_expression>|list_item<literal>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<member_selection_expression>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<object_creation_expression>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<token:name>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<qualified_name>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<scope_resolution_expression>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<scope_resolution_expression>|list_item<variable>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<subscript_expression>|list_item<variable>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<token:name>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<token:name>|list_item<variable>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<vector_intrinsic_expression>>',
'list<list_item<function_call_expression>|list_item<member_selection_expression>>',
'list<list_item<function_call_expression>|list_item<object_creation_expression>>',
'list<list_item<function_call_expression>|list_item<object_creation_expression>|list_item<variable>>',
'list<list_item<function_call_expression>|list_item<parenthesized_expression>>',
'list<list_item<function_call_expression>|list_item<postfix_unary_expression>|list_item<scope_resolution_expression>>',
'list<list_item<function_call_expression>|list_item<prefix_unary_expression>>',
'list<list_item<function_call_expression>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<function_call_expression>|list_item<scope_resolution_expression>>',
'list<list_item<function_call_expression>|list_item<subscript_expression>>',
'list<list_item<function_call_expression>|list_item<subscript_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<function_call_expression>|list_item<token:name>>',
'list<list_item<function_call_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<function_call_expression>|list_item<variable>>',
'list<list_item<function_call_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<function_call_expression>|list_item<xhp_expression>>',
'list<list_item<function_pointer_expression>>',
'list<list_item<function_pointer_expression>|list_item<keyset_intrinsic_expression>>',
'list<list_item<function_pointer_expression>|list_item<literal>>',
'list<list_item<function_pointer_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<function_pointer_expression>|list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<function_pointer_expression>|list_item<literal>|list_item<vector_intrinsic_expression>>',
'list<list_item<function_pointer_expression>|list_item<object_creation_expression>>',
'list<list_item<function_pointer_expression>|list_item<subscript_expression>>',
'list<list_item<function_pointer_expression>|list_item<token:name>>',
'list<list_item<function_pointer_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<function_pointer_expression>|list_item<token:name>|list_item<vector_intrinsic_expression>>',
'list<list_item<function_pointer_expression>|list_item<variable>>',
'list<list_item<function_pointer_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<function_pointer_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<function_pointer_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<is_expression>>',
'list<list_item<is_expression>|list_item<literal>>',
'list<list_item<is_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<isset_expression>>',
'list<list_item<isset_expression>|list_item<literal>>',
'list<list_item<isset_expression>|list_item<member_selection_expression>>',
'list<list_item<isset_expression>|list_item<member_selection_expression>|list_item<prefix_unary_expression>>',
'list<list_item<isset_expression>|list_item<variable>>',
'list<list_item<keyset_intrinsic_expression>>',
'list<list_item<keyset_intrinsic_expression>|list_item<literal>>',
'list<list_item<keyset_intrinsic_expression>|list_item<literal>|list_item<pipe_variable>>',
'list<list_item<keyset_intrinsic_expression>|list_item<literal>|list_item<pipe_variable>|list_item<variable>>',
'list<list_item<keyset_intrinsic_expression>|list_item<subscript_expression>>',
'list<list_item<keyset_intrinsic_expression>|list_item<token:name>>',
'list<list_item<keyset_intrinsic_expression>|list_item<variable>>',
'list<list_item<keyset_intrinsic_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<lambda_expression>>',
'list<list_item<lambda_expression>|list_item<literal>>',
'list<list_item<lambda_expression>|list_item<literal>|list_item<scope_resolution_expression>>',
'list<list_item<lambda_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<lambda_expression>|list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<lambda_expression>|list_item<object_creation_expression>>',
'list<list_item<lambda_expression>|list_item<pipe_variable>>',
'list<list_item<lambda_expression>|list_item<prefix_unary_expression>>',
'list<list_item<lambda_expression>|list_item<shape_expression>>',
'list<list_item<lambda_expression>|list_item<subscript_expression>>',
'list<list_item<lambda_expression>|list_item<token:name>>',
'list<list_item<lambda_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<lambda_expression>|list_item<tuple_expression>>',
'list<list_item<lambda_expression>|list_item<variable>>',
'list<list_item<lambda_expression>|list_item<variable>|list_item<vector_intrinsic_expression>>',
'list<list_item<lambda_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<lambda_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<literal>>',
'list<list_item<literal>|list_item<member_selection_expression>>',
'list<list_item<literal>|list_item<member_selection_expression>|list_item<qualified_name>>',
'list<list_item<literal>|list_item<member_selection_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<object_creation_expression>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<pipe_variable>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<pipe_variable>|list_item<variable>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<qualified_name>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<literal>|list_item<parenthesized_expression>>',
'list<list_item<literal>|list_item<parenthesized_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<pipe_variable>>',
'list<list_item<literal>|list_item<pipe_variable>|list_item<prefix_unary_expression>>',
'list<list_item<literal>|list_item<pipe_variable>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<pipe_variable>|list_item<variable>>',
'list<list_item<literal>|list_item<pipe_variable>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<pipe_variable>|list_item<variable>|list_item<vector_intrinsic_expression>>',
'list<list_item<literal>|list_item<pipe_variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<pipe_variable>|list_item<vector_intrinsic_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<scope_resolution_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<subscript_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<token:name>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<qualified_name>>',
'list<list_item<literal>|list_item<qualified_name>|list_item<variable>>',
'list<list_item<literal>|list_item<scope_resolution_expression>>',
'list<list_item<literal>|list_item<scope_resolution_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<literal>|list_item<scope_resolution_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<shape_expression>>',
'list<list_item<literal>|list_item<shape_expression>|list_item<token:name>>',
'list<list_item<literal>|list_item<shape_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<subscript_expression>>',
'list<list_item<literal>|list_item<subscript_expression>|list_item<token:name>>',
'list<list_item<literal>|list_item<subscript_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<literal>|list_item<subscript_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<token:name>>',
'list<list_item<literal>|list_item<token:name>|list_item<variable>>',
'list<list_item<literal>|list_item<token:name>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<token:name>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<token:name>|list_item<vector_intrinsic_expression>>',
'list<list_item<literal>|list_item<tuple_expression>>',
'list<list_item<literal>|list_item<variable>>',
'list<list_item<literal>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<variable>|list_item<vector_intrinsic_expression>>',
'list<list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<vector_intrinsic_expression>>',
'list<list_item<member_selection_expression>>',
'list<list_item<member_selection_expression>|list_item<subscript_expression>|list_item<variable>>',
'list<list_item<member_selection_expression>|list_item<variable>>',
'list<list_item<member_selection_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<object_creation_expression>>',
'list<list_item<object_creation_expression>|list_item<token:name>>',
'list<list_item<object_creation_expression>|list_item<variable>>',
'list<list_item<object_creation_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<parenthesized_expression>>',
'list<list_item<parenthesized_expression>|list_item<pipe_variable>>',
'list<list_item<parenthesized_expression>|list_item<subscript_expression>>',
'list<list_item<parenthesized_expression>|list_item<variable>>',
'list<list_item<pipe_variable>>',
'list<list_item<postfix_unary_expression>>',
'list<list_item<postfix_unary_expression>|list_item<subscript_expression>>',
'list<list_item<postfix_unary_expression>|list_item<variable>>',
'list<list_item<prefix_unary_expression>>',
'list<list_item<prefix_unary_expression>|list_item<qualified_name>|list_item<variable>>',
'list<list_item<prefix_unary_expression>|list_item<subscript_expression>>',
'list<list_item<prefix_unary_expression>|list_item<subscript_expression>|list_item<variable>>',
'list<list_item<prefix_unary_expression>|list_item<token:name>>',
'list<list_item<prefix_unary_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<prefix_unary_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<qualified_name>>',
'list<list_item<qualified_name>|list_item<scope_resolution_expression>>',
'list<list_item<qualified_name>|list_item<variable>>',
'list<list_item<safe_member_selection_expression>>',
'list<list_item<scope_resolution_expression>>',
'list<list_item<scope_resolution_expression>|list_item<shape_expression>>',
'list<list_item<scope_resolution_expression>|list_item<subscript_expression>>',
'list<list_item<scope_resolution_expression>|list_item<token:name>>',
'list<list_item<scope_resolution_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<scope_resolution_expression>|list_item<variable>>',
'list<list_item<scope_resolution_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<shape_expression>>',
'list<list_item<subscript_expression>>',
'list<list_item<subscript_expression>|list_item<token:name>>',
'list<list_item<subscript_expression>|list_item<token:name>|list_item<variable>>',
'list<list_item<subscript_expression>|list_item<variable>>',
'list<list_item<subscript_expression>|list_item<variable>|list_item<vector_intrinsic_expression>>',
'list<list_item<subscript_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<token:name>>',
'list<list_item<token:name>|list_item<variable>>',
'list<list_item<token:name>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<token:name>|list_item<varray_intrinsic_expression>>',
'list<list_item<token:name>|list_item<vector_intrinsic_expression>>',
'list<list_item<tuple_expression>>',
'list<list_item<tuple_expression>|list_item<variable>>',
'list<list_item<variable>>',
'list<list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<variable>|list_item<vector_intrinsic_expression>>',
'list<list_item<variable>|list_item<xhp_expression>>',
'list<list_item<varray_intrinsic_expression>>',
'list<list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<vector_intrinsic_expression>>',
'list<list_item<xhp_expression>>',
'missing',
],
'function_call_expression.function_call_enum_class_label' => keyset[
'enum_class_label',
'missing',
],
'function_call_expression.function_call_left_paren' => keyset[
'token:(',
],
'function_call_expression.function_call_receiver' => keyset[
'function_call_expression',
'member_selection_expression',
'parenthesized_expression',
'qualified_name',
'safe_member_selection_expression',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'variable',
],
'function_call_expression.function_call_right_paren' => keyset[
'token:)',
],
'function_call_expression.function_call_type_args' => keyset[
'missing',
'type_arguments',
],
'function_ctx_type_specifier.function_ctx_type_keyword' => keyset[
'token:ctx',
],
'function_ctx_type_specifier.function_ctx_type_variable' => keyset[
'token:variable',
],
'function_declaration.function_attribute_spec' => keyset[
'missing',
'old_attribute_specification',
],
'function_declaration.function_body' => keyset[
'compound_statement',
'token:;',
],
'function_declaration.function_declaration_header' => keyset[
'function_declaration_header',
],
'function_declaration_header.function_colon' => keyset[
'missing',
'token::',
],
'function_declaration_header.function_contexts' => keyset[
'contexts',
'missing',
],
'function_declaration_header.function_keyword' => keyset[
'token:function',
],
'function_declaration_header.function_left_paren' => keyset[
'token:(',
],
'function_declaration_header.function_modifiers' => keyset[
'list<token:abstract>',
'list<token:abstract|token:protected>',
'list<token:abstract|token:protected|token:static>',
'list<token:abstract|token:public>',
'list<token:abstract|token:public|token:static>',
'list<token:abstract|token:static>',
'list<token:async>',
'list<token:async|token:final|token:public>',
'list<token:async|token:private>',
'list<token:async|token:protected>',
'list<token:async|token:public>',
'list<token:async|token:public|token:static>',
'list<token:async|token:static>',
'list<token:final>',
'list<token:final|token:private>',
'list<token:final|token:protected>',
'list<token:final|token:protected|token:static>',
'list<token:final|token:public>',
'list<token:final|token:public|token:static>',
'list<token:final|token:static>',
'list<token:private>',
'list<token:private|token:static>',
'list<token:protected>',
'list<token:protected|token:static>',
'list<token:public>',
'list<token:public|token:readonly>',
'list<token:public|token:static>',
'list<token:readonly>',
'list<token:static>',
'missing',
],
'function_declaration_header.function_name' => keyset[
'token:__construct',
'token:name',
],
'function_declaration_header.function_parameter_list' => keyset[
'list<list_item<parameter_declaration>>',
'list<list_item<parameter_declaration>|list_item<variadic_parameter>>',
'missing',
],
'function_declaration_header.function_readonly_return' => keyset[
'missing',
'token:readonly',
],
'function_declaration_header.function_right_paren' => keyset[
'token:)',
],
'function_declaration_header.function_type' => keyset[
'attributized_specifier',
'classname_type_specifier',
'closure_type_specifier',
'darray_type_specifier',
'dictionary_type_specifier',
'generic_type_specifier',
'keyset_type_specifier',
'like_type_specifier',
'missing',
'nullable_type_specifier',
'shape_type_specifier',
'simple_type_specifier',
'token:noreturn',
'tuple_type_specifier',
'type_constant',
'varray_type_specifier',
'vector_type_specifier',
],
'function_declaration_header.function_type_parameter_list' => keyset[
'missing',
'type_parameters',
],
'function_declaration_header.function_where_clause' => keyset[
'missing',
'where_clause',
],
'function_pointer_expression.function_pointer_receiver' => keyset[
'qualified_name',
'scope_resolution_expression',
'token:name',
],
'function_pointer_expression.function_pointer_type_args' => keyset[
'type_arguments',
],
'generic_type_specifier.generic_argument_list' => keyset[
'type_arguments',
],
'generic_type_specifier.generic_class_type' => keyset[
'qualified_name',
'token:XHP_class_name',
'token:name',
'token:string',
],
'if_statement.if_condition' => keyset[
'as_expression',
'binary_expression',
'cast_expression',
'function_call_expression',
'is_expression',
'isset_expression',
'literal',
'member_selection_expression',
'parenthesized_expression',
'prefix_unary_expression',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'variable',
'varray_intrinsic_expression',
],
'if_statement.if_else_clause' => keyset[
'else_clause',
'missing',
],
'if_statement.if_elseif_clauses' => keyset[
'list<elseif_clause>',
'missing',
],
'if_statement.if_keyword' => keyset[
'token:if',
],
'if_statement.if_left_paren' => keyset[
'token:(',
],
'if_statement.if_right_paren' => keyset[
'token:)',
],
'if_statement.if_statement' => keyset[
'break_statement',
'compound_statement',
'continue_statement',
'echo_statement',
'expression_statement',
'return_statement',
'throw_statement',
'unset_statement',
],
'inclusion_directive.inclusion_expression' => keyset[],
'inclusion_directive.inclusion_semicolon' => keyset[],
'inclusion_expression.inclusion_filename' => keyset[
'binary_expression',
'function_call_expression',
'literal',
'parenthesized_expression',
'token:name',
'variable',
],
'inclusion_expression.inclusion_require' => keyset[
'token:include',
'token:include_once',
'token:require',
'token:require_once',
],
'is_expression.is_left_operand' => keyset[
'anonymous_function',
'function_call_expression',
'literal',
'member_selection_expression',
'object_creation_expression',
'parenthesized_expression',
'pipe_variable',
'prefix_unary_expression',
'scope_resolution_expression',
'shape_expression',
'subscript_expression',
'tuple_expression',
'variable',
],
'is_expression.is_operator' => keyset[
'token:is',
],
'is_expression.is_right_operand' => keyset[
'dictionary_type_specifier',
'generic_type_specifier',
'keyset_type_specifier',
'nullable_type_specifier',
'shape_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
'type_constant',
'vector_type_specifier',
],
'isset_expression.isset_argument_list' => keyset[
'list<list_item<function_call_expression>>',
'list<list_item<literal>|list_item<variable>>',
'list<list_item<member_selection_expression>>',
'list<list_item<member_selection_expression>|list_item<variable>>',
'list<list_item<parenthesized_expression>>',
'list<list_item<scope_resolution_expression>>',
'list<list_item<subscript_expression>>',
'list<list_item<subscript_expression>|list_item<variable>>',
'list<list_item<variable>>',
],
'isset_expression.isset_keyword' => keyset[
'token:isset',
],
'isset_expression.isset_left_paren' => keyset[
'token:(',
],
'isset_expression.isset_right_paren' => keyset[
'token:)',
],
'keyset_intrinsic_expression.keyset_intrinsic_explicit_type' => keyset[
'missing',
'type_arguments',
],
'keyset_intrinsic_expression.keyset_intrinsic_keyword' => keyset[
'token:keyset',
],
'keyset_intrinsic_expression.keyset_intrinsic_left_bracket' => keyset[
'token:[',
],
'keyset_intrinsic_expression.keyset_intrinsic_members' => keyset[
'list<list_item<binary_expression>>',
'list<list_item<binary_expression>|list_item<literal>>',
'list<list_item<binary_expression>|list_item<variable>>',
'list<list_item<conditional_expression>>',
'list<list_item<function_call_expression>>',
'list<list_item<literal>>',
'list<list_item<literal>|list_item<subscript_expression>>',
'list<list_item<scope_resolution_expression>>',
'list<list_item<token:name>>',
'list<list_item<variable>>',
'missing',
],
'keyset_intrinsic_expression.keyset_intrinsic_right_bracket' => keyset[
'token:]',
],
'keyset_type_specifier.keyset_type_keyword' => keyset[
'token:keyset',
],
'keyset_type_specifier.keyset_type_left_angle' => keyset[
'token:<',
],
'keyset_type_specifier.keyset_type_right_angle' => keyset[
'token:>',
],
'keyset_type_specifier.keyset_type_trailing_comma' => keyset[
'missing',
],
'keyset_type_specifier.keyset_type_type' => keyset[
'classname_type_specifier',
'simple_type_specifier',
],
'lambda_expression.lambda_arrow' => keyset[
'token:==>',
],
'lambda_expression.lambda_async' => keyset[
'missing',
'token:async',
],
'lambda_expression.lambda_attribute_spec' => keyset[
'missing',
'old_attribute_specification',
],
'lambda_expression.lambda_body' => keyset[
'anonymous_function',
'as_expression',
'binary_expression',
'cast_expression',
'collection_literal_expression',
'compound_statement',
'conditional_expression',
'dictionary_intrinsic_expression',
'function_call_expression',
'is_expression',
'keyset_intrinsic_expression',
'lambda_expression',
'literal',
'member_selection_expression',
'nullable_as_expression',
'object_creation_expression',
'parenthesized_expression',
'postfix_unary_expression',
'prefix_unary_expression',
'scope_resolution_expression',
'shape_expression',
'subscript_expression',
'variable',
'varray_intrinsic_expression',
],
'lambda_expression.lambda_signature' => keyset[
'lambda_signature',
'token:variable',
],
'lambda_signature.lambda_colon' => keyset[
'missing',
'token::',
],
'lambda_signature.lambda_contexts' => keyset[
'contexts',
'missing',
],
'lambda_signature.lambda_left_paren' => keyset[
'token:(',
],
'lambda_signature.lambda_parameters' => keyset[
'list<list_item<parameter_declaration>>',
'list<list_item<variadic_parameter>>',
'missing',
],
'lambda_signature.lambda_readonly_return' => keyset[
'missing',
'token:readonly',
],
'lambda_signature.lambda_right_paren' => keyset[
'token:)',
],
'lambda_signature.lambda_type' => keyset[
'generic_type_specifier',
'keyset_type_specifier',
'missing',
'simple_type_specifier',
],
'like_type_specifier.like_tilde' => keyset[
'token:~',
],
'like_type_specifier.like_type' => keyset[
'darray_type_specifier',
'dictionary_type_specifier',
'generic_type_specifier',
'like_type_specifier',
'simple_type_specifier',
'type_constant',
'varray_type_specifier',
'vector_type_specifier',
],
'list_expression.list_keyword' => keyset[
'token:list',
],
'list_expression.list_left_paren' => keyset[
'token:(',
],
'list_expression.list_members' => keyset[
'list<list_item<list_expression>>',
'list<list_item<list_expression>|list_item<missing>|list_item<subscript_expression>>',
'list<list_item<list_expression>|list_item<missing>|list_item<variable>>',
'list<list_item<list_expression>|list_item<subscript_expression>>',
'list<list_item<list_expression>|list_item<variable>>',
'list<list_item<member_selection_expression>>',
'list<list_item<member_selection_expression>|list_item<subscript_expression>>',
'list<list_item<member_selection_expression>|list_item<variable>>',
'list<list_item<missing>>',
'list<list_item<missing>|list_item<variable>>',
'list<list_item<subscript_expression>>',
'list<list_item<subscript_expression>|list_item<variable>>',
'list<list_item<variable>>',
'missing',
],
'list_expression.list_right_paren' => keyset[
'token:)',
],
'list_item.list_item' => keyset[
'anonymous_function',
'as_expression',
'attributized_specifier',
'awaitable_creation_expression',
'binary_expression',
'cast_expression',
'classname_type_specifier',
'closure_parameter_type_specifier',
'closure_type_specifier',
'collection_literal_expression',
'conditional_expression',
'constant_declarator',
'constructor_call',
'darray_intrinsic_expression',
'darray_type_specifier',
'decorated_expression',
'dictionary_intrinsic_expression',
'dictionary_type_specifier',
'element_initializer',
'enum_class_label',
'field_initializer',
'field_specifier',
'function_call_expression',
'function_ctx_type_specifier',
'function_pointer_expression',
'generic_type_specifier',
'is_expression',
'isset_expression',
'keyset_intrinsic_expression',
'keyset_type_specifier',
'lambda_expression',
'like_type_specifier',
'list_expression',
'literal',
'member_selection_expression',
'missing',
'namespace_use_clause',
'nullable_type_specifier',
'object_creation_expression',
'parameter_declaration',
'parenthesized_expression',
'pipe_variable',
'postfix_unary_expression',
'prefix_unary_expression',
'property_declarator',
'qualified_name',
'safe_member_selection_expression',
'scope_resolution_expression',
'shape_expression',
'shape_type_specifier',
'simple_type_specifier',
'subscript_expression',
'token:name',
'token:namespace',
'token:variable',
'trait_use_alias_item',
'trait_use_precedence_item',
'tuple_expression',
'tuple_type_specifier',
'type_constant',
'type_parameter',
'variable',
'variadic_parameter',
'varray_intrinsic_expression',
'varray_type_specifier',
'vector_intrinsic_expression',
'vector_type_specifier',
'where_constraint',
'xhp_class_attribute',
'xhp_expression',
'xhp_simple_class_attribute',
],
'list_item.list_separator' => keyset[
'missing',
'token:,',
'token:;',
'token:\\',
],
'markup_section.markup_hashbang' => keyset[
'missing',
'token:hashbang',
],
'markup_section.markup_suffix' => keyset[
'markup_suffix',
'missing',
],
'markup_suffix.markup_suffix_less_than_question' => keyset[
'token:<?',
],
'markup_suffix.markup_suffix_name' => keyset[
'token:name',
],
'member_selection_expression.member_name' => keyset[
'braced_expression',
'token:XHP_class_name',
'token:name',
'token:variable',
],
'member_selection_expression.member_object' => keyset[
'function_call_expression',
'member_selection_expression',
'object_creation_expression',
'parenthesized_expression',
'pipe_variable',
'scope_resolution_expression',
'subscript_expression',
'variable',
],
'member_selection_expression.member_operator' => keyset[
'token:->',
],
'methodish_declaration.methodish_attribute' => keyset[
'missing',
'old_attribute_specification',
],
'methodish_declaration.methodish_function_body' => keyset[
'compound_statement',
'missing',
],
'methodish_declaration.methodish_function_decl_header' => keyset[
'function_declaration_header',
],
'methodish_declaration.methodish_semicolon' => keyset[
'missing',
'token:;',
],
'namespace_body.namespace_declarations' => keyset[
'list<alias_declaration>',
'list<alias_declaration|enum_declaration|function_declaration|namespace_declaration|namespace_use_declaration>',
'list<alias_declaration|function_declaration>',
'list<classish_declaration>',
'list<classish_declaration|const_declaration>',
'list<classish_declaration|const_declaration|function_declaration>',
'list<classish_declaration|file_attribute_specification>',
'list<classish_declaration|function_declaration>',
'list<classish_declaration|function_declaration|namespace_declaration>',
'list<classish_declaration|function_declaration|namespace_use_declaration>',
'list<classish_declaration|namespace_declaration>',
'list<const_declaration>',
'list<const_declaration|function_declaration>',
'list<const_declaration|function_declaration|namespace_group_use_declaration>',
'list<enum_declaration>',
'list<function_declaration>',
'list<function_declaration|namespace_group_use_declaration>',
'list<function_declaration|namespace_use_declaration>',
'list<namespace_group_use_declaration>',
'list<namespace_group_use_declaration|namespace_use_declaration>',
'list<namespace_use_declaration>',
'missing',
],
'namespace_body.namespace_left_brace' => keyset[
'token:{',
],
'namespace_body.namespace_right_brace' => keyset[
'token:}',
],
'namespace_declaration.namespace_body' => keyset[
'namespace_body',
'namespace_empty_body',
],
'namespace_declaration.namespace_header' => keyset[
'namespace_declaration_header',
],
'namespace_declaration_header.namespace_keyword' => keyset[
'token:namespace',
],
'namespace_declaration_header.namespace_name' => keyset[
'missing',
'qualified_name',
'token:name',
],
'namespace_empty_body.namespace_semicolon' => keyset[
'token:;',
],
'namespace_group_use_declaration.namespace_group_use_clauses' => keyset[
'list<list_item<namespace_use_clause>>',
],
'namespace_group_use_declaration.namespace_group_use_keyword' => keyset[
'token:use',
],
'namespace_group_use_declaration.namespace_group_use_kind' => keyset[
'missing',
'token:const',
'token:function',
'token:namespace',
'token:type',
],
'namespace_group_use_declaration.namespace_group_use_left_brace' => keyset[
'token:{',
],
'namespace_group_use_declaration.namespace_group_use_prefix' => keyset[
'qualified_name',
],
'namespace_group_use_declaration.namespace_group_use_right_brace' => keyset[
'token:}',
],
'namespace_group_use_declaration.namespace_group_use_semicolon' => keyset[
'token:;',
],
'namespace_use_clause.namespace_use_alias' => keyset[
'missing',
'token:name',
],
'namespace_use_clause.namespace_use_as' => keyset[
'missing',
'token:as',
],
'namespace_use_clause.namespace_use_clause_kind' => keyset[
'missing',
'token:const',
'token:function',
],
'namespace_use_clause.namespace_use_name' => keyset[
'qualified_name',
'token:name',
],
'namespace_use_declaration.namespace_use_clauses' => keyset[
'list<list_item<namespace_use_clause>>',
],
'namespace_use_declaration.namespace_use_keyword' => keyset[
'token:use',
],
'namespace_use_declaration.namespace_use_kind' => keyset[
'missing',
'token:const',
'token:function',
'token:namespace',
'token:type',
],
'namespace_use_declaration.namespace_use_semicolon' => keyset[
'token:;',
],
'nullable_as_expression.nullable_as_left_operand' => keyset[
'function_call_expression',
'member_selection_expression',
'variable',
],
'nullable_as_expression.nullable_as_operator' => keyset[
'token:?as',
],
'nullable_as_expression.nullable_as_right_operand' => keyset[
'simple_type_specifier',
'vector_type_specifier',
],
'nullable_type_specifier.nullable_question' => keyset[
'token:?',
],
'nullable_type_specifier.nullable_type' => keyset[
'closure_type_specifier',
'darray_type_specifier',
'dictionary_type_specifier',
'generic_type_specifier',
'like_type_specifier',
'shape_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
'type_constant',
'varray_type_specifier',
'vector_type_specifier',
],
'object_creation_expression.object_creation_new_keyword' => keyset[
'token:new',
],
'object_creation_expression.object_creation_object' => keyset[
'constructor_call',
],
'old_attribute_specification.old_attribute_specification_attributes' =>
keyset[
'list<list_item<constructor_call>>',
],
'old_attribute_specification.old_attribute_specification_left_double_angle' =>
keyset[
'token:<<',
],
'old_attribute_specification.old_attribute_specification_right_double_angle' =>
keyset[
'token:>>',
],
'parameter_declaration.parameter_attribute' => keyset[
'missing',
'old_attribute_specification',
],
'parameter_declaration.parameter_call_convention' => keyset[
'missing',
'token:inout',
],
'parameter_declaration.parameter_default_value' => keyset[
'missing',
'simple_initializer',
],
'parameter_declaration.parameter_name' => keyset[
'decorated_expression',
'token:variable',
],
'parameter_declaration.parameter_readonly' => keyset[
'missing',
'token:readonly',
],
'parameter_declaration.parameter_type' => keyset[
'classname_type_specifier',
'closure_type_specifier',
'darray_type_specifier',
'dictionary_type_specifier',
'generic_type_specifier',
'keyset_type_specifier',
'like_type_specifier',
'missing',
'nullable_type_specifier',
'shape_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
'type_constant',
'varray_type_specifier',
'vector_type_specifier',
],
'parameter_declaration.parameter_visibility' => keyset[
'missing',
'token:private',
'token:protected',
'token:public',
],
'parenthesized_expression.parenthesized_expression_expression' => keyset[
'anonymous_function',
'as_expression',
'binary_expression',
'cast_expression',
'collection_literal_expression',
'conditional_expression',
'darray_intrinsic_expression',
'function_call_expression',
'inclusion_expression',
'is_expression',
'isset_expression',
'lambda_expression',
'literal',
'member_selection_expression',
'object_creation_expression',
'parenthesized_expression',
'postfix_unary_expression',
'prefix_unary_expression',
'qualified_name',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'variable',
'varray_intrinsic_expression',
'vector_intrinsic_expression',
'xhp_expression',
'yield_expression',
],
'parenthesized_expression.parenthesized_expression_left_paren' => keyset[
'token:(',
],
'parenthesized_expression.parenthesized_expression_right_paren' => keyset[
'token:)',
],
'postfix_unary_expression.postfix_unary_operand' => keyset[
'member_selection_expression',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'variable',
],
'postfix_unary_expression.postfix_unary_operator' => keyset[
'token:*',
'token:++',
'token:--',
'token:?',
],
'prefix_unary_expression.prefix_unary_operand' => keyset[
'anonymous_function',
'awaitable_creation_expression',
'binary_expression',
'cast_expression',
'collection_literal_expression',
'conditional_expression',
'darray_intrinsic_expression',
'dictionary_intrinsic_expression',
'eval_expression',
'function_call_expression',
'is_expression',
'isset_expression',
'lambda_expression',
'literal',
'member_selection_expression',
'object_creation_expression',
'parenthesized_expression',
'postfix_unary_expression',
'prefix_unary_expression',
'qualified_name',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'variable',
'varray_intrinsic_expression',
'vector_intrinsic_expression',
],
'prefix_unary_expression.prefix_unary_operator' => keyset[
'token:!',
'token:+',
'token:++',
'token:-',
'token:--',
'token:@',
'token:await',
'token:clone',
'token:print',
'token:readonly',
'token:~',
],
'property_declaration.property_attribute_spec' => keyset[
'missing',
'old_attribute_specification',
],
'property_declaration.property_declarators' => keyset[
'list<list_item<property_declarator>>',
],
'property_declaration.property_modifiers' => keyset[
'list<token:private>',
'list<token:private|token:static>',
'list<token:protected>',
'list<token:protected|token:static>',
'list<token:public>',
'list<token:public|token:readonly>',
'list<token:public|token:readonly|token:static>',
'list<token:public|token:static>',
'list<token:static>',
],
'property_declaration.property_semicolon' => keyset[
'token:;',
],
'property_declaration.property_type' => keyset[
'closure_type_specifier',
'darray_type_specifier',
'dictionary_type_specifier',
'generic_type_specifier',
'like_type_specifier',
'missing',
'nullable_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
'type_constant',
'varray_type_specifier',
'vector_type_specifier',
],
'property_declarator.property_initializer' => keyset[
'missing',
'simple_initializer',
],
'property_declarator.property_name' => keyset[
'token:variable',
],
'qualified_name.qualified_name_parts' => keyset[
'list<list_item<missing>|list_item<token:name>>',
'list<list_item<token:name>>',
'list<list_item<token:name>|list_item<token:namespace>>',
],
'reified_type_argument.reified_type_argument_reified' => keyset[],
'reified_type_argument.reified_type_argument_type' => keyset[],
'require_clause.require_keyword' => keyset[
'token:require',
],
'require_clause.require_kind' => keyset[
'token:extends',
'token:implements',
],
'require_clause.require_name' => keyset[
'generic_type_specifier',
'simple_type_specifier',
],
'require_clause.require_semicolon' => keyset[
'token:;',
],
'return_statement.return_expression' => keyset[
'anonymous_function',
'as_expression',
'awaitable_creation_expression',
'binary_expression',
'cast_expression',
'collection_literal_expression',
'conditional_expression',
'darray_intrinsic_expression',
'dictionary_intrinsic_expression',
'function_call_expression',
'function_pointer_expression',
'is_expression',
'isset_expression',
'keyset_intrinsic_expression',
'lambda_expression',
'literal',
'member_selection_expression',
'missing',
'nullable_as_expression',
'object_creation_expression',
'parenthesized_expression',
'postfix_unary_expression',
'prefix_unary_expression',
'qualified_name',
'safe_member_selection_expression',
'scope_resolution_expression',
'shape_expression',
'subscript_expression',
'token:name',
'tuple_expression',
'variable',
'varray_intrinsic_expression',
'vector_intrinsic_expression',
'xhp_expression',
],
'return_statement.return_keyword' => keyset[
'token:return',
],
'return_statement.return_semicolon' => keyset[
'token:;',
],
'safe_member_selection_expression.safe_member_name' => keyset[
'token:name',
],
'safe_member_selection_expression.safe_member_object' => keyset[
'function_call_expression',
'literal',
'member_selection_expression',
'safe_member_selection_expression',
'scope_resolution_expression',
'subscript_expression',
'variable',
],
'safe_member_selection_expression.safe_member_operator' => keyset[
'token:?->',
],
'scope_resolution_expression.scope_resolution_name' => keyset[
'braced_expression',
'token:class',
'token:name',
'token:variable',
],
'scope_resolution_expression.scope_resolution_operator' => keyset[
'token:::',
],
'scope_resolution_expression.scope_resolution_qualifier' => keyset[
'pipe_variable',
'qualified_name',
'simple_type_specifier',
'token:XHP_class_name',
'token:name',
'token:parent',
'token:self',
'token:static',
'variable',
],
'script.script_declarations' => keyset[
'list<alias_declaration|classish_declaration|const_declaration|end_of_file|enum_declaration|function_declaration|markup_section>',
'list<alias_declaration|classish_declaration|const_declaration|end_of_file|function_declaration|markup_section>',
'list<alias_declaration|classish_declaration|end_of_file|enum_class_declaration|enum_declaration|file_attribute_specification|function_declaration|markup_section>',
'list<alias_declaration|classish_declaration|end_of_file|enum_declaration|function_declaration|markup_section>',
'list<alias_declaration|classish_declaration|end_of_file|function_declaration|markup_section>',
'list<alias_declaration|classish_declaration|end_of_file|function_declaration|markup_section|namespace_declaration>',
'list<alias_declaration|classish_declaration|end_of_file|markup_section>',
'list<alias_declaration|const_declaration|end_of_file|enum_declaration|function_declaration|markup_section>',
'list<alias_declaration|end_of_file|enum_declaration|function_declaration|markup_section>',
'list<alias_declaration|end_of_file|function_declaration|markup_section>',
'list<alias_declaration|end_of_file|function_declaration|markup_section|namespace_declaration>',
'list<alias_declaration|end_of_file|markup_section>',
'list<classish_declaration|const_declaration|end_of_file|enum_declaration|function_declaration|markup_section>',
'list<classish_declaration|const_declaration|end_of_file|function_declaration|markup_section>',
'list<classish_declaration|const_declaration|end_of_file|function_declaration|markup_section|namespace_declaration>',
'list<classish_declaration|const_declaration|end_of_file|function_declaration|markup_section|namespace_declaration|namespace_use_declaration>',
'list<classish_declaration|const_declaration|end_of_file|markup_section>',
'list<classish_declaration|context_alias_declaration|end_of_file|file_attribute_specification|function_declaration|markup_section>',
'list<classish_declaration|end_of_file|enum_class_declaration|expression_statement|function_declaration|markup_section>',
'list<classish_declaration|end_of_file|enum_class_declaration|file_attribute_specification|function_declaration|markup_section>',
'list<classish_declaration|end_of_file|enum_class_declaration|function_declaration|markup_section>',
'list<classish_declaration|end_of_file|enum_class_declaration|markup_section>',
'list<classish_declaration|end_of_file|enum_declaration|function_declaration|markup_section>',
'list<classish_declaration|end_of_file|expression_statement|function_declaration|markup_section>',
'list<classish_declaration|end_of_file|file_attribute_specification|function_declaration|markup_section>',
'list<classish_declaration|end_of_file|file_attribute_specification|markup_section>',
'list<classish_declaration|end_of_file|function_declaration|markup_section>',
'list<classish_declaration|end_of_file|function_declaration|markup_section|namespace_declaration>',
'list<classish_declaration|end_of_file|function_declaration|markup_section|namespace_declaration|namespace_use_declaration>',
'list<classish_declaration|end_of_file|function_declaration|markup_section|namespace_use_declaration>',
'list<classish_declaration|end_of_file|function_declaration|namespace_declaration>',
'list<classish_declaration|end_of_file|markup_section>',
'list<classish_declaration|end_of_file|namespace_declaration>',
'list<classish_declaration|end_of_file|namespace_declaration|namespace_group_use_declaration|namespace_use_declaration>',
'list<const_declaration|end_of_file|function_declaration|markup_section>',
'list<const_declaration|end_of_file|function_declaration|markup_section|namespace_declaration>',
'list<const_declaration|end_of_file|function_declaration|markup_section|namespace_declaration|namespace_use_declaration>',
'list<const_declaration|end_of_file|function_declaration|markup_section|namespace_use_declaration>',
'list<const_declaration|end_of_file|markup_section>',
'list<const_declaration|end_of_file|markup_section|namespace_declaration>',
'list<const_declaration|end_of_file|markup_section|namespace_use_declaration>',
'list<context_alias_declaration|end_of_file|file_attribute_specification|function_declaration|markup_section>',
'list<end_of_file|enum_class_declaration|file_attribute_specification|function_declaration|markup_section>',
'list<end_of_file|enum_class_declaration|file_attribute_specification|markup_section>',
'list<end_of_file|enum_class_declaration|function_declaration|markup_section>',
'list<end_of_file|enum_declaration|expression_statement|function_declaration|markup_section>',
'list<end_of_file|enum_declaration|function_declaration|markup_section>',
'list<end_of_file|enum_declaration|markup_section>',
'list<end_of_file|enum_declaration|markup_section|namespace_use_declaration>',
'list<end_of_file|file_attribute_specification|function_declaration|markup_section>',
'list<end_of_file|file_attribute_specification|markup_section|namespace_declaration>',
'list<end_of_file|function_declaration>',
'list<end_of_file|function_declaration|markup_section>',
'list<end_of_file|function_declaration|markup_section|namespace_declaration>',
'list<end_of_file|function_declaration|markup_section|namespace_declaration|namespace_use_declaration>',
'list<end_of_file|function_declaration|markup_section|namespace_group_use_declaration>',
'list<end_of_file|function_declaration|markup_section|namespace_group_use_declaration|namespace_use_declaration>',
'list<end_of_file|function_declaration|markup_section|namespace_use_declaration>',
'list<end_of_file|function_declaration|namespace_declaration>',
'list<end_of_file|markup_section>',
'list<end_of_file|markup_section|namespace_declaration>',
'list<end_of_file|markup_section|namespace_declaration|namespace_use_declaration>',
],
'shape_expression.shape_expression_fields' => keyset[
'list<list_item<field_initializer>>',
'missing',
],
'shape_expression.shape_expression_keyword' => keyset[
'token:shape',
],
'shape_expression.shape_expression_left_paren' => keyset[
'token:(',
],
'shape_expression.shape_expression_right_paren' => keyset[
'token:)',
],
'shape_type_specifier.shape_type_ellipsis' => keyset[
'missing',
'token:...',
],
'shape_type_specifier.shape_type_fields' => keyset[
'list<list_item<field_specifier>>',
'missing',
],
'shape_type_specifier.shape_type_keyword' => keyset[
'token:shape',
],
'shape_type_specifier.shape_type_left_paren' => keyset[
'token:(',
],
'shape_type_specifier.shape_type_right_paren' => keyset[
'token:)',
],
'simple_initializer.simple_initializer_equal' => keyset[
'token:=',
],
'simple_initializer.simple_initializer_value' => keyset[
'as_expression',
'binary_expression',
'collection_literal_expression',
'conditional_expression',
'darray_intrinsic_expression',
'dictionary_intrinsic_expression',
'function_call_expression',
'function_pointer_expression',
'keyset_intrinsic_expression',
'lambda_expression',
'literal',
'object_creation_expression',
'parenthesized_expression',
'prefix_unary_expression',
'qualified_name',
'scope_resolution_expression',
'shape_expression',
'token:name',
'tuple_expression',
'variable',
'varray_intrinsic_expression',
'vector_intrinsic_expression',
'xhp_expression',
],
'simple_type_specifier.simple_type_specifier' => keyset[
'qualified_name',
'token:XHP_class_name',
'token:arraykey',
'token:bool',
'token:darray',
'token:dict',
'token:float',
'token:int',
'token:keyset',
'token:mixed',
'token:name',
'token:noreturn',
'token:null',
'token:num',
'token:object',
'token:resource',
'token:string',
'token:this',
'token:var',
'token:varray',
'token:vec',
'token:void',
'token:xhp',
],
'subscript_expression.subscript_index' => keyset[
'binary_expression',
'cast_expression',
'function_call_expression',
'literal',
'member_selection_expression',
'missing',
'parenthesized_expression',
'postfix_unary_expression',
'prefix_unary_expression',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'variable',
],
'subscript_expression.subscript_left_bracket' => keyset[
'token:[',
],
'subscript_expression.subscript_receiver' => keyset[
'function_call_expression',
'literal',
'member_selection_expression',
'parenthesized_expression',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'variable',
'varray_intrinsic_expression',
'vector_intrinsic_expression',
],
'subscript_expression.subscript_right_bracket' => keyset[
'token:]',
],
'switch_fallthrough.fallthrough_keyword' => keyset[
'missing',
],
'switch_fallthrough.fallthrough_semicolon' => keyset[
'missing',
],
'switch_section.switch_section_fallthrough' => keyset[
'missing',
'switch_fallthrough',
],
'switch_section.switch_section_labels' => keyset[
'list<case_label>',
'list<case_label|default_label>',
'list<default_label>',
],
'switch_section.switch_section_statements' => keyset[
'list<break_statement>',
'list<break_statement|continue_statement>',
'list<break_statement|echo_statement>',
'list<break_statement|echo_statement|expression_statement>',
'list<break_statement|echo_statement|for_statement|switch_statement>',
'list<break_statement|echo_statement|switch_statement>',
'list<break_statement|expression_statement>',
'list<break_statement|expression_statement|if_statement>',
'list<break_statement|foreach_statement>',
'list<break_statement|if_statement>',
'list<break_statement|return_statement>',
'list<break_statement|switch_statement>',
'list<break_statement|throw_statement>',
'list<compound_statement>',
'list<continue_statement|echo_statement>',
'list<continue_statement|echo_statement|expression_statement>',
'list<do_statement>',
'list<echo_statement>',
'list<echo_statement|expression_statement>',
'list<echo_statement|expression_statement|return_statement>',
'list<expression_statement>',
'list<expression_statement|foreach_statement|if_statement>',
'list<expression_statement|if_statement|return_statement>',
'list<expression_statement|if_statement|return_statement|try_statement>',
'list<expression_statement|return_statement>',
'list<expression_statement|return_statement|try_statement>',
'list<expression_statement|throw_statement>',
'list<expression_statement|yield_break_statement>',
'list<foreach_statement>',
'list<if_statement>',
'list<return_statement>',
'list<throw_statement>',
'list<yield_break_statement>',
'missing',
],
'switch_statement.switch_expression' => keyset[
'binary_expression',
'cast_expression',
'function_call_expression',
'literal',
'member_selection_expression',
'object_creation_expression',
'prefix_unary_expression',
'subscript_expression',
'variable',
],
'switch_statement.switch_keyword' => keyset[
'token:switch',
],
'switch_statement.switch_left_brace' => keyset[
'token:{',
],
'switch_statement.switch_left_paren' => keyset[
'token:(',
],
'switch_statement.switch_right_brace' => keyset[
'token:}',
],
'switch_statement.switch_right_paren' => keyset[
'token:)',
],
'switch_statement.switch_sections' => keyset[
'list<switch_section>',
],
'throw_statement.throw_expression' => keyset[
'function_call_expression',
'lambda_expression',
'literal',
'member_selection_expression',
'object_creation_expression',
'parenthesized_expression',
'variable',
],
'throw_statement.throw_keyword' => keyset[
'token:throw',
],
'throw_statement.throw_semicolon' => keyset[
'token:;',
],
'trait_use.trait_use_keyword' => keyset[
'token:use',
],
'trait_use.trait_use_names' => keyset[
'list<list_item<generic_type_specifier>>',
'list<list_item<generic_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<simple_type_specifier>>',
],
'trait_use.trait_use_semicolon' => keyset[
'token:;',
],
'trait_use_alias_item.trait_use_alias_item_aliased_name' => keyset[
'missing',
'simple_type_specifier',
],
'trait_use_alias_item.trait_use_alias_item_aliasing_name' => keyset[
'scope_resolution_expression',
'simple_type_specifier',
],
'trait_use_alias_item.trait_use_alias_item_keyword' => keyset[
'token:as',
],
'trait_use_alias_item.trait_use_alias_item_modifiers' => keyset[
'list<token:private>',
'list<token:protected>',
'list<token:public>',
'missing',
],
'trait_use_conflict_resolution.trait_use_conflict_resolution_clauses' =>
keyset[
'list<list_item<trait_use_alias_item>>',
'list<list_item<trait_use_alias_item>|list_item<trait_use_precedence_item>>',
'list<list_item<trait_use_precedence_item>>',
'missing',
],
'trait_use_conflict_resolution.trait_use_conflict_resolution_keyword' =>
keyset[
'token:use',
],
'trait_use_conflict_resolution.trait_use_conflict_resolution_left_brace' =>
keyset[
'token:{',
],
'trait_use_conflict_resolution.trait_use_conflict_resolution_names' => keyset[
'list<list_item<simple_type_specifier>>',
],
'trait_use_conflict_resolution.trait_use_conflict_resolution_right_brace' =>
keyset[
'token:}',
],
'trait_use_precedence_item.trait_use_precedence_item_keyword' => keyset[
'token:insteadof',
],
'trait_use_precedence_item.trait_use_precedence_item_name' => keyset[
'scope_resolution_expression',
],
'trait_use_precedence_item.trait_use_precedence_item_removed_names' => keyset[
'list<list_item<simple_type_specifier>>',
],
'try_statement.try_catch_clauses' => keyset[
'list<catch_clause>',
'missing',
],
'try_statement.try_compound_statement' => keyset[
'compound_statement',
],
'try_statement.try_finally_clause' => keyset[
'finally_clause',
'missing',
],
'try_statement.try_keyword' => keyset[
'token:try',
],
'tuple_expression.tuple_expression_items' => keyset[
'list<list_item<binary_expression>>',
'list<list_item<cast_expression>>',
'list<list_item<collection_literal_expression>|list_item<darray_intrinsic_expression>>',
'list<list_item<collection_literal_expression>|list_item<dictionary_intrinsic_expression>>',
'list<list_item<collection_literal_expression>|list_item<literal>>',
'list<list_item<collection_literal_expression>|list_item<variable>>',
'list<list_item<darray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<dictionary_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>>',
'list<list_item<darray_intrinsic_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<function_call_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<literal>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<function_call_expression>>',
'list<list_item<function_call_expression>|list_item<literal>>',
'list<list_item<function_call_expression>|list_item<variable>>',
'list<list_item<function_pointer_expression>|list_item<literal>>',
'list<list_item<keyset_intrinsic_expression>|list_item<literal>>',
'list<list_item<lambda_expression>|list_item<object_creation_expression>>',
'list<list_item<literal>>',
'list<list_item<literal>|list_item<object_creation_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<scope_resolution_expression>>',
'list<list_item<literal>|list_item<shape_expression>>',
'list<list_item<literal>|list_item<subscript_expression>>',
'list<list_item<literal>|list_item<token:name>>',
'list<list_item<literal>|list_item<tuple_expression>>',
'list<list_item<literal>|list_item<variable>>',
'list<list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<vector_intrinsic_expression>>',
'list<list_item<member_selection_expression>>',
'list<list_item<object_creation_expression>>',
'list<list_item<object_creation_expression>|list_item<variable>>',
'list<list_item<subscript_expression>>',
'list<list_item<subscript_expression>|list_item<variable>>',
'list<list_item<variable>>',
'list<list_item<varray_intrinsic_expression>>',
'list<list_item<vector_intrinsic_expression>>',
'missing',
],
'tuple_expression.tuple_expression_keyword' => keyset[
'token:tuple',
],
'tuple_expression.tuple_expression_left_paren' => keyset[
'token:(',
],
'tuple_expression.tuple_expression_right_paren' => keyset[
'token:)',
],
'tuple_type_specifier.tuple_left_paren' => keyset[
'token:(',
],
'tuple_type_specifier.tuple_right_paren' => keyset[
'token:)',
],
'tuple_type_specifier.tuple_types' => keyset[
'list<list_item<closure_type_specifier>|list_item<generic_type_specifier>>',
'list<list_item<closure_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<dictionary_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<generic_type_specifier>>',
'list<list_item<generic_type_specifier>|list_item<nullable_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<generic_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<generic_type_specifier>|list_item<type_constant>>',
'list<list_item<like_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<nullable_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<simple_type_specifier>>',
'list<list_item<simple_type_specifier>|list_item<tuple_type_specifier>>',
'list<list_item<simple_type_specifier>|list_item<type_constant>>',
'list<list_item<simple_type_specifier>|list_item<varray_type_specifier>>',
'list<list_item<simple_type_specifier>|list_item<vector_type_specifier>>',
'list<list_item<tuple_type_specifier>>',
'list<list_item<type_constant>>',
'list<list_item<varray_type_specifier>>',
'list<list_item<vector_type_specifier>>',
],
'type_arguments.type_arguments_left_angle' => keyset[
'token:<',
],
'type_arguments.type_arguments_right_angle' => keyset[
'token:>',
],
'type_arguments.type_arguments_types' => keyset[
'list<list_item<attributized_specifier>>',
'list<list_item<attributized_specifier>|list_item<simple_type_specifier>>',
'list<list_item<classname_type_specifier>>',
'list<list_item<classname_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<closure_type_specifier>>',
'list<list_item<closure_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<darray_type_specifier>>',
'list<list_item<darray_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<dictionary_type_specifier>>',
'list<list_item<dictionary_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<generic_type_specifier>>',
'list<list_item<generic_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<keyset_type_specifier>>',
'list<list_item<like_type_specifier>>',
'list<list_item<nullable_type_specifier>>',
'list<list_item<nullable_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<shape_type_specifier>>',
'list<list_item<shape_type_specifier>|list_item<simple_type_specifier>>',
'list<list_item<simple_type_specifier>>',
'list<list_item<simple_type_specifier>|list_item<tuple_type_specifier>>',
'list<list_item<simple_type_specifier>|list_item<type_constant>>',
'list<list_item<simple_type_specifier>|list_item<varray_type_specifier>>',
'list<list_item<tuple_type_specifier>>',
'list<list_item<type_constant>>',
'list<list_item<varray_type_specifier>>',
'list<list_item<vector_type_specifier>>',
'missing',
],
'type_const_declaration.type_const_attribute_spec' => keyset[
'missing',
'old_attribute_specification',
],
'type_const_declaration.type_const_equal' => keyset[
'missing',
'token:=',
],
'type_const_declaration.type_const_keyword' => keyset[
'token:const',
],
'type_const_declaration.type_const_modifiers' => keyset[
'list<token:abstract>',
'missing',
],
'type_const_declaration.type_const_name' => keyset[
'token:name',
],
'type_const_declaration.type_const_semicolon' => keyset[
'token:;',
],
'type_const_declaration.type_const_type_constraint' => keyset[
'missing',
'type_constraint',
],
'type_const_declaration.type_const_type_keyword' => keyset[
'token:type',
],
'type_const_declaration.type_const_type_parameters' => keyset[
'missing',
],
'type_const_declaration.type_const_type_specifier' => keyset[
'classname_type_specifier',
'closure_type_specifier',
'darray_type_specifier',
'dictionary_type_specifier',
'generic_type_specifier',
'keyset_type_specifier',
'like_type_specifier',
'missing',
'nullable_type_specifier',
'shape_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
'type_constant',
'varray_type_specifier',
'vector_type_specifier',
],
'type_constant.type_constant_left_type' => keyset[
'token:name',
'token:self',
'token:this',
'token:variable',
'type_constant',
],
'type_constant.type_constant_right_type' => keyset[
'token:name',
],
'type_constant.type_constant_separator' => keyset[
'token:::',
],
'type_constraint.constraint_keyword' => keyset[
'token:as',
'token:super',
],
'type_constraint.constraint_type' => keyset[
'classname_type_specifier',
'closure_type_specifier',
'generic_type_specifier',
'like_type_specifier',
'nullable_type_specifier',
'shape_type_specifier',
'simple_type_specifier',
'type_constant',
'varray_type_specifier',
'vector_type_specifier',
],
'type_parameter.type_attribute_spec' => keyset[
'missing',
'old_attribute_specification',
],
'type_parameter.type_constraints' => keyset[
'list<type_constraint>',
'missing',
],
'type_parameter.type_name' => keyset[
'token:name',
],
'type_parameter.type_param_params' => keyset[
'missing',
'type_parameters',
],
'type_parameter.type_reified' => keyset[
'missing',
'token:reify',
],
'type_parameter.type_variance' => keyset[
'missing',
'token:+',
'token:-',
],
'type_parameters.type_parameters_left_angle' => keyset[
'token:<',
],
'type_parameters.type_parameters_parameters' => keyset[
'list<list_item<type_parameter>>',
],
'type_parameters.type_parameters_right_angle' => keyset[
'token:>',
],
'unset_statement.unset_keyword' => keyset[
'token:unset',
],
'unset_statement.unset_left_paren' => keyset[
'token:(',
],
'unset_statement.unset_right_paren' => keyset[
'token:)',
],
'unset_statement.unset_semicolon' => keyset[
'token:;',
],
'unset_statement.unset_variables' => keyset[
'list<list_item<member_selection_expression>>',
'list<list_item<scope_resolution_expression>>',
'list<list_item<subscript_expression>>',
'list<list_item<variable>>',
],
'using_statement_block_scoped.using_block_await_keyword' => keyset[
'missing',
'token:await',
],
'using_statement_block_scoped.using_block_body' => keyset[
'compound_statement',
],
'using_statement_block_scoped.using_block_expressions' => keyset[
'list<list_item<anonymous_function>>',
'list<list_item<binary_expression>>',
'list<list_item<lambda_expression>>',
'list<list_item<object_creation_expression>>',
'list<list_item<object_creation_expression>|list_item<prefix_unary_expression>>',
'list<list_item<prefix_unary_expression>>',
'list<list_item<variable>>',
],
'using_statement_block_scoped.using_block_left_paren' => keyset[
'token:(',
],
'using_statement_block_scoped.using_block_right_paren' => keyset[
'token:)',
],
'using_statement_block_scoped.using_block_using_keyword' => keyset[
'token:using',
],
'using_statement_function_scoped.using_function_await_keyword' => keyset[
'missing',
'token:await',
],
'using_statement_function_scoped.using_function_expression' => keyset[
'binary_expression',
'lambda_expression',
'object_creation_expression',
'parenthesized_expression',
'prefix_unary_expression',
],
'using_statement_function_scoped.using_function_semicolon' => keyset[
'token:;',
],
'using_statement_function_scoped.using_function_using_keyword' => keyset[
'token:using',
],
'variadic_parameter.variadic_parameter_call_convention' => keyset[
'missing',
],
'variadic_parameter.variadic_parameter_ellipsis' => keyset[
'token:...',
],
'variadic_parameter.variadic_parameter_type' => keyset[
'closure_type_specifier',
'missing',
'simple_type_specifier',
'tuple_type_specifier',
],
'varray_intrinsic_expression.varray_intrinsic_explicit_type' => keyset[
'missing',
'type_arguments',
],
'varray_intrinsic_expression.varray_intrinsic_keyword' => keyset[
'token:varray',
],
'varray_intrinsic_expression.varray_intrinsic_left_bracket' => keyset[
'token:[',
],
'varray_intrinsic_expression.varray_intrinsic_members' => keyset[
'list<list_item<anonymous_function>>',
'list<list_item<anonymous_function>|list_item<function_pointer_expression>|list_item<literal>>',
'list<list_item<anonymous_function>|list_item<literal>>',
'list<list_item<awaitable_creation_expression>>',
'list<list_item<awaitable_creation_expression>|list_item<function_call_expression>>',
'list<list_item<binary_expression>>',
'list<list_item<binary_expression>|list_item<cast_expression>|list_item<token:name>>',
'list<list_item<binary_expression>|list_item<darray_intrinsic_expression>|list_item<literal>|list_item<object_creation_expression>|list_item<prefix_unary_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<binary_expression>|list_item<function_call_expression>>',
'list<list_item<binary_expression>|list_item<function_call_expression>|list_item<literal>>',
'list<list_item<binary_expression>|list_item<function_call_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<literal>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<object_creation_expression>|list_item<prefix_unary_expression>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<token:name>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<token:name>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<prefix_unary_expression>>',
'list<list_item<binary_expression>|list_item<subscript_expression>>',
'list<list_item<binary_expression>|list_item<token:name>>',
'list<list_item<binary_expression>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<cast_expression>|list_item<literal>>',
'list<list_item<cast_expression>|list_item<literal>|list_item<object_creation_expression>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<collection_literal_expression>>',
'list<list_item<collection_literal_expression>|list_item<darray_intrinsic_expression>|list_item<dictionary_intrinsic_expression>|list_item<keyset_intrinsic_expression>|list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<collection_literal_expression>|list_item<dictionary_intrinsic_expression>|list_item<function_pointer_expression>|list_item<keyset_intrinsic_expression>|list_item<literal>|list_item<vector_intrinsic_expression>>',
'list<list_item<collection_literal_expression>|list_item<dictionary_intrinsic_expression>|list_item<keyset_intrinsic_expression>|list_item<variable>|list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<collection_literal_expression>|list_item<literal>>',
'list<list_item<conditional_expression>>',
'list<list_item<conditional_expression>|list_item<literal>>',
'list<list_item<darray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<dictionary_intrinsic_expression>|list_item<function_call_expression>|list_item<keyset_intrinsic_expression>|list_item<literal>|list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<dictionary_intrinsic_expression>|list_item<keyset_intrinsic_expression>|list_item<literal>|list_item<object_creation_expression>|list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>|list_item<object_creation_expression>|list_item<prefix_unary_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>|list_item<object_creation_expression>|list_item<prefix_unary_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>|list_item<object_creation_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<keyset_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<literal>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<function_call_expression>>',
'list<list_item<function_call_expression>|list_item<literal>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<function_call_expression>|list_item<prefix_unary_expression>>',
'list<list_item<function_call_expression>|list_item<scope_resolution_expression>>',
'list<list_item<function_call_expression>|list_item<scope_resolution_expression>|list_item<subscript_expression>>',
'list<list_item<function_call_expression>|list_item<variable>>',
'list<list_item<function_pointer_expression>>',
'list<list_item<function_pointer_expression>|list_item<literal>>',
'list<list_item<function_pointer_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<isset_expression>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<keyset_intrinsic_expression>>',
'list<list_item<keyset_intrinsic_expression>|list_item<literal>>',
'list<list_item<keyset_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<lambda_expression>>',
'list<list_item<lambda_expression>|list_item<literal>>',
'list<list_item<literal>>',
'list<list_item<literal>|list_item<member_selection_expression>|list_item<prefix_unary_expression>|list_item<subscript_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<object_creation_expression>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<prefix_unary_expression>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<prefix_unary_expression>|list_item<token:name>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<prefix_unary_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<scope_resolution_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<token:name>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<token:name>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<scope_resolution_expression>>',
'list<list_item<literal>|list_item<scope_resolution_expression>|list_item<variable>>',
'list<list_item<literal>|list_item<subscript_expression>>',
'list<list_item<literal>|list_item<token:name>>',
'list<list_item<literal>|list_item<token:name>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<variable>>',
'list<list_item<literal>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<vector_intrinsic_expression>>',
'list<list_item<member_selection_expression>>',
'list<list_item<member_selection_expression>|list_item<variable>>',
'list<list_item<member_selection_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<object_creation_expression>>',
'list<list_item<object_creation_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<postfix_unary_expression>|list_item<variable>>',
'list<list_item<prefix_unary_expression>>',
'list<list_item<prefix_unary_expression>|list_item<token:name>|list_item<varray_intrinsic_expression>>',
'list<list_item<qualified_name>>',
'list<list_item<qualified_name>|list_item<scope_resolution_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<scope_resolution_expression>>',
'list<list_item<scope_resolution_expression>|list_item<variable>>',
'list<list_item<subscript_expression>>',
'list<list_item<token:name>>',
'list<list_item<token:name>|list_item<variable>>',
'list<list_item<token:name>|list_item<varray_intrinsic_expression>>',
'list<list_item<tuple_expression>>',
'list<list_item<variable>>',
'list<list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<varray_intrinsic_expression>>',
'list<list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<vector_intrinsic_expression>>',
'missing',
],
'varray_intrinsic_expression.varray_intrinsic_right_bracket' => keyset[
'token:]',
],
'varray_type_specifier.varray_keyword' => keyset[
'token:varray',
],
'varray_type_specifier.varray_left_angle' => keyset[
'token:<',
],
'varray_type_specifier.varray_right_angle' => keyset[
'token:>',
],
'varray_type_specifier.varray_trailing_comma' => keyset[
'missing',
'token:,',
],
'varray_type_specifier.varray_type' => keyset[
'closure_type_specifier',
'darray_type_specifier',
'generic_type_specifier',
'nullable_type_specifier',
'shape_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
'varray_type_specifier',
],
'vector_intrinsic_expression.vector_intrinsic_explicit_type' => keyset[
'missing',
'type_arguments',
],
'vector_intrinsic_expression.vector_intrinsic_keyword' => keyset[
'token:vec',
],
'vector_intrinsic_expression.vector_intrinsic_left_bracket' => keyset[
'token:[',
],
'vector_intrinsic_expression.vector_intrinsic_members' => keyset[
'list<list_item<awaitable_creation_expression>|list_item<binary_expression>>',
'list<list_item<binary_expression>>',
'list<list_item<binary_expression>|list_item<function_call_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<binary_expression>|list_item<literal>|list_item<variable>>',
'list<list_item<collection_literal_expression>>',
'list<list_item<collection_literal_expression>|list_item<darray_intrinsic_expression>|list_item<dictionary_intrinsic_expression>|list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<collection_literal_expression>|list_item<literal>|list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<conditional_expression>>',
'list<list_item<darray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<dictionary_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<dictionary_intrinsic_expression>|list_item<function_call_expression>|list_item<keyset_intrinsic_expression>|list_item<literal>|list_item<object_creation_expression>|list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<dictionary_intrinsic_expression>|list_item<function_call_expression>|list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<dictionary_intrinsic_expression>|list_item<keyset_intrinsic_expression>|list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<dictionary_intrinsic_expression>|list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<literal>>',
'list<list_item<darray_intrinsic_expression>|list_item<object_creation_expression>|list_item<shape_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<variable>|list_item<varray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<darray_intrinsic_expression>|list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<function_call_expression>|list_item<keyset_intrinsic_expression>|list_item<literal>|list_item<vector_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<keyset_intrinsic_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<keyset_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<literal>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<literal>|list_item<prefix_unary_expression>|list_item<token:name>|list_item<varray_intrinsic_expression>>',
'list<list_item<dictionary_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<enum_class_label>>',
'list<list_item<function_call_expression>>',
'list<list_item<function_call_expression>|list_item<keyset_intrinsic_expression>|list_item<variable>>',
'list<list_item<function_call_expression>|list_item<literal>>',
'list<list_item<function_call_expression>|list_item<literal>|list_item<object_creation_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<function_call_expression>|list_item<object_creation_expression>|list_item<variable>>',
'list<list_item<function_call_expression>|list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<function_pointer_expression>>',
'list<list_item<keyset_intrinsic_expression>>',
'list<list_item<keyset_intrinsic_expression>|list_item<literal>>',
'list<list_item<keyset_intrinsic_expression>|list_item<variable>>',
'list<list_item<lambda_expression>>',
'list<list_item<literal>>',
'list<list_item<literal>|list_item<object_creation_expression>>',
'list<list_item<literal>|list_item<object_creation_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>>',
'list<list_item<literal>|list_item<prefix_unary_expression>|list_item<token:name>>',
'list<list_item<literal>|list_item<scope_resolution_expression>>',
'list<list_item<literal>|list_item<token:name>>',
'list<list_item<literal>|list_item<variable>>',
'list<list_item<literal>|list_item<varray_intrinsic_expression>>',
'list<list_item<literal>|list_item<vector_intrinsic_expression>>',
'list<list_item<member_selection_expression>|list_item<variable>>',
'list<list_item<object_creation_expression>>',
'list<list_item<object_creation_expression>|list_item<varray_intrinsic_expression>>',
'list<list_item<prefix_unary_expression>>',
'list<list_item<scope_resolution_expression>>',
'list<list_item<shape_expression>>',
'list<list_item<subscript_expression>>',
'list<list_item<subscript_expression>|list_item<variable>>',
'list<list_item<token:name>>',
'list<list_item<tuple_expression>>',
'list<list_item<variable>>',
'list<list_item<varray_intrinsic_expression>>',
'list<list_item<varray_intrinsic_expression>|list_item<vector_intrinsic_expression>>',
'list<list_item<vector_intrinsic_expression>>',
'list<list_item<xhp_expression>>',
'missing',
],
'vector_intrinsic_expression.vector_intrinsic_right_bracket' => keyset[
'token:]',
],
'vector_type_specifier.vector_type_keyword' => keyset[
'token:vec',
],
'vector_type_specifier.vector_type_left_angle' => keyset[
'token:<',
],
'vector_type_specifier.vector_type_right_angle' => keyset[
'token:>',
],
'vector_type_specifier.vector_type_trailing_comma' => keyset[
'missing',
],
'vector_type_specifier.vector_type_type' => keyset[
'classname_type_specifier',
'darray_type_specifier',
'dictionary_type_specifier',
'generic_type_specifier',
'like_type_specifier',
'nullable_type_specifier',
'shape_type_specifier',
'simple_type_specifier',
'tuple_type_specifier',
'type_constant',
'vector_type_specifier',
],
'where_clause.where_clause_constraints' => keyset[
'list<list_item<where_constraint>>',
],
'where_clause.where_clause_keyword' => keyset[
'token:where',
],
'where_constraint.where_constraint_left_type' => keyset[
'generic_type_specifier',
'simple_type_specifier',
'type_constant',
'vector_type_specifier',
],
'where_constraint.where_constraint_operator' => keyset[
'token:=',
'token:as',
'token:super',
],
'where_constraint.where_constraint_right_type' => keyset[
'dictionary_type_specifier',
'generic_type_specifier',
'nullable_type_specifier',
'simple_type_specifier',
'type_constant',
'vector_type_specifier',
],
'while_statement.while_body' => keyset[
'compound_statement',
'continue_statement',
'expression_statement',
],
'while_statement.while_condition' => keyset[
'binary_expression',
'function_call_expression',
'is_expression',
'literal',
'member_selection_expression',
'parenthesized_expression',
'postfix_unary_expression',
'prefix_unary_expression',
'variable',
],
'while_statement.while_keyword' => keyset[
'token:while',
],
'while_statement.while_left_paren' => keyset[
'token:(',
],
'while_statement.while_right_paren' => keyset[
'token:)',
],
'xhp_children_declaration.xhp_children_expression' => keyset[
'token:empty',
'xhp_children_parenthesized_list',
],
'xhp_children_declaration.xhp_children_keyword' => keyset[
'token:children',
],
'xhp_children_declaration.xhp_children_semicolon' => keyset[
'token:;',
],
'xhp_children_parenthesized_list.xhp_children_list_left_paren' => keyset[
'token:(',
],
'xhp_children_parenthesized_list.xhp_children_list_right_paren' => keyset[
'token:)',
],
'xhp_children_parenthesized_list.xhp_children_list_xhp_children' => keyset[
'list<list_item<postfix_unary_expression>|list_item<token:name>>',
'list<list_item<token:name>>',
],
'xhp_class_attribute.xhp_attribute_decl_initializer' => keyset[
'missing',
'simple_initializer',
],
'xhp_class_attribute.xhp_attribute_decl_name' => keyset[
'token:XHP_element_name',
],
'xhp_class_attribute.xhp_attribute_decl_required' => keyset[
'missing',
'xhp_lateinit',
'xhp_required',
],
'xhp_class_attribute.xhp_attribute_decl_type' => keyset[
'darray_type_specifier',
'generic_type_specifier',
'nullable_type_specifier',
'simple_type_specifier',
'varray_type_specifier',
'xhp_enum_type',
],
'xhp_class_attribute_declaration.xhp_attribute_attributes' => keyset[
'list<list_item<xhp_class_attribute>>',
'list<list_item<xhp_class_attribute>|list_item<xhp_simple_class_attribute>>',
'list<list_item<xhp_simple_class_attribute>>',
],
'xhp_class_attribute_declaration.xhp_attribute_keyword' => keyset[
'token:attribute',
],
'xhp_class_attribute_declaration.xhp_attribute_semicolon' => keyset[
'token:;',
],
'xhp_close.xhp_close_left_angle' => keyset[
'token:</',
],
'xhp_close.xhp_close_name' => keyset[
'token:XHP_element_name',
],
'xhp_close.xhp_close_right_angle' => keyset[
'token:>',
],
'xhp_enum_type.xhp_enum_keyword' => keyset[
'token:enum',
],
'xhp_enum_type.xhp_enum_left_brace' => keyset[
'token:{',
],
'xhp_enum_type.xhp_enum_like' => keyset[
'missing',
'token:~',
],
'xhp_enum_type.xhp_enum_right_brace' => keyset[
'token:}',
],
'xhp_enum_type.xhp_enum_values' => keyset[
'list<list_item<literal>>',
],
'xhp_expression.xhp_body' => keyset[
'list<braced_expression>',
'list<braced_expression|token:XHP_comment>',
'list<braced_expression|token:XHP_comment|xhp_expression>',
'list<token:XHP_body>',
'list<token:XHP_body|xhp_expression>',
'list<token:XHP_comment>',
'list<xhp_expression>',
'missing',
],
'xhp_expression.xhp_close' => keyset[
'missing',
'xhp_close',
],
'xhp_expression.xhp_open' => keyset[
'xhp_open',
],
'xhp_lateinit.xhp_lateinit_at' => keyset[
'token:@',
],
'xhp_lateinit.xhp_lateinit_keyword' => keyset[
'token:lateinit',
],
'xhp_open.xhp_open_attributes' => keyset[
'list<xhp_simple_attribute>',
'list<xhp_simple_attribute|xhp_spread_attribute>',
'list<xhp_spread_attribute>',
'missing',
],
'xhp_open.xhp_open_left_angle' => keyset[
'token:<',
],
'xhp_open.xhp_open_name' => keyset[
'token:XHP_element_name',
],
'xhp_open.xhp_open_right_angle' => keyset[
'token:/>',
'token:>',
],
'xhp_required.xhp_required_at' => keyset[
'token:@',
],
'xhp_required.xhp_required_keyword' => keyset[
'token:required',
],
'xhp_simple_attribute.xhp_simple_attribute_equal' => keyset[
'token:=',
],
'xhp_simple_attribute.xhp_simple_attribute_expression' => keyset[
'braced_expression',
'token:XHP_string_literal',
],
'xhp_simple_attribute.xhp_simple_attribute_name' => keyset[
'token:XHP_element_name',
],
'xhp_simple_class_attribute.xhp_simple_class_attribute_type' => keyset[
'simple_type_specifier',
],
'xhp_spread_attribute.xhp_spread_attribute_expression' => keyset[
'variable',
'xhp_expression',
],
'xhp_spread_attribute.xhp_spread_attribute_left_brace' => keyset[
'token:{',
],
'xhp_spread_attribute.xhp_spread_attribute_right_brace' => keyset[
'token:}',
],
'xhp_spread_attribute.xhp_spread_attribute_spread_operator' => keyset[
'token:...',
],
'yield_break_statement.yield_break_break' => keyset[
'token:break',
],
'yield_break_statement.yield_break_keyword' => keyset[
'token:yield',
],
'yield_break_statement.yield_break_semicolon' => keyset[
'token:;',
],
'yield_expression.yield_keyword' => keyset[
'token:yield',
],
'yield_expression.yield_operand' => keyset[
'anonymous_function',
'binary_expression',
'element_initializer',
'function_call_expression',
'lambda_expression',
'literal',
'member_selection_expression',
'missing',
'parenthesized_expression',
'postfix_unary_expression',
'prefix_unary_expression',
'scope_resolution_expression',
'subscript_expression',
'token:name',
'tuple_expression',
'variable',
],
];