@@ -56,6 +56,44 @@ supertypes:
5656 - tuple_expression
5757 - value_pack_expansion
5858 - value_parameter_pack
59+ global_declaration :
60+ - associatedtype_declaration
61+ - class_declaration
62+ - function_declaration
63+ - import_declaration
64+ - init_declaration
65+ - macro_declaration
66+ - operator_declaration
67+ - precedence_group_declaration
68+ - property_declaration
69+ - protocol_declaration
70+ - typealias_declaration
71+ local_declaration :
72+ - class_declaration
73+ - function_declaration
74+ - property_declaration
75+ - typealias_declaration
76+ protocol_member_declaration :
77+ - associatedtype_declaration
78+ - deinit_declaration
79+ - init_declaration
80+ - protocol_function_declaration
81+ - protocol_property_declaration
82+ - subscript_declaration
83+ - typealias_declaration
84+ type_level_declaration :
85+ - associatedtype_declaration
86+ - class_declaration
87+ - deinit_declaration
88+ - function_declaration
89+ - import_declaration
90+ - init_declaration
91+ - operator_declaration
92+ - precedence_group_declaration
93+ - property_declaration
94+ - protocol_declaration
95+ - subscript_declaration
96+ - typealias_declaration
5997 unannotated_type :
6098 - array_type
6199 - dictionary_type
@@ -128,7 +166,7 @@ named:
128166 target : expression
129167 type : type
130168 class_body :
131- $children* : [associatedtype_declaration, class_declaration, deinit_declaration, function_declaration, import_declaration, init_declaration, multiline_comment, operator_declaration, precedence_group_declaration, property_declaration, protocol_declaration, subscript_declaration, typealias_declaration ]
169+ $children* : [multiline_comment, type_level_declaration ]
132170 class_declaration :
133171 $children* : [attribute, inheritance_modifier, inheritance_specifier, modifiers, ownership_modifier, property_behavior_modifier, type_constraints, type_parameters]
134172 body : [class_body, enum_class_body]
@@ -188,7 +226,7 @@ named:
188226 $children* : [catch_block, statements]
189227 else :
190228 enum_class_body :
191- $children* : [associatedtype_declaration, class_declaration, deinit_declaration, enum_entry, function_declaration, import_declaration, init_declaration, operator_declaration, precedence_group_declaration, property_declaration, protocol_declaration, subscript_declaration, typealias_declaration ]
229+ $children* : [enum_entry, type_level_declaration ]
192230 enum_entry :
193231 $children? : modifiers
194232 data_contents* : enum_type_parameters
@@ -372,8 +410,7 @@ named:
372410 value* : expression
373411 property_modifier :
374412 protocol_body :
375- $children* : [associatedtype_declaration, deinit_declaration, init_declaration, protocol_function_declaration, protocol_property_declaration, subscript_declaration, typealias_declaration]
376- body* : protocol_function_declaration
413+ $children* : protocol_member_declaration
377414 protocol_composition_type :
378415 $children+ : unannotated_type
379416 protocol_declaration :
@@ -382,9 +419,10 @@ named:
382419 declaration_kind : " protocol"
383420 name : type_identifier
384421 protocol_function_declaration :
385- $children* : [attribute, modifiers, parameter, statements, throws, throws_clause, type_constraints, type_parameters]
422+ $children* : [attribute, modifiers, parameter, throws, throws_clause, type_constraints, type_parameters]
423+ body? : function_body
386424 default_value* : expression
387- name? : [referenceable_operator, simple_identifier]
425+ name : [referenceable_operator, simple_identifier]
388426 return_type? : [implicitly_unwrapped_type, type]
389427 protocol_property_declaration :
390428 $children+ : [modifiers, protocol_property_requirements, type_annotation, type_constraints]
@@ -421,11 +459,11 @@ named:
421459 shebang_line :
422460 simple_identifier :
423461 source_file :
424- $children* : [associatedtype_declaration, class_declaration, do_statement, expression, for_statement, function_declaration , guard_statement, import_declaration, init_declaration, macro_declaration, operator_declaration, precedence_group_declaration, property_declaration, protocol_declaration, repeat_while_statement, shebang_line, statement_label, throw_keyword, typealias_declaration , while_statement]
462+ $children* : [do_statement, expression, for_statement, global_declaration , guard_statement, repeat_while_statement, shebang_line, statement_label, throw_keyword, while_statement]
425463 special_literal :
426464 statement_label :
427465 statements :
428- $children+ : [class_declaration, control_transfer_statement, do_statement, expression, for_statement, function_declaration, guard_statement, property_declaration , repeat_while_statement, statement_label, typealias_declaration , while_statement]
466+ $children+ : [control_transfer_statement, do_statement, expression, for_statement, guard_statement, local_declaration , repeat_while_statement, statement_label, while_statement]
429467 str_escaped_char :
430468 subscript_declaration :
431469 $children+ : [attribute, computed_property, modifiers, parameter, type_constraints, type_parameters]
0 commit comments