From eecb7086f6d7b9b717652baefd5174d77e466d39 Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Wed, 1 May 2024 16:16:28 -0400 Subject: [PATCH 1/3] refactor: move and flatten tests to `test/` --- corpus/classes.txt | 663 ------ corpus/enums.txt | 59 - corpus/interfaces.txt | 335 --- corpus/literals.txt | 1263 ---------- corpus/records.txt | 527 ----- corpus/statements.txt | 2039 ----------------- corpus/structs.txt | 140 -- {corpus => test/corpus}/attributes.txt | 261 +-- test/corpus/classes.txt | 365 +++ .../corpus}/contextual-keywords.txt | 0 test/corpus/enums.txt | 22 + {corpus => test/corpus}/expressions.txt | 191 +- {corpus => test/corpus}/identifiers.txt | 78 +- test/corpus/interfaces.txt | 210 ++ test/corpus/literals.txt | 793 +++++++ {corpus => test/corpus}/preprocessor.txt | 130 +- {corpus => test/corpus}/query-syntax.txt | 253 +- test/corpus/records.txt | 193 ++ .../corpus}/source-file-structure.txt | 181 +- test/corpus/statements.txt | 1086 +++++++++ test/corpus/structs.txt | 73 + {corpus => test/corpus}/type-events.txt | 36 +- {corpus => test/corpus}/type-fields.txt | 219 +- {corpus => test/corpus}/type-methods.txt | 357 +-- {corpus => test/corpus}/type-operators.txt | 0 {corpus => test/corpus}/type-properties.txt | 132 +- 26 files changed, 3301 insertions(+), 6305 deletions(-) delete mode 100644 corpus/classes.txt delete mode 100644 corpus/enums.txt delete mode 100644 corpus/interfaces.txt delete mode 100644 corpus/literals.txt delete mode 100644 corpus/records.txt delete mode 100644 corpus/statements.txt delete mode 100644 corpus/structs.txt rename {corpus => test/corpus}/attributes.txt (65%) create mode 100644 test/corpus/classes.txt rename {corpus => test/corpus}/contextual-keywords.txt (100%) create mode 100644 test/corpus/enums.txt rename {corpus => test/corpus}/expressions.txt (94%) rename {corpus => test/corpus}/identifiers.txt (65%) create mode 100644 test/corpus/interfaces.txt create mode 100644 test/corpus/literals.txt rename {corpus => test/corpus}/preprocessor.txt (67%) rename {corpus => test/corpus}/query-syntax.txt (55%) create mode 100644 test/corpus/records.txt rename {corpus => test/corpus}/source-file-structure.txt (55%) create mode 100644 test/corpus/statements.txt create mode 100644 test/corpus/structs.txt rename {corpus => test/corpus}/type-events.txt (74%) rename {corpus => test/corpus}/type-fields.txt (66%) rename {corpus => test/corpus}/type-methods.txt (54%) rename {corpus => test/corpus}/type-operators.txt (100%) rename {corpus => test/corpus}/type-properties.txt (64%) diff --git a/corpus/classes.txt b/corpus/classes.txt deleted file mode 100644 index 1c10affc..00000000 --- a/corpus/classes.txt +++ /dev/null @@ -1,663 +0,0 @@ -================================================================================ -Global empty class -================================================================================ - -public class F {} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - body: (declaration_list))) - -================================================================================ -Class base is dynamic -================================================================================ - -public class F : dynamic { } - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - bases: (base_list - (identifier)) - body: (declaration_list))) - -================================================================================ -Class base is object with interfaces -================================================================================ - -public class F : object, IAlpha, IOmega { } - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - bases: (base_list - (predefined_type) - (identifier) - (identifier)) - body: (declaration_list))) - -================================================================================ -Partial class -================================================================================ - -public partial class F {} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - (modifier) - name: (identifier) - body: (declaration_list))) - -================================================================================ -Class with a single type parameter -================================================================================ - -class F {} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - body: (declaration_list))) - -================================================================================ -Class with multiple type parameters -================================================================================ - -internal class F {} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier)) - (type_parameter - name: (identifier))) - body: (declaration_list))) - -================================================================================ -Class with co-variant and contra-variant type parameters -================================================================================ - -internal class F {} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier)) - (type_parameter - name: (identifier))) - body: (declaration_list))) - -================================================================================ -Class with a type parameter struct constraint -================================================================================ - -public class F where T:struct {} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint)) - body: (declaration_list))) - -================================================================================ -Class with a type parameter unmanaged constraint -================================================================================ - -public class F where T:unmanaged {} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint)) - body: (declaration_list))) - -================================================================================ -Class with a type parameter class constraint -================================================================================ - -public class F where T:class {} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint)) - body: (declaration_list))) - -================================================================================ -Class with a type parameter and nullable constraints -================================================================================ - -public class F where T:class?, notnull, Mine? {} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint) - constraints: (type_parameter_constraint) - constraints: (type_parameter_constraint - (type_constraint - type: (nullable_type - type: (identifier))))) - body: (declaration_list))) - -================================================================================ -Class with type parameter new constraint -================================================================================ - -public class F where T: new() {} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (constructor_constraint))) - body: (declaration_list))) - -================================================================================ -Class with type parameter identifier constraint -================================================================================ - -public class F where T: I {} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier)))) - body: (declaration_list))) - -================================================================================ -Class with type parameter identifier and new constraints -================================================================================ - -public class F where T: I, new() {} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier))) - constraints: (type_parameter_constraint - (constructor_constraint))) - body: (declaration_list))) - -================================================================================ -Class with multiple type parameter constraints -================================================================================ - -private class F where T1 : I1, I2, new() where T2 : I2 { } - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier)) - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier))) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier))) - constraints: (type_parameter_constraint - (constructor_constraint))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier)))) - body: (declaration_list))) - -================================================================================ -Class with public constructor -================================================================================ - -class Foo { - public Foo() {} -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (constructor_declaration - (modifier) - name: (identifier) - parameters: (parameter_list) - body: (block))))) - -================================================================================ -Class with expression bodied constructor -================================================================================ - -class Foo { - public Foo(string name) => Name = name; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (constructor_declaration - (modifier) - name: (identifier) - parameters: (parameter_list - (parameter - type: (predefined_type) - name: (identifier))) - body: (arrow_expression_clause - (assignment_expression - left: (identifier) - (assignment_operator) - right: (identifier))))))) - -================================================================================ -Class with static constructor -================================================================================ - -class Foo { - static Foo() {} - static extern Foo() {} - extern static Foo() {} -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (constructor_declaration - (modifier) - name: (identifier) - parameters: (parameter_list) - body: (block)) - (constructor_declaration - (modifier) - (modifier) - name: (identifier) - parameters: (parameter_list) - body: (block)) - (constructor_declaration - (modifier) - (modifier) - name: (identifier) - parameters: (parameter_list) - body: (block))))) - -================================================================================ -Class with extern destructor -================================================================================ - -class Foo { - extern ~Foo() {} -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (destructor_declaration - name: (identifier) - parameters: (parameter_list) - body: (block))))) - -================================================================================ -Class with expression bodied destructor -================================================================================ - -class Foo { - ~Foo() => DoSomething(); -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (destructor_declaration - name: (identifier) - parameters: (parameter_list) - body: (arrow_expression_clause - (invocation_expression - function: (identifier) - arguments: (argument_list))))))) - -================================================================================ -Class with constants -================================================================================ - -class Foo { - private const int a = 1; - const string b = $"hello"; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (modifier) - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal))))) - (field_declaration - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_string_text))))))))) - -================================================================================ -Class with indexer -================================================================================ - -class Foo { - public bool this[int index] { - get { return a; } - set { a = value; } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (indexer_declaration - (modifier) - type: (predefined_type) - parameters: (bracketed_parameter_list - (parameter - type: (predefined_type) - name: (identifier))) - accessors: (accessor_list - (accessor_declaration - body: (block - (return_statement - (identifier)))) - (accessor_declaration - body: (block - (expression_statement - (assignment_expression - left: (identifier) - (assignment_operator) - right: (identifier)))))))))) - -================================================================================ -Class with expression bodied indexer -================================================================================ - -class Foo { - public bool this[int index] => a[index]; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (indexer_declaration - (modifier) - type: (predefined_type) - parameters: (bracketed_parameter_list - (parameter - type: (predefined_type) - name: (identifier))) - value: (arrow_expression_clause - (element_access_expression - expression: (identifier) - subscript: (bracketed_argument_list - (argument - (identifier))))))))) - -================================================================================ -Class with expression bodied indexer accessors -================================================================================ - -class Foo { - public string this[int index] - { - get => a[index]; - set => a[index] = value; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (indexer_declaration - (modifier) - type: (predefined_type) - parameters: (bracketed_parameter_list - (parameter - type: (predefined_type) - name: (identifier))) - accessors: (accessor_list - (accessor_declaration - body: (arrow_expression_clause - (element_access_expression - expression: (identifier) - subscript: (bracketed_argument_list - (argument - (identifier)))))) - (accessor_declaration - body: (arrow_expression_clause - (assignment_expression - left: (element_access_expression - expression: (identifier) - subscript: (bracketed_argument_list - (argument - (identifier)))) - (assignment_operator) - right: (identifier))))))))) - -================================================================================ -Class with varargs indexer -================================================================================ - -class A { - public int this[params string[] arguments] { - get { return 1; } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (indexer_declaration - (modifier) - type: (predefined_type) - parameters: (bracketed_parameter_list - type: (array_type - type: (predefined_type) - rank: (array_rank_specifier)) - name: (identifier)) - accessors: (accessor_list - (accessor_declaration - body: (block - (return_statement - (integer_literal))))))))) - -================================================================================ -Method with qualified return type -================================================================================ - -class A { - B.C d() { - return null; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (qualified_name - qualifier: (identifier) - name: (identifier)) - name: (identifier) - parameters: (parameter_list) - body: (block - (return_statement - (null_literal))))))) - -================================================================================ -Class and methods with Unicode identifiers -================================================================================ - -class Ωµ { - B.C d() { - return null; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (qualified_name - qualifier: (identifier) - name: (identifier)) - name: (identifier) - parameters: (parameter_list) - body: (block - (return_statement - (null_literal))))))) - -================================================================================ -File scoped class -================================================================================ - -file class A {} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (modifier) - name: (identifier) - body: (declaration_list))) diff --git a/corpus/enums.txt b/corpus/enums.txt deleted file mode 100644 index 5b47d848..00000000 --- a/corpus/enums.txt +++ /dev/null @@ -1,59 +0,0 @@ -================================================================================ -global enum with one option -================================================================================ - -enum A { One } - --------------------------------------------------------------------------------- - -(compilation_unit - (enum_declaration - name: (identifier) - body: (enum_member_declaration_list - (enum_member_declaration - name: (identifier))))) - -================================================================================ -enum with integer values -================================================================================ - -enum B { Ten = 10, Twenty = 20 } - --------------------------------------------------------------------------------- - -(compilation_unit - (enum_declaration - name: (identifier) - body: (enum_member_declaration_list - (enum_member_declaration - name: (identifier) - value: (integer_literal)) - (enum_member_declaration - name: (identifier) - value: (integer_literal))))) - -================================================================================ -enum with byte base -================================================================================ - -namespace A { - enum B : byte { Five = 0x05, Fifteen = 0x0F } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (namespace_declaration - name: (identifier) - body: (declaration_list - (enum_declaration - name: (identifier) - bases: (base_list - (predefined_type)) - body: (enum_member_declaration_list - (enum_member_declaration - name: (identifier) - value: (integer_literal)) - (enum_member_declaration - name: (identifier) - value: (integer_literal))))))) diff --git a/corpus/interfaces.txt b/corpus/interfaces.txt deleted file mode 100644 index 7a0568b2..00000000 --- a/corpus/interfaces.txt +++ /dev/null @@ -1,335 +0,0 @@ -================================================================================ -Global empty interface -================================================================================ - -public interface IOne {}; - --------------------------------------------------------------------------------- - -(compilation_unit - (interface_declaration - (modifier) - name: (identifier) - body: (declaration_list))) - -================================================================================ -Interface with properties -================================================================================ - -interface IOne { - byte Get { get; } - char Set { set; } - uint GetSet { get; set; } - long SetGet { set; get; } -}; - --------------------------------------------------------------------------------- - -(compilation_unit - (interface_declaration - name: (identifier) - body: (declaration_list - (property_declaration - type: (predefined_type) - name: (identifier) - accessors: (accessor_list - (accessor_declaration))) - (property_declaration - type: (predefined_type) - name: (identifier) - accessors: (accessor_list - (accessor_declaration))) - (property_declaration - type: (predefined_type) - name: (identifier) - accessors: (accessor_list - (accessor_declaration) - (accessor_declaration))) - (property_declaration - type: (predefined_type) - name: (identifier) - accessors: (accessor_list - (accessor_declaration) - (accessor_declaration)))))) - -================================================================================ -Interface with methods -================================================================================ - -interface IOne { - void Nothing(); - int Output(); - void Input(string a); - int InputOutput(string a); -}; - --------------------------------------------------------------------------------- - -(compilation_unit - (interface_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list)) - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list)) - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list - (parameter - type: (predefined_type) - name: (identifier)))) - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list - (parameter - type: (predefined_type) - name: (identifier))))))) - -================================================================================ -Interface base single -================================================================================ - -private interface IOne : ITwo { } - --------------------------------------------------------------------------------- - -(compilation_unit - (interface_declaration - (modifier) - name: (identifier) - bases: (base_list - (identifier)) - body: (declaration_list))) - -================================================================================ -Interface base multiple -================================================================================ - -private interface IOne : ITwo, IThree { } - --------------------------------------------------------------------------------- - -(compilation_unit - (interface_declaration - (modifier) - name: (identifier) - bases: (base_list - (identifier) - (identifier)) - body: (declaration_list))) - -================================================================================ -Interface generic -================================================================================ - -private interface IOne : ITwo { } - --------------------------------------------------------------------------------- - -(compilation_unit - (interface_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - bases: (base_list - (identifier)) - body: (declaration_list))) - -================================================================================ -Interface generic single constraint -================================================================================ - -private interface IOne : ITwo where T1:T2 { } - --------------------------------------------------------------------------------- - -(compilation_unit - (interface_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - bases: (base_list - (identifier)) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier)))) - body: (declaration_list))) - -================================================================================ -Interface generic multiple constraints -================================================================================ - -private interface IOne : ITwo where T1:T2 where T3:new() { } - --------------------------------------------------------------------------------- - -(compilation_unit - (interface_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier)) - (type_parameter - name: (identifier))) - bases: (base_list - (identifier)) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier)))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (constructor_constraint))) - body: (declaration_list))) - -================================================================================ -Interface in namespace -================================================================================ - -namespace A { - interface IOne : ITwo { } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (namespace_declaration - name: (identifier) - body: (declaration_list - (interface_declaration - name: (identifier) - bases: (base_list - (identifier)) - body: (declaration_list))))) - -================================================================================ -Interface event declarations -================================================================================ - -interface A { - event EventHandler SomeEvent; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (interface_declaration - name: (identifier) - body: (declaration_list - (event_field_declaration - (variable_declaration - type: (generic_name - name: (identifier) - type_arguments: (type_argument_list - (identifier))) - (variable_declarator - name: (identifier))))))) - -================================================================================ -Interface with indexer -================================================================================ - -interface A { - bool this[int index] { get; set; } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (interface_declaration - name: (identifier) - body: (declaration_list - (indexer_declaration - type: (predefined_type) - parameters: (bracketed_parameter_list - (parameter - type: (predefined_type) - name: (identifier))) - accessors: (accessor_list - (accessor_declaration) - (accessor_declaration)))))) - -================================================================================ -Interface with default method -================================================================================ - -interface MyDefault { - void Log(string message) { - Console.WriteLine(message); - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (interface_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list - (parameter - type: (predefined_type) - name: (identifier))) - body: (block - (expression_statement - (invocation_expression - function: (member_access_expression - expression: (identifier) - name: (identifier)) - arguments: (argument_list - (argument - (identifier)))))))))) - -================================================================================ -Static abstract members -================================================================================ - -public interface IGetNext where T : IGetNext -{ - static abstract T operator ++(T other); -} - --------------------------------------------------------------------------------- - -(compilation_unit - (interface_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (type_constraint - type: (generic_name - name: (identifier) - type_arguments: (type_argument_list - (identifier)))))) - body: (declaration_list - (operator_declaration - (modifier) - (modifier) - type: (identifier) - parameters: (parameter_list - (parameter - type: (identifier) - name: (identifier))))))) diff --git a/corpus/literals.txt b/corpus/literals.txt deleted file mode 100644 index b3045fd1..00000000 --- a/corpus/literals.txt +++ /dev/null @@ -1,1263 +0,0 @@ -================================================================================ -integer literals -================================================================================ - -const int dec = 1_2; -const long hex = 0xf_1l; -const long hex2 = 0Xffff; -const long hex3 = 0x_0_f; -const UInt64 dec = 1uL; -const UInt16 bin = 0b0100_100; -const UInt16 bin2 = 0B01010__10; -const long bin3 = 0b_0_10; --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal))))))) - -================================================================================ -boolean literals -================================================================================ - -const bool t = true, u = false; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (boolean_literal))) - (variable_declarator - name: (identifier) - (equals_value_clause - (boolean_literal))))))) - -================================================================================ -char literals -================================================================================ - -const char c = 'a'; -const char esc = '\n'; -const char hex = '\xf09a'; -const char uni16 = '\ua0bf'; -const char uni32 = '\UA0BFf9ca'; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (character_literal - (character_literal_unescaped))))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (character_literal - (escape_sequence))))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (character_literal - (escape_sequence))))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (character_literal - (escape_sequence))))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (character_literal - (escape_sequence)))))))) - -================================================================================ -real literals -================================================================================ - -const float s = 012.23F; -const float e = 1e6f; -const Single en = 0e-1f; -const Single ep = 1_1e+12f; -const double d = 0.9_9d; -const double e = .4_9d; -const decimal m = 0_1_2.9m; -const Decimal m2 = 102.349M; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (real_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (real_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (real_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (real_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (real_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (real_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (real_literal)))))) - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (real_literal))))))) - -================================================================================ -null literals -================================================================================ - -const string x = null; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (null_literal))))))) - -================================================================================ -string literals -================================================================================ - -class A { - String e = ""; - string s = "a"; - string m = "abc"; - string esc = "ab\"\t"; - string hex = "ab\x22r"; - string hex2 = "\x22r\x00"; - string u16 = "\ub0d0ok"; - string u32 = "\uF1D20ff0test"; - string ve = @""; - string v = @"abcde\ef"; - string quotes = @""; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal))))) - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal - (string_literal_fragment)))))) - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal - (string_literal_fragment)))))) - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal - (string_literal_fragment) - (escape_sequence) - (escape_sequence)))))) - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal - (string_literal_fragment) - (escape_sequence) - (string_literal_fragment)))))) - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal - (escape_sequence) - (string_literal_fragment) - (escape_sequence)))))) - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal - (escape_sequence) - (string_literal_fragment)))))) - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal - (escape_sequence) - (string_literal_fragment)))))) - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (verbatim_string_literal))))) - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (verbatim_string_literal))))) - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (verbatim_string_literal)))))))) - -================================================================================ -string literals -================================================================================ - -var e = @"This -is -a -multi-line"; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (verbatim_string_literal))))))) - -================================================================================ -string literals containing the line comment token -================================================================================ - -class A { - string s = "//\n//"; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal - (string_literal_fragment) - (escape_sequence) - (string_literal_fragment))))))))) - -================================================================================ -utf-8 string literals -================================================================================ - -var a = "lower"u8; -var b = "upper"U8; -var c = @"lower"u8; -var d = @"upper"U8; --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal - (string_literal_fragment) - (string_literal_encoding))))))) - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal - (string_literal_fragment) - (string_literal_encoding))))))) - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (verbatim_string_literal)))))) - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (verbatim_string_literal))))))) - -================================================================================ -string literals containing newline -================================================================================ - -class A { - string s = $"This contains { - abc - }"; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_string_text) - (interpolation - (identifier)))))))))) - -================================================================================ -string literals containing block comment -================================================================================ - -string s = "\u0065/* \u0065 */\u0065"; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal - (escape_sequence) - (string_literal_fragment) - (escape_sequence) - (string_literal_fragment) - (escape_sequence)))))))) - -================================================================================ -verbatim string literals containing block comment -================================================================================ - -string s = @"/* comment */"; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (verbatim_string_literal))))))) - -================================================================================ -interpolated string literals -================================================================================ - -class A { - string s = $"hello"; - string esc = $"ab\"\t"; - string double = $"{{nope}}"; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_string_text)))))) - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_string_text) - (interpolated_string_text - (escape_sequence)) - (interpolated_string_text - (escape_sequence))))))) - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_string_text) - (interpolated_string_text))))))))) - -================================================================================ -interpolated string literals with expressions -================================================================================ - -class A { - string s = $"hello {name}, how are you?"; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_string_text) - (interpolation - (identifier)) - (interpolated_string_text))))))))) - -================================================================================ -interpolated string literals with formatted expressions -================================================================================ - -class A { - string s = $"hello {name:0.00}, how are you?"; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_string_text) - (interpolation - (identifier) - (interpolation_format_clause)) - (interpolated_string_text))))))))) - -================================================================================ -interpolated string literals with alignment expressions -================================================================================ - -class A { - string s = $"hello {name,25}, how are you?"; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_string_text) - (interpolation - (identifier) - (interpolation_alignment_clause - (integer_literal))) - (interpolated_string_text))))))))) - -================================================================================ -interpolated string literals containing block comment -================================================================================ - -string s = $"\u0065/* \u0065 */\u0065"; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_string_text - (escape_sequence)) - (interpolated_string_text) - (interpolated_string_text - (escape_sequence)) - (interpolated_string_text) - (interpolated_string_text - (escape_sequence))))))))) - -================================================================================ -interpolated verbatim string literals -================================================================================ - -class A { - string s = $@"hello"; - string s = @$"hello"; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_verbatim_string_text)))))) - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_verbatim_string_text))))))))) - -================================================================================ -interpolated verbatim string literals with expressions -================================================================================ - -class A { - string s = $@"hello {name}, how are you?"; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_verbatim_string_text) - (interpolation - (identifier)) - (interpolated_verbatim_string_text))))))))) - -================================================================================ -interpolated verbatim string literals with formatted expressions -================================================================================ - -class A { - string s = $@"hello {name:g}, how are you?"; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_verbatim_string_text) - (interpolation - (identifier) - (interpolation_format_clause)) - (interpolated_verbatim_string_text))))))))) - -================================================================================ -interpolated verbatim string literals with alignment expressions -================================================================================ - -class A { - string s = $@"hello {name,-10}, how are you?"; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_verbatim_string_text) - (interpolation - (identifier) - (interpolation_alignment_clause - (prefix_unary_expression - (integer_literal)))) - (interpolated_verbatim_string_text))))))))) - -================================================================================ -interpolated verbatim string literals bracket escapes (WRONG!) -================================================================================ - -var s = $@"Another -multiple -line"; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_verbatim_string_text)))))))) - -================================================================================ -interpolated verbatim string literals bracket escapes -================================================================================ - -string s = $@" -class A -{{ - bool Method(int value) - {{ - return value is {operatorText} 3 or {operatorText} 5; - }} -}} -"; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_verbatim_string_text) - (interpolated_verbatim_string_text) - (interpolated_verbatim_string_text) - (interpolated_verbatim_string_text) - (interpolated_verbatim_string_text) - (interpolation - (identifier)) - (interpolated_verbatim_string_text) - (interpolation - (identifier)) - (interpolated_verbatim_string_text)))))))) - -================================================================================ -interpolated verbatim string containing block comment -================================================================================ - -string s = $@"{a}/* comment */{a}"; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolation - (identifier)) - (interpolated_verbatim_string_text) - (interpolation - (identifier))))))))) - -================================================================================ -interpolated verbatim string comment with interpolation -================================================================================ - -var x = $@"/* {world} */"; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_verbatim_string_text) - (interpolation - (identifier)) - (interpolated_verbatim_string_text)))))))) - -================================================================================ -Raw string literal (basic) -================================================================================ - -var x = """Hello"""; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (raw_string_literal))))))) - -================================================================================ -Raw string literal (multi-line) -================================================================================ - -var x = """ - Hello - """; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (raw_string_literal))))))) - -================================================================================ -Raw string literal (embedded one double quotes) -================================================================================ - -var x = """ - Hello "Damien" - """; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (raw_string_literal))))))) - -================================================================================ -Raw string literal (embedded two double quotes) -================================================================================ - -var x = """ - Hello ""Damien"" - """; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (raw_string_literal))))))) - -================================================================================ -Raw string literal (UTF-8) -================================================================================ - -var x = """ - Hello "Damien" - """u8; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (raw_string_literal))))))) - -================================================================================ -Interpolated raw string literal (basic) -================================================================================ - -var x = $"""The point {X}, {Y} is {Math.Sqrt(X * X + Y * Y)} from the origin"""; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_raw_string_text) - (interpolation - (identifier)) - (interpolated_raw_string_text) - (interpolation - (identifier)) - (interpolated_raw_string_text) - (interpolation - (invocation_expression - function: (member_access_expression - expression: (identifier) - name: (identifier)) - arguments: (argument_list - (argument - (binary_expression - left: (binary_expression - left: (identifier) - right: (identifier)) - right: (binary_expression - left: (identifier) - right: (identifier))))))) - (interpolated_raw_string_text)))))))) - -================================================================================ -Interpolated raw string literal (one double quotes) -================================================================================ - -var x = $"""The point "{X}, {Y}" is {Math.Sqrt(X * X + Y * Y)} from the origin"""; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_raw_string_text) - (interpolated_raw_string_text) - (interpolation - (identifier)) - (interpolated_raw_string_text) - (interpolation - (identifier)) - (interpolated_raw_string_text) - (interpolated_raw_string_text) - (interpolation - (invocation_expression - function: (member_access_expression - expression: (identifier) - name: (identifier)) - arguments: (argument_list - (argument - (binary_expression - left: (binary_expression - left: (identifier) - right: (identifier)) - right: (binary_expression - left: (identifier) - right: (identifier))))))) - (interpolated_raw_string_text)))))))) - -================================================================================ -Interpolated raw string literal (two double quotes) -================================================================================ - -var x = $"""The point ""{X}, {Y}"" is {Math.Sqrt(X * X + Y * Y)} from the origin"""; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_raw_string_text) - (interpolated_raw_string_text) - (interpolation - (identifier)) - (interpolated_raw_string_text) - (interpolation - (identifier)) - (interpolated_raw_string_text) - (interpolated_raw_string_text) - (interpolation - (invocation_expression - function: (member_access_expression - expression: (identifier) - name: (identifier)) - arguments: (argument_list - (argument - (binary_expression - left: (binary_expression - left: (identifier) - right: (identifier)) - right: (binary_expression - left: (identifier) - right: (identifier))))))) - (interpolated_raw_string_text)))))))) - -================================================================================ -Interpolated raw string literal (multi-line) -================================================================================ - -var x = $"""The point - ""{X}, {Y}"" - is {Math.Sqrt(X * X + Y * Y)} - from the origin"""; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (interpolated_string_expression - (interpolated_raw_string_text) - (interpolated_raw_string_text) - (interpolation - (identifier)) - (interpolated_raw_string_text) - (interpolation - (identifier)) - (interpolated_raw_string_text) - (interpolated_raw_string_text) - (interpolation - (invocation_expression - function: (member_access_expression - expression: (identifier) - name: (identifier)) - arguments: (argument_list - (argument - (binary_expression - left: (binary_expression - left: (identifier) - right: (identifier)) - right: (binary_expression - left: (identifier) - right: (identifier))))))) - (interpolated_raw_string_text)))))))) - -================================================================================ -multiple raw string literals should not be combined -================================================================================ - -using System; - -public class RawStringLiterals { - public static void Main(string[] args) { - string tb1, tb2, tb3; - tb1 = """text block 1"""; - tb2 = """ - text block 2 - """; - tb3 = """" - text block 3 - """"; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (using_directive - name: (identifier)) - (class_declaration - (modifier) - name: (identifier) - body: (declaration_list - (method_declaration - (modifier) - (modifier) - type: (predefined_type) - name: (identifier) - parameters: (parameter_list - (parameter - type: (array_type - type: (predefined_type) - rank: (array_rank_specifier)) - name: (identifier))) - body: (block - (local_declaration_statement - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier)) - (variable_declarator - name: (identifier)) - (variable_declarator - name: (identifier)))) - (expression_statement - (assignment_expression - left: (identifier) - (assignment_operator) - right: (raw_string_literal))) - (expression_statement - (assignment_expression - left: (identifier) - (assignment_operator) - right: (raw_string_literal))) - (expression_statement - (assignment_expression - left: (identifier) - (assignment_operator) - right: (raw_string_literal)))))))) diff --git a/corpus/records.txt b/corpus/records.txt deleted file mode 100644 index b226f266..00000000 --- a/corpus/records.txt +++ /dev/null @@ -1,527 +0,0 @@ -================================================================================ -Basic record declaration -================================================================================ - -record F { - int Age { get; init; } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (record_declaration - name: (identifier) - body: (declaration_list - (property_declaration - type: (predefined_type) - name: (identifier) - accessors: (accessor_list - (accessor_declaration) - (accessor_declaration)))))) - -================================================================================ -Basic record struct declaration -================================================================================ - -record struct F { - int Age { get; init; } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (record_struct_declaration - name: (identifier) - body: (declaration_list - (property_declaration - type: (predefined_type) - name: (identifier) - accessors: (accessor_list - (accessor_declaration) - (accessor_declaration)))))) - -================================================================================ -Record class with optional `class` specification -================================================================================ - -record class F { - int Age { get; init; } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (record_declaration - name: (identifier) - body: (declaration_list - (property_declaration - type: (predefined_type) - name: (identifier) - accessors: (accessor_list - (accessor_declaration) - (accessor_declaration)))))) - -================================================================================ -Record with a type parameter struct constraint -================================================================================ - -public record F where T:struct {} - --------------------------------------------------------------------------------- - -(compilation_unit - (record_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint)) - body: (declaration_list))) - -================================================================================ -Record with a type parameter class constraint -================================================================================ - -public record F where T:class {} - --------------------------------------------------------------------------------- - -(compilation_unit - (record_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint)) - body: (declaration_list))) - -================================================================================ -Record with type parameter new constraint -================================================================================ - -public record F where T: new() {} - --------------------------------------------------------------------------------- - -(compilation_unit - (record_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (constructor_constraint))) - body: (declaration_list))) - -================================================================================ -Record with interface -================================================================================ - -public record A : ISomething { } - --------------------------------------------------------------------------------- - -(compilation_unit - (record_declaration - (modifier) - name: (identifier) - bases: (base_list - (identifier)) - body: (declaration_list))) - -================================================================================ -Record with multiple type parameter constraints -================================================================================ - -[Nice] -private record F where T1 : I1, I2, new() where T2 : I2 { } - --------------------------------------------------------------------------------- - -(compilation_unit - (record_declaration - (attribute_list - (attribute - name: (identifier))) - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier)) - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier))) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier))) - constraints: (type_parameter_constraint - (constructor_constraint))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier)))) - body: (declaration_list))) - -================================================================================ -Record with constructor -================================================================================ - -record Person(string FirstName, string LastName); - --------------------------------------------------------------------------------- - -(compilation_unit - (record_declaration - name: (identifier) - parameters: (parameter_list - (parameter - type: (predefined_type) - name: (identifier)) - (parameter - type: (predefined_type) - name: (identifier))))) - -================================================================================ -Record inheritance with constructor overload -================================================================================ - -record Teacher(string FirstName, string LastName, string Subject) : Person(FirstName, LastName); - --------------------------------------------------------------------------------- - -(compilation_unit - (record_declaration - name: (identifier) - parameters: (parameter_list - (parameter - type: (predefined_type) - name: (identifier)) - (parameter - type: (predefined_type) - name: (identifier)) - (parameter - type: (predefined_type) - name: (identifier))) - bases: (base_list - (primary_constructor_base_type - type: (identifier) - (argument_list - (argument - (identifier)) - (argument - (identifier))))))) - -================================================================================ -Record inheritance with constructor overload and interfaces -================================================================================ - -record Teacher(string FirstName, string LastName, string Subject) : Person(FirstName, LastName), Ns.I1, I2; - --------------------------------------------------------------------------------- - -(compilation_unit - (record_declaration - name: (identifier) - parameters: (parameter_list - (parameter - type: (predefined_type) - name: (identifier)) - (parameter - type: (predefined_type) - name: (identifier)) - (parameter - type: (predefined_type) - name: (identifier))) - bases: (base_list - (primary_constructor_base_type - type: (identifier) - (argument_list - (argument - (identifier)) - (argument - (identifier)))) - (qualified_name - qualifier: (identifier) - name: (identifier)) - (identifier)))) - -================================================================================ -Record inheritance with generic base -================================================================================ - -record Teacher() : Entity(), I1; - -record A : System.IEquatable; - --------------------------------------------------------------------------------- - -(compilation_unit - (record_declaration - name: (identifier) - parameters: (parameter_list) - bases: (base_list - (primary_constructor_base_type - type: (generic_name - name: (identifier) - type_arguments: (type_argument_list - (identifier))) - (argument_list)) - (identifier))) - (record_declaration - name: (identifier) - bases: (base_list - (qualified_name - qualifier: (identifier) - name: (generic_name - name: (identifier) - type_arguments: (type_argument_list - (identifier))))))) - -================================================================================ -Record types can end with a semicolon -================================================================================ - -public record Person { }; - -public record struct Person2 { }; - --------------------------------------------------------------------------------- - -(compilation_unit - (record_declaration - (modifier) - name: (identifier) - body: (declaration_list)) - (record_struct_declaration - (modifier) - name: (identifier) - body: (declaration_list))) - -================================================================================ -Record types can seal ToString() -================================================================================ - -record A { - public sealed override string ToString(){ - return ""; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (record_declaration - name: (identifier) - body: (declaration_list - (method_declaration - (modifier) - (modifier) - (modifier) - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (return_statement - (string_literal))))))) - -================================================================================ -With expression typical basic form -================================================================================ - -void A() { - var newFriend = friend with { LastName = "Edwards" }; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_function_statement - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (with_expression - (identifier) - (with_initializer_expression - (simple_assignment_expression - (identifier) - (string_literal - (string_literal_fragment))))))))))))) - -================================================================================ -With expression using expressions -================================================================================ - -void A() { - var friend = GetAFriend() with { - ForeName = RandomFirstName(), - LastName = RandomLastName() - }; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_function_statement - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (with_expression - (invocation_expression - function: (identifier) - arguments: (argument_list)) - (with_initializer_expression - (simple_assignment_expression - (identifier) - (invocation_expression - function: (identifier) - arguments: (argument_list))) - (simple_assignment_expression - (identifier) - (invocation_expression - function: (identifier) - arguments: (argument_list))))))))))))) - -================================================================================ -Precedence between with and cast -================================================================================ - -var x = (Point) p1 with {X = 3}; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (with_expression - (cast_expression - type: (identifier) - value: (identifier)) - (with_initializer_expression - (simple_assignment_expression - (identifier) - (integer_literal)))))))))) - -================================================================================ -Precedence between with and switch -================================================================================ - -var x = p1 with {X = 3} switch { _ => 3 }; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (switch_expression - (with_expression - (identifier) - (with_initializer_expression - (simple_assignment_expression - (identifier) - (integer_literal)))) - (switch_expression_arm - (discard) - (integer_literal))))))))) - -================================================================================ -Precedence between with and equals -================================================================================ - -var x = p1 with {X = 3} == p1 with {X = 4}; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (binary_expression - left: (with_expression - (identifier) - (with_initializer_expression - (simple_assignment_expression - (identifier) - (integer_literal)))) - right: (with_expression - (identifier) - (with_initializer_expression - (simple_assignment_expression - (identifier) - (integer_literal))))))))))) - -================================================================================ -Associativity of with expression -================================================================================ - -var x = p1 with {X = 3} with {X = 4} with {X = 5}; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (with_expression - (with_expression - (with_expression - (identifier) - (with_initializer_expression - (simple_assignment_expression - (identifier) - (integer_literal)))) - (with_initializer_expression - (simple_assignment_expression - (identifier) - (integer_literal)))) - (with_initializer_expression - (simple_assignment_expression - (identifier) - (integer_literal)))))))))) diff --git a/corpus/statements.txt b/corpus/statements.txt deleted file mode 100644 index e6683e64..00000000 --- a/corpus/statements.txt +++ /dev/null @@ -1,2039 +0,0 @@ -================================================================================ -Return constant -================================================================================ - -class A { - int Sample() { - return 1; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (return_statement - (integer_literal))))))) - -================================================================================ -Return nothing -================================================================================ - -class A { - void Sample() { - return; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (return_statement)))))) - -================================================================================ -Break statement -================================================================================ - -class A { - void Sample() { - while (true) break; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (while_statement - condition: (boolean_literal) - body: (break_statement))))))) - -================================================================================ -Continue statement -================================================================================ - -class A { - void Sample() { - while (false) continue; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (while_statement - condition: (boolean_literal) - body: (continue_statement))))))) - -================================================================================ -Throw nothing -================================================================================ - -class A { - void Sample() { - throw; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (throw_statement)))))) - -================================================================================ -Throw exception -================================================================================ - -class A { - void Sample() { - throw ex; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (throw_statement - (identifier))))))) - -================================================================================ -Do while -================================================================================ - -class A { - void Sample(bool a) { - do { } while (a); - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list - (parameter - type: (predefined_type) - name: (identifier))) - body: (block - (do_statement - body: (block) - condition: (identifier))))))) - -================================================================================ -Goto statement and label -================================================================================ - -class A { - void Sample() { - goto end; - end: - return; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (goto_statement - (identifier)) - (labeled_statement - (identifier) - (return_statement))))))) - -================================================================================ -If statement -================================================================================ - -class A { - int Sample() { - if (true) return 1; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (if_statement - condition: (boolean_literal) - consequence: (return_statement - (integer_literal)))))))) - -================================================================================ -If Else statement -================================================================================ - -class A { - int Sample() { - if (true) return 1; - else return 0; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (if_statement - condition: (boolean_literal) - consequence: (return_statement - (integer_literal)) - alternative: (return_statement - (integer_literal)))))))) - -================================================================================ -Switch statement -================================================================================ - -class A { - int Sample(int a) { - switch (a) { - case 1: - case 2: - return 0; - default: { - return 1; - } - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list - (parameter - type: (predefined_type) - name: (identifier))) - body: (block - (switch_statement - value: (identifier) - body: (switch_body - (switch_section - (case_switch_label - (integer_literal)) - (case_switch_label - (integer_literal)) - (return_statement - (integer_literal))) - (switch_section - (default_switch_label) - (block - (return_statement - (integer_literal))))))))))) - -================================================================================ -Declared tuple type with default -================================================================================ - -(string a, bool b) c = default; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (tuple_type - (tuple_element - type: (predefined_type) - name: (identifier)) - (tuple_element - type: (predefined_type) - name: (identifier))) - (variable_declarator - name: (identifier) - (equals_value_clause - (default_expression))))))) - -================================================================================ -Declaration with generic type -================================================================================ - -A a = null; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (generic_name - name: (identifier) - type_arguments: (type_argument_list - (identifier))) - (variable_declarator - name: (identifier) - (equals_value_clause - (null_literal))))))) - -================================================================================ -Assignment and declaration in same deconstruction -================================================================================ - -int x = 0; -(x, int y) = point; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))))) - (global_statement - (expression_statement - (assignment_expression - left: (tuple_expression - (argument - (identifier)) - (argument - (declaration_expression - type: (predefined_type) - name: (identifier)))) - (assignment_operator) - right: (identifier))))) - -================================================================================ -Invocation with inline tuple_type declaration -================================================================================ - -M(out (int a, int b) c); - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (expression_statement - (invocation_expression - function: (identifier) - arguments: (argument_list - (argument - (declaration_expression - type: (tuple_type - (tuple_element - type: (predefined_type) - name: (identifier)) - (tuple_element - type: (predefined_type) - name: (identifier))) - name: (identifier)))))))) - -================================================================================ -Returning tuples -================================================================================ - -void M() { - (bool a, bool b) M2() { - return (true, false); - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_function_statement - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_function_statement - type: (tuple_type - (tuple_element - type: (predefined_type) - name: (identifier)) - (tuple_element - type: (predefined_type) - name: (identifier))) - name: (identifier) - parameters: (parameter_list) - body: (block - (return_statement - (tuple_expression - (argument - (boolean_literal)) - (argument - (boolean_literal)))))))))) - -================================================================================ -Inferred tuples -================================================================================ - -var result = list.Select(c => (c.f1, c.f2)).Where(t => t.f2 == 1); - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (invocation_expression - function: (member_access_expression - expression: (invocation_expression - function: (member_access_expression - expression: (identifier) - name: (identifier)) - arguments: (argument_list - (argument - (lambda_expression - parameters: (implicit_parameter_list - (parameter - name: (identifier))) - body: (tuple_expression - (argument - (member_access_expression - expression: (identifier) - name: (identifier))) - (argument - (member_access_expression - expression: (identifier) - name: (identifier)))))))) - name: (identifier)) - arguments: (argument_list - (argument - (lambda_expression - parameters: (implicit_parameter_list - (parameter - name: (identifier))) - body: (binary_expression - left: (member_access_expression - expression: (identifier) - name: (identifier)) - right: (integer_literal)))))))))))) - -================================================================================ -Switch statement with tuple -================================================================================ - -class A { - int Sample(int a) { - switch (a, a) { - case (1, 1): - return 1; - default: - return 0; - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list - (parameter - type: (predefined_type) - name: (identifier))) - body: (block - (switch_statement - value: (tuple_expression - (argument - (identifier)) - (argument - (identifier))) - body: (switch_body - (switch_section - (case_switch_label - (tuple_expression - (argument - (integer_literal)) - (argument - (integer_literal)))) - (return_statement - (integer_literal))) - (switch_section - (default_switch_label) - (return_statement - (integer_literal)))))))))) - -================================================================================ -switch on positional pattern with when clause -================================================================================ - -switch (A, B) -{ - case (_, _) when !c: - break; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (switch_statement - value: (tuple_expression - (argument - (identifier)) - (argument - (identifier))) - body: (switch_body - (switch_section - (case_pattern_switch_label - (recursive_pattern - (positional_pattern_clause - (subpattern - (discard)) - (subpattern - (discard)))) - (when_clause - (prefix_unary_expression - (identifier)))) - (break_statement)))))) - -================================================================================ -switch on property pattern with when clause -================================================================================ - -switch (A) -{ - case {Length: 2} when !c: - break; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (switch_statement - value: (identifier) - body: (switch_body - (switch_section - (case_pattern_switch_label - (recursive_pattern - (property_pattern_clause - (subpattern - (expression_colon - (identifier)) - (constant_pattern - (integer_literal))))) - (when_clause - (prefix_unary_expression - (identifier)))) - (break_statement)))))) - -================================================================================ -switch on type pattern with when clause -================================================================================ - -int i = 123; -switch (i) -{ - case int when i < 5: - break; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))))) - (global_statement - (switch_statement - value: (identifier) - body: (switch_body - (switch_section - (case_pattern_switch_label - (type_pattern - type: (predefined_type)) - (when_clause - (binary_expression - left: (identifier) - right: (integer_literal)))) - (break_statement)))))) - -================================================================================ -Try finally statement -================================================================================ - -class A { - void Sample() { - try { - } finally { - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (try_statement - body: (block) - (finally_clause - (block)))))))) - -================================================================================ -Try catch statement -================================================================================ - -class A { - void Sample() { - try { - } catch (Exception ex) { - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (try_statement - body: (block) - (catch_clause - (catch_declaration - type: (identifier) - name: (identifier)) - body: (block)))))))) - -================================================================================ -Try catch finally statement -================================================================================ - -class A { - void Sample() { - try { - } catch (Exception ex) { - } finally { - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (try_statement - body: (block) - (catch_clause - (catch_declaration - type: (identifier) - name: (identifier)) - body: (block)) - (finally_clause - (block)))))))) - -================================================================================ -Try catch multiple statement -================================================================================ - -class A { - void Sample() { - try { - } catch (Exception ex) { - } catch (OtherException ex) { - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (try_statement - body: (block) - (catch_clause - (catch_declaration - type: (identifier) - name: (identifier)) - body: (block)) - (catch_clause - (catch_declaration - type: (identifier) - name: (identifier)) - body: (block)))))))) - -================================================================================ -Try catch filtered statement -================================================================================ - -class A { - void Sample() { - try { - } catch (Exception ex) when (a == 1) { - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (try_statement - body: (block) - (catch_clause - (catch_declaration - type: (identifier) - name: (identifier)) - (catch_filter_clause - (binary_expression - left: (identifier) - right: (integer_literal))) - body: (block)))))))) - -================================================================================ -Checked statement -================================================================================ - -class A { - void Sample() { - checked { - return; - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (checked_statement - (block - (return_statement)))))))) - -================================================================================ -Unchecked statement -================================================================================ - -class A { - void Sample() { - unchecked { - return; - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (checked_statement - (block - (return_statement)))))))) - -================================================================================ -Lock statement -================================================================================ - -class A { - void Sample() { - lock (this) { - return; - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (lock_statement - (this_expression) - (block - (return_statement)))))))) - -================================================================================ -Yield statement -================================================================================ - -class A { - IEnumerable Sample() { - yield return 1; - yield break; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (generic_name - name: (identifier) - type_arguments: (type_argument_list - (predefined_type))) - name: (identifier) - parameters: (parameter_list) - body: (block - (yield_statement - (integer_literal)) - (yield_statement)))))) - -================================================================================ -Implicit local variable with literal initializer -================================================================================ - -class A { - void Sample() { - var a = 1; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))))))))) - -================================================================================ -Method with static local function block -================================================================================ - -class A { - void Sample() { - private void A(T1 a, T2 b) where T1:I1 { - return a + b; - } - - [SomeAttribute] - private static int X() { - return 1; - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_function_statement - (modifier) - type: (predefined_type) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier)) - (type_parameter - name: (identifier))) - parameters: (parameter_list - (parameter - type: (identifier) - name: (identifier)) - (parameter - type: (identifier) - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier)))) - body: (block - (return_statement - (binary_expression - left: (identifier) - right: (identifier))))) - (local_function_statement - (attribute_list - (attribute - name: (identifier))) - (modifier) - (modifier) - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (return_statement - (integer_literal))))))))) - -================================================================================ -Method with local expression bodied function -================================================================================ - -class A { - void Sample() { - void A(T1 a, T2 b) => Test(a, b); - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_function_statement - type: (predefined_type) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier)) - (type_parameter - name: (identifier))) - parameters: (parameter_list - (parameter - type: (identifier) - name: (identifier)) - (parameter - type: (identifier) - name: (identifier))) - body: (arrow_expression_clause - (invocation_expression - function: (identifier) - arguments: (argument_list - (argument - (identifier)) - (argument - (identifier))))))))))) - -================================================================================ -Explicit local variable with no initializer -================================================================================ - -class A { - void Sample() { - int a; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_declaration_statement - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier))))))))) - -================================================================================ -Explicit local variables with multiple literal initializers -================================================================================ - -class A { - void Sample() { - int a = 1, b = 2; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_declaration_statement - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal))) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))))))))) - -================================================================================ -Explicit local constant with literal initializer -================================================================================ - -class A { - void Sample() { - const int a = 1; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))))))))) - -================================================================================ -Explicit local constant with multiple literal initializers -================================================================================ - -class A { - void Sample() { - const int a = 1, b = 2; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_declaration_statement - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal))) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))))))))) - -================================================================================ -Implicit local ref variable -================================================================================ - -class A { - void Test() { - ref var value = ref data[i]; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_declaration_statement - (variable_declaration - type: (ref_type - type: (implicit_type)) - (variable_declarator - name: (identifier) - (equals_value_clause - (ref_expression - (element_access_expression - expression: (identifier) - subscript: (bracketed_argument_list - (argument - (identifier)))))))))))))) - -================================================================================ -Member access of an array element -================================================================================ - -var g = args[0].Length; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (member_access_expression - expression: (element_access_expression - expression: (identifier) - subscript: (bracketed_argument_list - (argument - (integer_literal)))) - name: (identifier)))))))) - -================================================================================ -Using statement with implicit local variable -================================================================================ - -class A { - void Sample() { - using (var a = b) { - return; - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (using_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (identifier)))) - body: (block - (return_statement)))))))) - -================================================================================ -Using statement with compound variable declaration -================================================================================ - -class A { - void Sample() { - using (Stream a = File.OpenRead("a"), b = new BinaryReader(a)) { - return; - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (using_statement - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (invocation_expression - function: (member_access_expression - expression: (identifier) - name: (identifier)) - arguments: (argument_list - (argument - (string_literal - (string_literal_fragment))))))) - (variable_declarator - name: (identifier) - (equals_value_clause - (object_creation_expression - type: (identifier) - arguments: (argument_list - (argument - (identifier))))))) - body: (block - (return_statement)))))))) - -================================================================================ -Using statement without brackets -================================================================================ - -class A { - void Sample() { - using var a = new A(); - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (object_creation_expression - type: (identifier) - arguments: (argument_list))))))))))) - -================================================================================ -Using statement with explicit local variable -================================================================================ - -class A { - void Sample() { - using (Object a = b) { - return; - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (using_statement - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (identifier)))) - body: (block - (return_statement)))))))) - -================================================================================ -Using statement with expression -================================================================================ - -class A { - void Sample() { - using (this) { - return; - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (using_statement - (this_expression) - body: (block - (return_statement)))))))) - -================================================================================ -Foreach inline declaration -================================================================================ - -class A { - void Sample() { - foreach(int x in y) - z += x; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (for_each_statement - type: (predefined_type) - left: (identifier) - right: (identifier) - body: (expression_statement - (assignment_expression - left: (identifier) - (assignment_operator) - right: (identifier))))))))) - -================================================================================ -Foreach existing expression -================================================================================ - -class A { - void Sample() { - foreach(x in y) - z += x; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (for_each_statement - left: (identifier) - right: (identifier) - body: (expression_statement - (assignment_expression - left: (identifier) - (assignment_operator) - right: (identifier))))))))) - -================================================================================ -Foreach with tuple pattern -================================================================================ - -class A { - void Sample() { - foreach(var (x, y) in z) - q += x; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (for_each_statement - type: (implicit_type) - left: (tuple_pattern - name: (identifier) - name: (identifier)) - right: (identifier) - body: (expression_statement - (assignment_expression - left: (identifier) - (assignment_operator) - right: (identifier))))))))) - -================================================================================ -Unsafe statement -================================================================================ - -class A { - void Sample() { - unsafe { x = y; } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (unsafe_statement - (block - (expression_statement - (assignment_expression - left: (identifier) - (assignment_operator) - right: (identifier)))))))))) - -================================================================================ -Fixed statement -================================================================================ - -class A { - void Sample() { - fixed (double p = arr) { } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (fixed_statement - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (identifier)))) - (block))))))) - -================================================================================ -For inline declaration fully populated -================================================================================ - -class A { - void Sample() { - for(int x = 0; x < 100; x++) { - z += x; - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (for_statement - initializer: (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal)))) - condition: (binary_expression - left: (identifier) - right: (integer_literal)) - update: (postfix_unary_expression - (identifier)) - body: (block - (expression_statement - (assignment_expression - left: (identifier) - (assignment_operator) - right: (identifier)))))))))) - -================================================================================ -For no population -================================================================================ - -class A { - void Sample() { - for(;;) { - } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (for_statement - body: (block))))))) - -================================================================================ -Deconstruction -================================================================================ - -class A { - void Sample() { - (var a, var b) = c; - var (a, b) = c; - (a, b, _) = c; - (_, b) = c; - var (a, _) = c; - var (a, (b, _)) = c; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (expression_statement - (assignment_expression - left: (tuple_expression - (argument - (declaration_expression - type: (implicit_type) - name: (identifier))) - (argument - (declaration_expression - type: (implicit_type) - name: (identifier)))) - (assignment_operator) - right: (identifier))) - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - (tuple_pattern - name: (identifier) - name: (identifier)) - (equals_value_clause - (identifier))))) - (expression_statement - (assignment_expression - left: (tuple_expression - (argument - (identifier)) - (argument - (identifier)) - (argument - (identifier))) - (assignment_operator) - right: (identifier))) - (expression_statement - (assignment_expression - left: (tuple_expression - (argument - (identifier)) - (argument - (identifier))) - (assignment_operator) - right: (identifier))) - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - (tuple_pattern - name: (identifier) - (discard)) - (equals_value_clause - (identifier))))) - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - (tuple_pattern - name: (identifier) - (tuple_pattern - name: (identifier) - (discard))) - (equals_value_clause - (identifier)))))))))) - -================================================================================ -Function with dynamic local variable -================================================================================ - -void A() { - dynamic dyn = ""; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_function_statement - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_declaration_statement - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal))))))))) - -================================================================================ -Function with contextually reserved identifiers -================================================================================ - -async void Sample() { - var var = ""; - int partial = from; - A into = select; - R await = get; - T set = let + yield + group + add + alias + ascending + notnull + descending + equals; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_function_statement - (modifier) - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (string_literal))))) - (local_declaration_statement - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (identifier))))) - (local_declaration_statement - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (identifier))))) - (local_declaration_statement - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (identifier))))) - (local_declaration_statement - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (binary_expression - left: (binary_expression - left: (binary_expression - left: (binary_expression - left: (binary_expression - left: (binary_expression - left: (binary_expression - left: (binary_expression - left: (identifier) - right: (identifier)) - right: (identifier)) - right: (identifier)) - right: (identifier)) - right: (identifier)) - right: (identifier)) - right: (identifier)) - right: (identifier)))))))))) - -================================================================================ -Function conditional ref expression -================================================================================ - -ref T Choice(bool condition, ref T a, ref T b) -{ - ref var r = ref (condition ? ref a: ref b); -} - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_function_statement - type: (ref_type - type: (identifier)) - name: (identifier) - parameters: (parameter_list - (parameter - type: (predefined_type) - name: (identifier)) - (parameter - (parameter_modifier) - type: (identifier) - name: (identifier)) - (parameter - (parameter_modifier) - type: (identifier) - name: (identifier))) - body: (block - (local_declaration_statement - (variable_declaration - type: (ref_type - type: (implicit_type)) - (variable_declarator - name: (identifier) - (equals_value_clause - (ref_expression - (parenthesized_expression - (conditional_expression - condition: (identifier) - consequence: (ref_expression - (identifier)) - alternative: (ref_expression - (identifier))))))))))))) - -================================================================================ -Implicit object creation with initializer -================================================================================ - -List a = new(1) -{ -}; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (generic_name - name: (identifier) - type_arguments: (type_argument_list - (predefined_type))) - (variable_declarator - name: (identifier) - (equals_value_clause - (implicit_object_creation_expression - (argument_list - (argument - (integer_literal))) - (initializer_expression)))))))) - -================================================================================ -Lambda parameter named global -================================================================================ - -var a = global => global.Single(); - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (lambda_expression - parameters: (implicit_parameter_list - (parameter - name: (identifier))) - body: (invocation_expression - function: (member_access_expression - expression: (identifier) - name: (identifier)) - arguments: (argument_list))))))))) - -================================================================================ -Null-coalescing assignment -================================================================================ - -numbers ??= new List(); - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (expression_statement - (assignment_expression - left: (identifier) - (assignment_operator) - right: (object_creation_expression - type: (generic_name - name: (identifier) - type_arguments: (type_argument_list - (predefined_type))) - arguments: (argument_list)))))) - -================================================================================ -Null-coalescing -================================================================================ - -b = obj ?? a == 0; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (expression_statement - (assignment_expression - left: (identifier) - (assignment_operator) - right: (binary_expression - left: (identifier) - right: (binary_expression - left: (identifier) - right: (integer_literal))))))) - -================================================================================ -Null literal arguments -================================================================================ - -person = new Person(null!, null!); - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (expression_statement - (assignment_expression - left: (identifier) - (assignment_operator) - right: (object_creation_expression - type: (identifier) - arguments: (argument_list - (argument - (postfix_unary_expression - (null_literal))) - (argument - (postfix_unary_expression - (null_literal))))))))) - -================================================================================ -Variable declaration -================================================================================ - -person = new Person(null!, null!); - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (expression_statement - (assignment_expression - left: (identifier) - (assignment_operator) - right: (object_creation_expression - type: (identifier) - arguments: (argument_list - (argument - (postfix_unary_expression - (null_literal))) - (argument - (postfix_unary_expression - (null_literal))))))))) - -================================================================================ -Variable declaration with generic invocation -================================================================================ - -MyClass myVar = MyFunction("MyArg"); - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (identifier) - (variable_declarator - name: (identifier) - (equals_value_clause - (invocation_expression - function: (generic_name - name: (identifier) - type_arguments: (type_argument_list - (identifier))) - arguments: (argument_list - (argument - (string_literal - (string_literal_fragment))))))))))) diff --git a/corpus/structs.txt b/corpus/structs.txt deleted file mode 100644 index c88d9ffb..00000000 --- a/corpus/structs.txt +++ /dev/null @@ -1,140 +0,0 @@ -================================================================================ -Struct with a type parameter struct constraint -================================================================================ - -public struct F where T:struct {} - --------------------------------------------------------------------------------- - -(compilation_unit - (struct_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint)) - body: (declaration_list))) - -================================================================================ -Struct with a type parameter class constraint -================================================================================ - -public struct F where T:class {} - --------------------------------------------------------------------------------- - -(compilation_unit - (struct_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint)) - body: (declaration_list))) - -================================================================================ -Struct with type parameter new constraint -================================================================================ - -public struct F where T: new() {} - --------------------------------------------------------------------------------- - -(compilation_unit - (struct_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (constructor_constraint))) - body: (declaration_list))) - -================================================================================ -Struct with interface -================================================================================ - -public struct A : ISomething { } - --------------------------------------------------------------------------------- - -(compilation_unit - (struct_declaration - (modifier) - name: (identifier) - bases: (base_list - (identifier)) - body: (declaration_list))) - -================================================================================ -Struct with multiple type parameter constraints -================================================================================ - -private struct F where T1 : I1, I2, new() where T2 : I2 { } - --------------------------------------------------------------------------------- - -(compilation_unit - (struct_declaration - (modifier) - name: (identifier) - type_parameters: (type_parameter_list - (type_parameter - name: (identifier)) - (type_parameter - name: (identifier))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier))) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier))) - constraints: (type_parameter_constraint - (constructor_constraint))) - (type_parameter_constraints_clause - target: (identifier) - constraints: (type_parameter_constraint - (type_constraint - type: (identifier)))) - body: (declaration_list))) - -================================================================================ -Struct with readonly modifier -================================================================================ - -readonly struct Test { -} - --------------------------------------------------------------------------------- - -(compilation_unit - (struct_declaration - (modifier) - name: (identifier) - body: (declaration_list))) - -================================================================================ -Struct with ref modifier -================================================================================ - -ref struct Test { -} - --------------------------------------------------------------------------------- - -(compilation_unit - (struct_declaration - (modifier) - name: (identifier) - body: (declaration_list))) diff --git a/corpus/attributes.txt b/test/corpus/attributes.txt similarity index 65% rename from corpus/attributes.txt rename to test/corpus/attributes.txt index 67d4a0ed..3f222f41 100644 --- a/corpus/attributes.txt +++ b/test/corpus/attributes.txt @@ -19,12 +19,58 @@ Global attributes (attribute_argument_list)))) ================================================================================ -Attributes with arguments +Attributes ================================================================================ [A(B.C)] class D {} +[NS.A(B.C)] +class D {} + +[One][Two] +[Three] +class A { } + +[A,B()][C] +struct A { } + +class Zzz { + [A,B()][C] + public int Z; +} + +class Methods { + [ValidatedContract] + int Method1() { return 0; } + + [method: ValidatedContract] + int Method2() { return 0; } + + [return: ValidatedContract] + int Method3() { return 0; } +} + +[Single] +enum A { B, C } + +class Zzz { + [A,B()][C] + public event EventHandler SomeEvent { add { } remove { } } +} + +class Class<[A, B][C()]T1> { + void Method<[E] [F, G(1)] T2>() { + } +} + +class Zzz { + public event EventHandler SomeEvent { + [A,B()][C] add { } + [A,B()][C] remove { } + } +} + -------------------------------------------------------------------------------- (compilation_unit @@ -38,18 +84,7 @@ class D {} expression: (identifier) name: (identifier)))))) name: (identifier) - body: (declaration_list))) - -================================================================================ -Attributes with qualified name -================================================================================ - -[NS.A(B.C)] -class D {} - --------------------------------------------------------------------------------- - -(compilation_unit + body: (declaration_list)) (class_declaration (attribute_list (attribute @@ -62,31 +97,6 @@ class D {} expression: (identifier) name: (identifier)))))) name: (identifier) - body: (declaration_list))) - -================================================================================ -Attributes on classes -================================================================================ - -[Single] -class A { } - -[One][Two] -[Three] -class A { } - -[One] -[Two,Three()] -class A { } - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - (attribute_list - (attribute - name: (identifier))) - name: (identifier) body: (declaration_list)) (class_declaration (attribute_list @@ -100,29 +110,6 @@ class A { } name: (identifier))) name: (identifier) body: (declaration_list)) - (class_declaration - (attribute_list - (attribute - name: (identifier))) - (attribute_list - (attribute - name: (identifier)) - (attribute - name: (identifier) - (attribute_argument_list))) - name: (identifier) - body: (declaration_list))) - -================================================================================ -Attributes on structs -================================================================================ - -[A,B()][C] -struct A { } - --------------------------------------------------------------------------------- - -(compilation_unit (struct_declaration (attribute_list (attribute @@ -134,20 +121,7 @@ struct A { } (attribute name: (identifier))) name: (identifier) - body: (declaration_list))) - -================================================================================ -Attributes on fields -================================================================================ - -class Zzz { - [A,B()][C] - public int Z; -} - --------------------------------------------------------------------------------- - -(compilation_unit + body: (declaration_list)) (class_declaration name: (identifier) body: (declaration_list @@ -165,26 +139,7 @@ class Zzz { (variable_declaration type: (predefined_type) (variable_declarator - name: (identifier))))))) - -================================================================================ -Attributes on methods -================================================================================ - -class Methods { - [ValidatedContract] - int Method1() { return 0; } - - [method: ValidatedContract] - int Method2() { return 0; } - - [return: ValidatedContract] - int Method3() { return 0; } -} - --------------------------------------------------------------------------------- - -(compilation_unit + name: (identifier)))))) (class_declaration name: (identifier) body: (declaration_list @@ -219,26 +174,7 @@ class Methods { parameters: (parameter_list) body: (block (return_statement - (integer_literal))))))) - -================================================================================ -Attributes on enums -================================================================================ - -[Single] -enum A { B, C } - -[One][Two] -[Three] -enum A { B, C } - -[One] -[Two,Three()] -enum A { B, C } - --------------------------------------------------------------------------------- - -(compilation_unit + (integer_literal)))))) (enum_declaration (attribute_list (attribute @@ -249,51 +185,6 @@ enum A { B, C } name: (identifier)) (enum_member_declaration name: (identifier)))) - (enum_declaration - (attribute_list - (attribute - name: (identifier))) - (attribute_list - (attribute - name: (identifier))) - (attribute_list - (attribute - name: (identifier))) - name: (identifier) - body: (enum_member_declaration_list - (enum_member_declaration - name: (identifier)) - (enum_member_declaration - name: (identifier)))) - (enum_declaration - (attribute_list - (attribute - name: (identifier))) - (attribute_list - (attribute - name: (identifier)) - (attribute - name: (identifier) - (attribute_argument_list))) - name: (identifier) - body: (enum_member_declaration_list - (enum_member_declaration - name: (identifier)) - (enum_member_declaration - name: (identifier))))) - -================================================================================ -Attributes on events -================================================================================ - -class Zzz { - [A,B()][C] - public event EventHandler SomeEvent { add { } remove { } } -} - --------------------------------------------------------------------------------- - -(compilation_unit (class_declaration name: (identifier) body: (declaration_list @@ -314,20 +205,7 @@ class Zzz { (accessor_declaration body: (block)) (accessor_declaration - body: (block))))))) - -================================================================================ -Attributes on type parameters -================================================================================ - -class Class<[A, B][C()]T1> { - void Method<[E] [F, G(1)] T2>() { - } -} - --------------------------------------------------------------------------------- - -(compilation_unit + body: (block)))))) (class_declaration name: (identifier) type_parameters: (type_parameter_list @@ -361,22 +239,7 @@ class Class<[A, B][C()]T1> { (integer_literal))))) name: (identifier))) parameters: (parameter_list) - body: (block))))) - -================================================================================ -Attributes on event accessors -================================================================================ - -class Zzz { - public event EventHandler SomeEvent { - [A,B()][C] add { } - [A,B()][C] remove { } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit + body: (block)))) (class_declaration name: (identifier) body: (declaration_list @@ -409,11 +272,15 @@ class Zzz { body: (block))))))) ================================================================================ -Attributes with trailing comma +Attribute quirks ================================================================================ + [Theory,] void A() { } +[Theory] +void A() { } + -------------------------------------------------------------------------------- (compilation_unit @@ -425,17 +292,7 @@ void A() { } type: (predefined_type) name: (identifier) parameters: (parameter_list) - body: (block)))) - -================================================================================ -Generic attribute -================================================================================ -[Theory] -void A() { } - --------------------------------------------------------------------------------- - -(compilation_unit + body: (block))) (global_statement (local_function_statement (attribute_list diff --git a/test/corpus/classes.txt b/test/corpus/classes.txt new file mode 100644 index 00000000..f1caa036 --- /dev/null +++ b/test/corpus/classes.txt @@ -0,0 +1,365 @@ +================================================================================ +Class Definitions +================================================================================ + +public class F {} + +public class F : object, IAlpha, IOmega { } + +public partial class F {} + +internal class F {} + +public class F where T:struct {} + +public class F where T:unmanaged {} + +public class F where T:class?, notnull, Mine? {} + +public class F where T: new() {} + +public class F where T: I, new() {} + +private class F where T1 : I1, I2, new() where T2 : I2 { } + +class Foo { + public Foo() {} + + // expression bodied constructor + public Foo(string name) => Name = name; + + // static constructor + static Foo() {} + static extern Foo() {} + extern static Foo() {} + + // extern destructor + extern ~Foo() {} + + // expression bodied destructor + ~Foo() => DoSomething(); + + // constants + private const int a = 1; + const string b = $"hello"; + + // indexer + public bool this[int index] { + get { return a; } + set { a = value; } + } + + // expression bodied indexer + public bool this[int index] => a[index]; + + public string this[int index] + { + get => a[index]; + set => a[index] = value; + } + + public int this[params string[] arguments] { + get { return 1; } + } + + B.C d() { + return null; + } +} + +// unicode class name +class Ωµ { + B.C d() { + return null; + } +} + +// file scoped class +file class A {} + +-------------------------------------------------------------------------------- + +(compilation_unit + (class_declaration + (modifier) + name: (identifier) + body: (declaration_list)) + (class_declaration + (modifier) + name: (identifier) + bases: (base_list + (predefined_type) + (identifier) + (identifier)) + body: (declaration_list)) + (class_declaration + (modifier) + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier))) + body: (declaration_list)) + (class_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier)) + (type_parameter + name: (identifier))) + body: (declaration_list)) + (class_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint)) + body: (declaration_list)) + (class_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint)) + body: (declaration_list)) + (class_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint) + constraints: (type_parameter_constraint) + constraints: (type_parameter_constraint + (type_constraint + type: (nullable_type + type: (identifier))))) + body: (declaration_list)) + (class_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (constructor_constraint))) + body: (declaration_list)) + (class_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (type_constraint + type: (identifier))) + constraints: (type_parameter_constraint + (constructor_constraint))) + body: (declaration_list)) + (class_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier)) + (type_parameter + name: (identifier))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (type_constraint + type: (identifier))) + constraints: (type_parameter_constraint + (type_constraint + type: (identifier))) + constraints: (type_parameter_constraint + (constructor_constraint))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (type_constraint + type: (identifier)))) + body: (declaration_list)) + (class_declaration + name: (identifier) + body: (declaration_list + (constructor_declaration + (modifier) + name: (identifier) + parameters: (parameter_list) + body: (block)) + (comment) + (constructor_declaration + (modifier) + name: (identifier) + parameters: (parameter_list + (parameter + type: (predefined_type) + name: (identifier))) + body: (arrow_expression_clause + (assignment_expression + left: (identifier) + (assignment_operator) + right: (identifier)))) + (comment) + (constructor_declaration + (modifier) + name: (identifier) + parameters: (parameter_list) + body: (block)) + (constructor_declaration + (modifier) + (modifier) + name: (identifier) + parameters: (parameter_list) + body: (block)) + (constructor_declaration + (modifier) + (modifier) + name: (identifier) + parameters: (parameter_list) + body: (block)) + (comment) + (destructor_declaration + name: (identifier) + parameters: (parameter_list) + body: (block)) + (comment) + (destructor_declaration + name: (identifier) + parameters: (parameter_list) + body: (arrow_expression_clause + (invocation_expression + function: (identifier) + arguments: (argument_list)))) + (comment) + (field_declaration + (modifier) + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal))))) + (field_declaration + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_string_text)))))) + (comment) + (indexer_declaration + (modifier) + type: (predefined_type) + parameters: (bracketed_parameter_list + (parameter + type: (predefined_type) + name: (identifier))) + accessors: (accessor_list + (accessor_declaration + body: (block + (return_statement + (identifier)))) + (accessor_declaration + body: (block + (expression_statement + (assignment_expression + left: (identifier) + (assignment_operator) + right: (identifier))))))) + (comment) + (indexer_declaration + (modifier) + type: (predefined_type) + parameters: (bracketed_parameter_list + (parameter + type: (predefined_type) + name: (identifier))) + value: (arrow_expression_clause + (element_access_expression + expression: (identifier) + subscript: (bracketed_argument_list + (argument + (identifier)))))) + (indexer_declaration + (modifier) + type: (predefined_type) + parameters: (bracketed_parameter_list + (parameter + type: (predefined_type) + name: (identifier))) + accessors: (accessor_list + (accessor_declaration + body: (arrow_expression_clause + (element_access_expression + expression: (identifier) + subscript: (bracketed_argument_list + (argument + (identifier)))))) + (accessor_declaration + body: (arrow_expression_clause + (assignment_expression + left: (element_access_expression + expression: (identifier) + subscript: (bracketed_argument_list + (argument + (identifier)))) + (assignment_operator) + right: (identifier)))))) + (indexer_declaration + (modifier) + type: (predefined_type) + parameters: (bracketed_parameter_list + type: (array_type + type: (predefined_type) + rank: (array_rank_specifier)) + name: (identifier)) + accessors: (accessor_list + (accessor_declaration + body: (block + (return_statement + (integer_literal)))))) + (method_declaration + type: (qualified_name + qualifier: (identifier) + name: (identifier)) + name: (identifier) + parameters: (parameter_list) + body: (block + (return_statement + (null_literal)))))) + (comment) + (class_declaration + name: (identifier) + body: (declaration_list + (method_declaration + type: (qualified_name + qualifier: (identifier) + name: (identifier)) + name: (identifier) + parameters: (parameter_list) + body: (block + (return_statement + (null_literal)))))) + (comment) + (class_declaration + (modifier) + name: (identifier) + body: (declaration_list))) diff --git a/corpus/contextual-keywords.txt b/test/corpus/contextual-keywords.txt similarity index 100% rename from corpus/contextual-keywords.txt rename to test/corpus/contextual-keywords.txt diff --git a/test/corpus/enums.txt b/test/corpus/enums.txt new file mode 100644 index 00000000..fbeefe91 --- /dev/null +++ b/test/corpus/enums.txt @@ -0,0 +1,22 @@ +================================================================================ +global enum with one option +================================================================================ + +enum A: byte { One, Two = 2, Three = 0x03 } + +-------------------------------------------------------------------------------- + +(compilation_unit + (enum_declaration + name: (identifier) + bases: (base_list + (predefined_type)) + body: (enum_member_declaration_list + (enum_member_declaration + name: (identifier)) + (enum_member_declaration + name: (identifier) + value: (integer_literal)) + (enum_member_declaration + name: (identifier) + value: (integer_literal))))) diff --git a/corpus/expressions.txt b/test/corpus/expressions.txt similarity index 94% rename from corpus/expressions.txt rename to test/corpus/expressions.txt index 2cb26f97..07881e4e 100644 --- a/corpus/expressions.txt +++ b/test/corpus/expressions.txt @@ -11,6 +11,7 @@ a = --a; a = a++; a = a--; a = a!; + -------------------------------------------------------------------------------- (compilation_unit @@ -1041,7 +1042,7 @@ Named parameters using contextually reserved words ================================================================================ void b() { - resultNode = B(from: 1, into: "hi"); + resultNode = B(from: 1, into: "hi"); } -------------------------------------------------------------------------------- @@ -3455,3 +3456,191 @@ bool c = (a) && b; left: (parenthesized_expression (identifier)) right: (identifier)))))))) + +================================================================================ +With expression typical basic form +================================================================================ + +void A() { + var newFriend = friend with { LastName = "Edwards" }; +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (global_statement + (local_function_statement + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (with_expression + (identifier) + (with_initializer_expression + (simple_assignment_expression + (identifier) + (string_literal + (string_literal_fragment))))))))))))) + +================================================================================ +With expression using expressions +================================================================================ + +void A() { + var friend = GetAFriend() with { + ForeName = RandomFirstName(), + LastName = RandomLastName() + }; +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (global_statement + (local_function_statement + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (with_expression + (invocation_expression + function: (identifier) + arguments: (argument_list)) + (with_initializer_expression + (simple_assignment_expression + (identifier) + (invocation_expression + function: (identifier) + arguments: (argument_list))) + (simple_assignment_expression + (identifier) + (invocation_expression + function: (identifier) + arguments: (argument_list))))))))))))) + +================================================================================ +Precedence between with and cast +================================================================================ + +var x = (Point) p1 with {X = 3}; + +-------------------------------------------------------------------------------- + +(compilation_unit + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (with_expression + (cast_expression + type: (identifier) + value: (identifier)) + (with_initializer_expression + (simple_assignment_expression + (identifier) + (integer_literal)))))))))) + +================================================================================ +Precedence between with and switch +================================================================================ + +var x = p1 with {X = 3} switch { _ => 3 }; + +-------------------------------------------------------------------------------- + +(compilation_unit + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (switch_expression + (with_expression + (identifier) + (with_initializer_expression + (simple_assignment_expression + (identifier) + (integer_literal)))) + (switch_expression_arm + (discard) + (integer_literal))))))))) + +================================================================================ +Precedence between with and equals +================================================================================ + +var x = p1 with {X = 3} == p1 with {X = 4}; + +-------------------------------------------------------------------------------- + +(compilation_unit + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (binary_expression + left: (with_expression + (identifier) + (with_initializer_expression + (simple_assignment_expression + (identifier) + (integer_literal)))) + right: (with_expression + (identifier) + (with_initializer_expression + (simple_assignment_expression + (identifier) + (integer_literal))))))))))) + +================================================================================ +Associativity of with expression +================================================================================ + +var x = p1 with {X = 3} with {X = 4} with {X = 5}; + +-------------------------------------------------------------------------------- + +(compilation_unit + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (with_expression + (with_expression + (with_expression + (identifier) + (with_initializer_expression + (simple_assignment_expression + (identifier) + (integer_literal)))) + (with_initializer_expression + (simple_assignment_expression + (identifier) + (integer_literal)))) + (with_initializer_expression + (simple_assignment_expression + (identifier) + (integer_literal)))))))))) diff --git a/corpus/identifiers.txt b/test/corpus/identifiers.txt similarity index 65% rename from corpus/identifiers.txt rename to test/corpus/identifiers.txt index c2513e1c..45d466e1 100644 --- a/corpus/identifiers.txt +++ b/test/corpus/identifiers.txt @@ -1,9 +1,25 @@ ================================================================================ -basic indentifiers +Identifiers ================================================================================ int x = y; +// keyword names +int @var = @const; + +// contextual keyword names +int nint = 0; +int nuint = 0; + +// unicode identifiers +int under_score = 0; +int with1number = 0; +int varæble = 0; +int Переменная = 0; +int first‿letter = 0; +int ග්‍රහලෝකය = 0; +int _كوكبxxx = 0; + -------------------------------------------------------------------------------- (compilation_unit @@ -14,17 +30,8 @@ int x = y; (variable_declarator name: (identifier) (equals_value_clause - (identifier))))))) - -================================================================================ -indentifiers with keyword names -================================================================================ - -int @var = @const; - --------------------------------------------------------------------------------- - -(compilation_unit + (identifier)))))) + (comment) (global_statement (local_declaration_statement (variable_declaration @@ -32,18 +39,8 @@ int @var = @const; (variable_declarator name: (identifier) (equals_value_clause - (identifier))))))) - -================================================================================ -identifiers with contextual keyword names -================================================================================ - -int nint = 0; -int nuint = 0; - --------------------------------------------------------------------------------- - -(compilation_unit + (identifier)))))) + (comment) (global_statement (local_declaration_statement (variable_declaration @@ -59,27 +56,12 @@ int nuint = 0; (variable_declarator name: (identifier) (equals_value_clause - (integer_literal))))))) - -================================================================================ -unicode identifiers -================================================================================ - -var under_score = 0; -var with1number = 0; -var varæble = 0; -var Переменная = 0; -var first‿letter = 0; -var ග්‍රහලෝකය = 0; -var _كوكبxxx = 0; - --------------------------------------------------------------------------------- - -(compilation_unit + (integer_literal)))))) + (comment) (global_statement (local_declaration_statement (variable_declaration - type: (implicit_type) + type: (predefined_type) (variable_declarator name: (identifier) (equals_value_clause @@ -87,7 +69,7 @@ var _كوكبxxx = 0; (global_statement (local_declaration_statement (variable_declaration - type: (implicit_type) + type: (predefined_type) (variable_declarator name: (identifier) (equals_value_clause @@ -95,7 +77,7 @@ var _كوكبxxx = 0; (global_statement (local_declaration_statement (variable_declaration - type: (implicit_type) + type: (predefined_type) (variable_declarator name: (identifier) (equals_value_clause @@ -103,7 +85,7 @@ var _كوكبxxx = 0; (global_statement (local_declaration_statement (variable_declaration - type: (implicit_type) + type: (predefined_type) (variable_declarator name: (identifier) (equals_value_clause @@ -111,7 +93,7 @@ var _كوكبxxx = 0; (global_statement (local_declaration_statement (variable_declaration - type: (implicit_type) + type: (predefined_type) (variable_declarator name: (identifier) (equals_value_clause @@ -119,7 +101,7 @@ var _كوكبxxx = 0; (global_statement (local_declaration_statement (variable_declaration - type: (implicit_type) + type: (predefined_type) (variable_declarator name: (identifier) (equals_value_clause @@ -127,7 +109,7 @@ var _كوكبxxx = 0; (global_statement (local_declaration_statement (variable_declaration - type: (implicit_type) + type: (predefined_type) (variable_declarator name: (identifier) (equals_value_clause diff --git a/test/corpus/interfaces.txt b/test/corpus/interfaces.txt new file mode 100644 index 00000000..97babdd5 --- /dev/null +++ b/test/corpus/interfaces.txt @@ -0,0 +1,210 @@ +================================================================================ +Interfaces +================================================================================ + +public interface IOne: ITwo, IThree { + byte Get { get; } + char Set { set; } + uint GetSet { get; set; } + long SetGet { set; get; } + + void Nothing(); + int Output(); + void Input(string a); + int InputOutput(string a); +}; + +// generic +private interface IOne : ITwo { } + +// constraint +private interface IOne : ITwo where T1:T2 { } + +private interface IOne : ITwo where T1:T2 where T3:new() { } + +namespace A { + interface IOne : ITwo { + event EventHandler SomeEvent; + + bool this[int index] { get; set; } + } +} + + +interface MyDefault { + void Log(string message) { + Console.WriteLine(message); + } +} + +public interface IGetNext where T : IGetNext +{ + static abstract T operator ++(T other); +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (interface_declaration + (modifier) + name: (identifier) + bases: (base_list + (identifier) + (identifier)) + body: (declaration_list + (property_declaration + type: (predefined_type) + name: (identifier) + accessors: (accessor_list + (accessor_declaration))) + (property_declaration + type: (predefined_type) + name: (identifier) + accessors: (accessor_list + (accessor_declaration))) + (property_declaration + type: (predefined_type) + name: (identifier) + accessors: (accessor_list + (accessor_declaration) + (accessor_declaration))) + (property_declaration + type: (predefined_type) + name: (identifier) + accessors: (accessor_list + (accessor_declaration) + (accessor_declaration))) + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list)) + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list)) + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list + (parameter + type: (predefined_type) + name: (identifier)))) + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list + (parameter + type: (predefined_type) + name: (identifier)))))) + (comment) + (interface_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier))) + bases: (base_list + (identifier)) + body: (declaration_list)) + (comment) + (interface_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier))) + bases: (base_list + (identifier)) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (type_constraint + type: (identifier)))) + body: (declaration_list)) + (interface_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier)) + (type_parameter + name: (identifier))) + bases: (base_list + (identifier)) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (type_constraint + type: (identifier)))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (constructor_constraint))) + body: (declaration_list)) + (namespace_declaration + name: (identifier) + body: (declaration_list + (interface_declaration + name: (identifier) + bases: (base_list + (identifier)) + body: (declaration_list + (event_field_declaration + (variable_declaration + type: (generic_name + name: (identifier) + type_arguments: (type_argument_list + (identifier))) + (variable_declarator + name: (identifier)))) + (indexer_declaration + type: (predefined_type) + parameters: (bracketed_parameter_list + (parameter + type: (predefined_type) + name: (identifier))) + accessors: (accessor_list + (accessor_declaration) + (accessor_declaration))))))) + (interface_declaration + name: (identifier) + body: (declaration_list + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list + (parameter + type: (predefined_type) + name: (identifier))) + body: (block + (expression_statement + (invocation_expression + function: (member_access_expression + expression: (identifier) + name: (identifier)) + arguments: (argument_list + (argument + (identifier))))))))) + (interface_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (type_constraint + type: (generic_name + name: (identifier) + type_arguments: (type_argument_list + (identifier)))))) + body: (declaration_list + (operator_declaration + (modifier) + (modifier) + type: (identifier) + parameters: (parameter_list + (parameter + type: (identifier) + name: (identifier))))))) diff --git a/test/corpus/literals.txt b/test/corpus/literals.txt new file mode 100644 index 00000000..b25fb9f5 --- /dev/null +++ b/test/corpus/literals.txt @@ -0,0 +1,793 @@ +================================================================================ +Literals +================================================================================ + +// integer + +const int dec = 1_2; +const long hex = 0xf_1l; +const long hex2 = 0Xffff; +const long hex3 = 0x_0_f; +const UInt64 dec = 1uL; +const UInt16 bin = 0b0100_100; +const UInt16 bin2 = 0B01010__10; +const long bin3 = 0b_0_10; + +// boolean + +const bool t = true, u = false; + +// char + +const char c = 'a'; +const char esc = '\n'; +const char hex = '\xf09a'; +const char uni16 = '\ua0bf'; +const char uni32 = '\UA0BFf9ca'; + +// real + +const float s = 012.23F; +const float e = 1e6f; +const Single en = 0e-1f; +const Single ep = 1_1e+12f; +const double d = 0.9_9d; +const double e = .4_9d; +const decimal m = 0_1_2.9m; +const Decimal m2 = 102.349M; + +// string + +String e = ""; +string s = "a"; +string m = "abc"; +string esc = "ab\"\t"; +string hex = "ab\x22r"; +string hex2 = "\x22r\x00"; +string u16 = "\ub0d0ok"; +string u32 = "\uF1D20ff0test"; +string ve = @""; +string v = @"abcde\ef"; +string quotes = @""; +String e = @"This +is +a +multi-line"; +string s = "//\n//"; +string s = "\u0065/* \u0065 */\u0065"; +string s = @"/* comment */"; + +// utf-8 string + +var a = "lower"u8; +var b = "upper"U8; +var c = @"lower"u8; +var d = @"upper"U8; + +string s = $"This contains { + abc +} a newline"; + +// interpolated string + +string s = $"hello"; +string esc = $"ab\"\t"; +string double = $"{{nope}}"; +string s = $"\u0065/* \u0065 */\u0065"; + +string s = $"hello {name}, how are you?"; +string s = $"hello {name:0.00}, how are you?"; +string s = $"hello {name,25}, how are you?"; +string s = $@"hello {name}, how are you?"; +string s = $@"hello {name:g}, how are you?"; +string s = $@"hello {name,-10}, how are you?"; + +string s = $@"hello"; +string s = @$"hello"; + +var s = $@"Another +multiple +line"; + +string s = $@" +class A +{{ + bool Method(int value) + {{ + return value is {operatorText} 3 or {operatorText} 5; + }} +}} +"; +string s = $@"{a}/* comment */{a}"; +var x = $@"/* {world} */"; + +// raw string + +var x = """Hello"""; +var x = """ + Hello + """; +var x = """ + ""Hello"" "there" + """u8; + +var x = $"""The point "{X}, {Y}" is + ""{Math.Sqrt(X * X + Y * Y)}"" from the origin + """; + +var x = $"{{"; + +-------------------------------------------------------------------------------- + +(compilation_unit + (comment) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal)))))) + (comment) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (boolean_literal))) + (variable_declarator + name: (identifier) + (equals_value_clause + (boolean_literal)))))) + (comment) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (character_literal + (character_literal_unescaped))))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (character_literal + (escape_sequence))))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (character_literal + (escape_sequence))))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (character_literal + (escape_sequence))))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (character_literal + (escape_sequence))))))) + (comment) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (real_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (real_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (real_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (real_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (real_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (real_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (real_literal)))))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (real_literal)))))) + (comment) + (global_statement + (local_declaration_statement + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (string_literal)))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (string_literal + (string_literal_fragment))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (string_literal + (string_literal_fragment))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (string_literal + (string_literal_fragment) + (escape_sequence) + (escape_sequence))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (string_literal + (string_literal_fragment) + (escape_sequence) + (string_literal_fragment))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (string_literal + (escape_sequence) + (string_literal_fragment) + (escape_sequence))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (string_literal + (escape_sequence) + (string_literal_fragment))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (string_literal + (escape_sequence) + (string_literal_fragment))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (verbatim_string_literal)))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (verbatim_string_literal)))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (verbatim_string_literal)))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (verbatim_string_literal)))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (string_literal + (string_literal_fragment) + (escape_sequence) + (string_literal_fragment))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (string_literal + (escape_sequence) + (string_literal_fragment) + (escape_sequence) + (string_literal_fragment) + (escape_sequence))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (verbatim_string_literal)))))) + (comment) + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (string_literal + (string_literal_fragment) + (string_literal_encoding))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (string_literal + (string_literal_fragment) + (string_literal_encoding))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (verbatim_string_literal)))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (verbatim_string_literal)))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_string_text) + (interpolation + (identifier)) + (interpolated_string_text))))))) + (comment) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_string_text))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_string_text) + (interpolated_string_text + (escape_sequence)) + (interpolated_string_text + (escape_sequence)))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_string_text) + (interpolated_string_text))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_string_text + (escape_sequence)) + (interpolated_string_text) + (interpolated_string_text + (escape_sequence)) + (interpolated_string_text) + (interpolated_string_text + (escape_sequence)))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_string_text) + (interpolation + (identifier)) + (interpolated_string_text))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_string_text) + (interpolation + (identifier) + (interpolation_format_clause)) + (interpolated_string_text))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_string_text) + (interpolation + (identifier) + (interpolation_alignment_clause + (integer_literal))) + (interpolated_string_text))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_verbatim_string_text) + (interpolation + (identifier)) + (interpolated_verbatim_string_text))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_verbatim_string_text) + (interpolation + (identifier) + (interpolation_format_clause)) + (interpolated_verbatim_string_text))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_verbatim_string_text) + (interpolation + (identifier) + (interpolation_alignment_clause + (prefix_unary_expression + (integer_literal)))) + (interpolated_verbatim_string_text))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_verbatim_string_text))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_verbatim_string_text))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_verbatim_string_text))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_verbatim_string_text) + (interpolated_verbatim_string_text) + (interpolated_verbatim_string_text) + (interpolated_verbatim_string_text) + (interpolated_verbatim_string_text) + (interpolation + (identifier)) + (interpolated_verbatim_string_text) + (interpolation + (identifier)) + (interpolated_verbatim_string_text))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolation + (identifier)) + (interpolated_verbatim_string_text) + (interpolation + (identifier)))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_verbatim_string_text) + (interpolation + (identifier)) + (interpolated_verbatim_string_text))))))) + (comment) + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (raw_string_literal)))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (raw_string_literal)))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (raw_string_literal)))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_raw_string_text) + (interpolated_raw_string_text) + (interpolation + (identifier)) + (interpolated_raw_string_text) + (interpolation + (identifier)) + (interpolated_raw_string_text) + (interpolated_raw_string_text) + (interpolated_raw_string_text) + (interpolation + (invocation_expression + function: (member_access_expression + expression: (identifier) + name: (identifier)) + arguments: (argument_list + (argument + (binary_expression + left: (binary_expression + left: (identifier) + right: (identifier)) + right: (binary_expression + left: (identifier) + right: (identifier))))))) + (interpolated_raw_string_text) + (interpolated_raw_string_text))))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (interpolated_string_expression + (interpolated_string_text)))))))) diff --git a/corpus/preprocessor.txt b/test/corpus/preprocessor.txt similarity index 67% rename from corpus/preprocessor.txt rename to test/corpus/preprocessor.txt index af7de23a..c23987c8 100644 --- a/corpus/preprocessor.txt +++ b/test/corpus/preprocessor.txt @@ -48,15 +48,29 @@ If, elif and else directives (endif_directive)) ================================================================================ -Complex if conditions +If conditions ================================================================================ + #if !MACOS +#endif + #if WIN32==true +#endif + #if !MACOS!=false +#endif + #if A && B || C +#endif + #if (A) +#endif + #if (A || B) +#endif + #if (A && B) || C +#endif -------------------------------------------------------------------------------- @@ -64,54 +78,43 @@ Complex if conditions (if_directive (prefix_unary_expression argument: (identifier))) + (endif_directive) (if_directive (binary_expression left: (identifier) right: (boolean_literal))) + (endif_directive) (if_directive (binary_expression left: (prefix_unary_expression argument: (identifier)) right: (boolean_literal))) + (endif_directive) (if_directive (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) + (endif_directive) (if_directive (parenthesized_expression (identifier))) + (endif_directive) (if_directive (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) + (endif_directive) (if_directive (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) - right: (identifier)))) - -================================================================================ -Region directives -================================================================================ - -#region Here, there, everywhere - -// something fast - -#endregion - --------------------------------------------------------------------------------- - -(compilation_unit - (region_directive - (preproc_message)) - (comment) - (endregion_directive)) + right: (identifier))) + (endif_directive)) ================================================================================ Define and undefine directives @@ -128,26 +131,6 @@ Define and undefine directives (undef_directive (identifier))) -================================================================================ -Warning and error directives -================================================================================ - -class Of1879 { -#warning This class is bad. -#error Okay, just stop. -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (warning_directive - (preproc_message)) - (error_directive - (preproc_message))))) - ================================================================================ Line directives ================================================================================ @@ -159,6 +142,9 @@ class Of1879 { #line default #line (1, 1) - (1, 3) 1 "a.cs" #line (2, 1) - (2, 3) "a.cs" +# line 2001 "A Space" +# line hidden +# line default } } @@ -191,51 +177,13 @@ class Of1879 { (preproc_integer_literal) (preproc_integer_literal) (preproc_integer_literal) - (preproc_string_literal))))))) - -================================================================================ -Spaces in directives -================================================================================ - -class Of1879 { - void AMethod() { -# line 2001 "A Space" -# line hidden -# line default - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - type: (predefined_type) - name: (identifier) - parameters: (parameter_list) - body: (block + (preproc_string_literal)) (line_directive (preproc_integer_literal) (preproc_string_literal)) (line_directive) (line_directive)))))) -================================================================================ -Pragmas -================================================================================ - -#pragma warning disable 660,661,nullable - --------------------------------------------------------------------------------- - -(compilation_unit - (pragma_directive - (integer_literal) - (integer_literal) - (identifier))) - ================================================================================ Directives not in strings or comments ================================================================================ @@ -271,30 +219,6 @@ class Of1879 { (verbatim_string_literal))))) (comment)))))) -================================================================================ -Reference (r) directive -================================================================================ - -#r "Microsoft.WindowsAzure.Storage" - --------------------------------------------------------------------------------- - -(compilation_unit - (reference_directive - (preproc_string_literal))) - -================================================================================ -Load directive -================================================================================ - -#load "mylogger.csx" - --------------------------------------------------------------------------------- - -(compilation_unit - (load_directive - (preproc_string_literal))) - ================================================================================ Shebang directive ================================================================================ diff --git a/corpus/query-syntax.txt b/test/corpus/query-syntax.txt similarity index 55% rename from corpus/query-syntax.txt rename to test/corpus/query-syntax.txt index 352b69d1..9a00aec4 100644 --- a/corpus/query-syntax.txt +++ b/test/corpus/query-syntax.txt @@ -2,84 +2,39 @@ Query from select ================================================================================ -var x = from a in source select a.B; +var x = from a in source select a.B() ? c : c * 2; --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (query_expression - (from_clause - name: (identifier) - (identifier)) - (select_clause - (member_access_expression - expression: (identifier) - name: (identifier)))))))))) - -================================================================================ -Query from select with operator -================================================================================ - -var x = from a in source select a * 2; +var x = from a in source select somevar = a; --------------------------------------------------------------------------------- +var x = from a in source select new { Name = a.B }; -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (query_expression - (from_clause - name: (identifier) - (identifier)) - (select_clause - (binary_expression - left: (identifier) - right: (integer_literal)))))))))) +var x = from a in source + where a.B == "A" + select new { Name = a.B }; -================================================================================ -Query from select with method call -================================================================================ +var x = from a in source + orderby a.A descending + orderby a.C ascending + orderby 1 + select a; -var x = from a in source select a.B(); +var x = from a in source + let z = new { a.A, a.B } + select z; --------------------------------------------------------------------------------- +var x = from a in sourceA + join b in sourceB on a.FK equals b.PK + select new { A.A, B.B }; -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (query_expression - (from_clause - name: (identifier) - (identifier)) - (select_clause - (invocation_expression - function: (member_access_expression - expression: (identifier) - name: (identifier)) - arguments: (argument_list)))))))))) +var x = from a in sourceA + from b in sourceB + where a.FK == b.FK + select new { A.A, B.B }; -================================================================================ -Query from select with conditional operator -================================================================================ +var x = from a in sourceA + group a by a.Country into g + select new { Country = g.Key, Population = g.Sum(p => p.Population) }; -var x = from a in source select a ? 0 : 1; -------------------------------------------------------------------------------- @@ -97,19 +52,15 @@ var x = from a in source select a ? 0 : 1; (identifier)) (select_clause (conditional_expression - condition: (identifier) - consequence: (integer_literal) - alternative: (integer_literal)))))))))) - -================================================================================ -Query from select with assignment -================================================================================ - -var x = from a in source select somevar = a; - --------------------------------------------------------------------------------- - -(compilation_unit + condition: (invocation_expression + function: (member_access_expression + expression: (identifier) + name: (identifier)) + arguments: (argument_list)) + consequence: (identifier) + alternative: (binary_expression + left: (identifier) + right: (integer_literal)))))))))) (global_statement (local_declaration_statement (variable_declaration @@ -125,17 +76,7 @@ var x = from a in source select somevar = a; (assignment_expression left: (identifier) (assignment_operator) - right: (identifier)))))))))) - -================================================================================ -Query from select projection -================================================================================ - -var x = from a in source select new { Name = a.B }; - --------------------------------------------------------------------------------- - -(compilation_unit + right: (identifier))))))))) (global_statement (local_declaration_statement (variable_declaration @@ -153,19 +94,7 @@ var x = from a in source select new { Name = a.B }; (identifier)) (member_access_expression expression: (identifier) - name: (identifier))))))))))) - -================================================================================ -Query from select with where -================================================================================ - -var x = from a in source - where a.B == "A" - select a; - --------------------------------------------------------------------------------- - -(compilation_unit + name: (identifier)))))))))) (global_statement (local_declaration_statement (variable_declaration @@ -184,66 +113,13 @@ var x = from a in source name: (identifier)) right: (string_literal (string_literal_fragment)))) - (select_clause - (identifier))))))))) - -================================================================================ -Query from select with where and projection -================================================================================ - -var x = from a in source - where a.B == "A" && a.C == "D" - select new { Name = a.B }; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (query_expression - (from_clause - name: (identifier) - (identifier)) - (where_clause - (binary_expression - left: (binary_expression - left: (member_access_expression - expression: (identifier) - name: (identifier)) - right: (string_literal - (string_literal_fragment))) - right: (binary_expression - left: (member_access_expression - expression: (identifier) - name: (identifier)) - right: (string_literal - (string_literal_fragment))))) (select_clause (anonymous_object_creation_expression (name_equals (identifier)) (member_access_expression expression: (identifier) - name: (identifier))))))))))) - -================================================================================ -Query from select with orderby -================================================================================ - -var x = from a in source - orderby a.A descending - orderby a.C ascending - orderby 1 - select a; - --------------------------------------------------------------------------------- - -(compilation_unit + name: (identifier)))))))))) (global_statement (local_declaration_statement (variable_declaration @@ -266,19 +142,7 @@ var x = from a in source (order_by_clause (integer_literal)) (select_clause - (identifier))))))))) - -================================================================================ -Query from select with let -================================================================================ - -var x = from a in source - let z = new { a.A, a.B } - select z; - --------------------------------------------------------------------------------- - -(compilation_unit + (identifier)))))))) (global_statement (local_declaration_statement (variable_declaration @@ -300,19 +164,7 @@ var x = from a in source expression: (identifier) name: (identifier)))) (select_clause - (identifier))))))))) - -================================================================================ -Query from select with join -================================================================================ - -var x = from a in sourceA - join b in sourceB on a.FK equals b.PK - select new { A.A, B.B }; - --------------------------------------------------------------------------------- - -(compilation_unit + (identifier)))))))) (global_statement (local_declaration_statement (variable_declaration @@ -340,20 +192,7 @@ var x = from a in sourceA name: (identifier)) (member_access_expression expression: (identifier) - name: (identifier))))))))))) - -================================================================================ -Query from select with multiple from -================================================================================ - -var x = from a in sourceA - from b in sourceB - where a.FK == b.FK - select new { A.A, B.B }; - --------------------------------------------------------------------------------- - -(compilation_unit + name: (identifier)))))))))) (global_statement (local_declaration_statement (variable_declaration @@ -383,19 +222,7 @@ var x = from a in sourceA name: (identifier)) (member_access_expression expression: (identifier) - name: (identifier))))))))))) - -================================================================================ -Query from select with group by & continuation -================================================================================ - -var x = from a in sourceA - group a by a.Country into g - select new { Country = g.Key, Population = g.Sum(p => p.Population) }; - --------------------------------------------------------------------------------- - -(compilation_unit + name: (identifier)))))))))) (global_statement (local_declaration_statement (variable_declaration diff --git a/test/corpus/records.txt b/test/corpus/records.txt new file mode 100644 index 00000000..b02d8d5f --- /dev/null +++ b/test/corpus/records.txt @@ -0,0 +1,193 @@ +================================================================================ +Basic record declaration +================================================================================ + +record F { + int Age { get; init; } +} + +record struct F { + int Age { get; init; } +} + +record class F { + int Age { get; init; } +} + +public record F where T:struct {} + +public record F where T: new() {} + +public record A : ISomething { } + +[Test] +private record F where T1 : I1, I2, new() where T2 : I2 { } + +record Person(string FirstName, string LastName); + +record Teacher(string FirstName, string LastName, string Subject) : Person(FirstName, LastName); + +record Teacher(string FirstName, string LastName, string Subject) : Person(FirstName, LastName), Ns.I1, I2; + +record Teacher() : Entity(), I1; + +public record Person { }; + +public record struct Person2 { }; + +-------------------------------------------------------------------------------- + +(compilation_unit + (record_declaration + name: (identifier) + body: (declaration_list + (property_declaration + type: (predefined_type) + name: (identifier) + accessors: (accessor_list + (accessor_declaration) + (accessor_declaration))))) + (record_struct_declaration + name: (identifier) + body: (declaration_list + (property_declaration + type: (predefined_type) + name: (identifier) + accessors: (accessor_list + (accessor_declaration) + (accessor_declaration))))) + (record_declaration + name: (identifier) + body: (declaration_list + (property_declaration + type: (predefined_type) + name: (identifier) + accessors: (accessor_list + (accessor_declaration) + (accessor_declaration))))) + (record_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint)) + body: (declaration_list)) + (record_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (constructor_constraint))) + body: (declaration_list)) + (record_declaration + (modifier) + name: (identifier) + bases: (base_list + (identifier)) + body: (declaration_list)) + (record_declaration + (attribute_list + (attribute + name: (identifier))) + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier)) + (type_parameter + name: (identifier))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (type_constraint + type: (identifier))) + constraints: (type_parameter_constraint + (type_constraint + type: (identifier))) + constraints: (type_parameter_constraint + (constructor_constraint))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (type_constraint + type: (identifier)))) + body: (declaration_list)) + (record_declaration + name: (identifier) + parameters: (parameter_list + (parameter + type: (predefined_type) + name: (identifier)) + (parameter + type: (predefined_type) + name: (identifier)))) + (record_declaration + name: (identifier) + parameters: (parameter_list + (parameter + type: (predefined_type) + name: (identifier)) + (parameter + type: (predefined_type) + name: (identifier)) + (parameter + type: (predefined_type) + name: (identifier))) + bases: (base_list + (primary_constructor_base_type + type: (identifier) + (argument_list + (argument + (identifier)) + (argument + (identifier)))))) + (record_declaration + name: (identifier) + parameters: (parameter_list + (parameter + type: (predefined_type) + name: (identifier)) + (parameter + type: (predefined_type) + name: (identifier)) + (parameter + type: (predefined_type) + name: (identifier))) + bases: (base_list + (primary_constructor_base_type + type: (identifier) + (argument_list + (argument + (identifier)) + (argument + (identifier)))) + (qualified_name + qualifier: (identifier) + name: (identifier)) + (identifier))) + (record_declaration + name: (identifier) + parameters: (parameter_list) + bases: (base_list + (primary_constructor_base_type + type: (generic_name + name: (identifier) + type_arguments: (type_argument_list + (identifier))) + (argument_list)) + (identifier))) + (record_declaration + (modifier) + name: (identifier) + body: (declaration_list)) + (record_struct_declaration + (modifier) + name: (identifier) + body: (declaration_list))) diff --git a/corpus/source-file-structure.txt b/test/corpus/source-file-structure.txt similarity index 55% rename from corpus/source-file-structure.txt rename to test/corpus/source-file-structure.txt index 00eb19e2..6ef624ec 100644 --- a/corpus/source-file-structure.txt +++ b/test/corpus/source-file-structure.txt @@ -1,16 +1,39 @@ ================================================================================ -Using directives +Using directives, extern alias, and namespace declarations ================================================================================ +global using A; +global using static A.B; + using A; using B.C; using global::E.F; using G = H.I; using static J.K; +extern alias A; + +namespace Foo { + using A; +} + +namespace A { + namespace B.C.D { + } + + namespace E.F { + } +} + -------------------------------------------------------------------------------- (compilation_unit + (using_directive + (identifier)) + (using_directive + (qualified_name + (identifier) + (identifier))) (using_directive (identifier)) (using_directive @@ -32,99 +55,34 @@ using static J.K; (using_directive (qualified_name (identifier) - (identifier)))) - -================================================================================ -Nested using directives -================================================================================ - -namespace Foo { - using A; -} - --------------------------------------------------------------------------------- - -(compilation_unit + (identifier))) + (global_statement + (local_declaration_statement + (modifier) + (variable_declaration + (identifier) + (variable_declarator + (identifier))))) (namespace_declaration - name: (identifier) - body: (declaration_list + (identifier) + (declaration_list (using_directive - name: (identifier))))) - -================================================================================ -Global using directives -================================================================================ - -global using A; -global using static A.B; - --------------------------------------------------------------------------------- - -(compilation_unit - (using_directive - (identifier)) - (using_directive - (qualified_name - (identifier) - (identifier)))) - -================================================================================ -Comments -================================================================================ - -// I'm a single-line comment - -/* - * I'm a block comment: a * b / c - */ - --------------------------------------------------------------------------------- - -(compilation_unit - (comment) - (comment)) - -================================================================================ -Comment with double asterisk -================================================================================ - -/** test **/ - --------------------------------------------------------------------------------- - -(compilation_unit - (comment)) - -================================================================================ -Namespaces -================================================================================ - -namespace A { - namespace B.C.D { - } - - namespace E.F { - } -} - --------------------------------------------------------------------------------- - -(compilation_unit + (identifier)))) (namespace_declaration - name: (identifier) - body: (declaration_list + (identifier) + (declaration_list (namespace_declaration - name: (qualified_name - qualifier: (qualified_name - qualifier: (identifier) - name: (identifier)) - name: (identifier)) - body: (declaration_list)) + (qualified_name + (qualified_name + (identifier) + (identifier)) + (identifier)) + (declaration_list)) (namespace_declaration - name: (qualified_name - qualifier: (identifier) - name: (identifier)) - body: (declaration_list))))) + (qualified_name + (identifier) + (identifier)) + (declaration_list))))) ================================================================================ File scoped namespaces @@ -144,33 +102,6 @@ class B { name: (identifier) body: (declaration_list)))) -================================================================================ -Interfaces -================================================================================ - -public interface IFoo { -} - --------------------------------------------------------------------------------- - -(compilation_unit - (interface_declaration - (modifier) - name: (identifier) - body: (declaration_list))) - -================================================================================ -Externs -================================================================================ - -extern alias A; - --------------------------------------------------------------------------------- - -(compilation_unit - (extern_alias_directive - (identifier))) - ================================================================================ Delegates ================================================================================ @@ -253,21 +184,3 @@ class Z { type: (predefined_type) name: (identifier) parameters: (parameter_list))))) - -================================================================================ -Var declared equal to integer literal -================================================================================ - -var a = 1; - --------------------------------------------------------------------------------- - -(compilation_unit - (global_statement - (local_declaration_statement - (variable_declaration - type: (implicit_type) - (variable_declarator - name: (identifier) - (equals_value_clause - (integer_literal))))))) diff --git a/test/corpus/statements.txt b/test/corpus/statements.txt new file mode 100644 index 00000000..7b1d4f4b --- /dev/null +++ b/test/corpus/statements.txt @@ -0,0 +1,1086 @@ +================================================================================ +Common statements +================================================================================ + +(string a, bool b) c = default; +A a = null; +int x = 0; +(x, int y) = point; +var result = list.Select(c => (c.f1, c.f2)).Where(t => t.f2 == 1); + +class A { + int Sample() { + return 1; + } + + void Sample2() { + return; + } + + void Sample3() { + while (true) break; + while (false) continue; + } + + void Sample4() { + throw; + throw ex; + } + + void Sample5() { + do { } while (true); + } + + void Sample6() { + goto end; + end: + return; + } + + int Sample7() { + if (true) return 1; + else return 0; + } + + int Sample8() { + switch (1) { + case 1: + case 2: + return 1; + default: + return 0; + } + } + + M(out (int a, int b) c); + + void M() { + (bool a, bool b) M2() { + return (true, false); + } + } +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (global_statement + (local_declaration_statement + (variable_declaration + type: (tuple_type + (tuple_element + type: (predefined_type) + name: (identifier)) + (tuple_element + type: (predefined_type) + name: (identifier))) + (variable_declarator + name: (identifier) + (equals_value_clause + (default_expression)))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (generic_name + name: (identifier) + type_arguments: (type_argument_list + (identifier))) + (variable_declarator + name: (identifier) + (equals_value_clause + (null_literal)))))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal)))))) + (global_statement + (expression_statement + (assignment_expression + left: (tuple_expression + (argument + (identifier)) + (argument + (declaration_expression + type: (predefined_type) + name: (identifier)))) + (assignment_operator) + right: (identifier)))) + (global_statement + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (invocation_expression + function: (member_access_expression + expression: (invocation_expression + function: (member_access_expression + expression: (identifier) + name: (identifier)) + arguments: (argument_list + (argument + (lambda_expression + parameters: (implicit_parameter_list + (parameter + name: (identifier))) + body: (tuple_expression + (argument + (member_access_expression + expression: (identifier) + name: (identifier))) + (argument + (member_access_expression + expression: (identifier) + name: (identifier)))))))) + name: (identifier)) + arguments: (argument_list + (argument + (lambda_expression + parameters: (implicit_parameter_list + (parameter + name: (identifier))) + body: (binary_expression + left: (member_access_expression + expression: (identifier) + name: (identifier)) + right: (integer_literal))))))))))) + (class_declaration + name: (identifier) + body: (declaration_list + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (return_statement + (integer_literal)))) + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (return_statement))) + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (while_statement + condition: (boolean_literal) + body: (break_statement)) + (while_statement + condition: (boolean_literal) + body: (continue_statement)))) + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (throw_statement) + (throw_statement + (identifier)))) + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (do_statement + body: (block) + condition: (boolean_literal)))) + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (goto_statement + (identifier)) + (labeled_statement + (identifier) + (return_statement)))) + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (if_statement + condition: (boolean_literal) + consequence: (return_statement + (integer_literal)) + alternative: (return_statement + (integer_literal))))) + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (switch_statement + value: (integer_literal) + body: (switch_body + (switch_section + (case_switch_label + (integer_literal)) + (case_switch_label + (integer_literal)) + (return_statement + (integer_literal))) + (switch_section + (default_switch_label) + (return_statement + (integer_literal))))))) + (constructor_declaration + name: (identifier) + parameters: (parameter_list + (parameter + (parameter_modifier) + type: (tuple_type + (tuple_element + type: (predefined_type) + name: (identifier)) + (tuple_element + type: (predefined_type) + name: (identifier))) + name: (identifier)))) + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (local_function_statement + type: (tuple_type + (tuple_element + type: (predefined_type) + name: (identifier)) + (tuple_element + type: (predefined_type) + name: (identifier))) + name: (identifier) + parameters: (parameter_list) + body: (block + (return_statement + (tuple_expression + (argument + (boolean_literal)) + (argument + (boolean_literal))))))))))) + +================================================================================ +Switch statements +================================================================================ + +int Sample9(int a) { + switch (a, a) { + case (1, 1): + return 1; + default: + return 0; + } + + switch (A, B) { + case (_, _) when !c: + break; + } + + switch (A) { + case {Length: 2} when !c: + break; + } + + int i = 123; + switch (i) + { + case int when i < 5: + break; + } +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (global_statement + (local_function_statement + (predefined_type) + (identifier) + (parameter_list + (parameter + (predefined_type) + (identifier))) + (block + (switch_statement + (tuple_expression + (argument + (identifier)) + (argument + (identifier))) + (switch_body + (switch_section + (case_switch_label + (tuple_expression + (argument + (integer_literal)) + (argument + (integer_literal)))) + (return_statement + (integer_literal))) + (switch_section + (default_switch_label) + (return_statement + (integer_literal))))) + (switch_statement + (tuple_expression + (argument + (identifier)) + (argument + (identifier))) + (switch_body + (switch_section + (case_pattern_switch_label + (recursive_pattern + (positional_pattern_clause + (subpattern + (discard)) + (subpattern + (discard)))) + (when_clause + (prefix_unary_expression + (identifier)))) + (break_statement)))) + (switch_statement + (identifier) + (switch_body + (switch_section + (case_pattern_switch_label + (recursive_pattern + (property_pattern_clause + (subpattern + (expression_colon + (identifier)) + (constant_pattern + (integer_literal))))) + (when_clause + (prefix_unary_expression + (identifier)))) + (break_statement)))) + (local_declaration_statement + (variable_declaration + (predefined_type) + (variable_declarator + (identifier) + (equals_value_clause + (integer_literal))))) + (switch_statement + (identifier) + (switch_body + (switch_section + (case_pattern_switch_label + (type_pattern + (predefined_type)) + (when_clause + (binary_expression + (identifier) + (integer_literal)))) + (break_statement)))))))) + +================================================================================ +Try catch finally statements +================================================================================ + +class A { + void Sample() { + try { + } finally { + } + + try { + } catch (Exception ex) { + } + + try { + } catch (Exception ex) { + } finally { + } + + try { + } catch (Exception ex) { + } catch (OtherException ex) { + } + + try { + } catch (Exception ex) when (a == 1) { + } + } +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (class_declaration + name: (identifier) + body: (declaration_list + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (try_statement + body: (block) + (finally_clause + (block))) + (try_statement + body: (block) + (catch_clause + (catch_declaration + type: (identifier) + name: (identifier)) + body: (block))) + (try_statement + body: (block) + (catch_clause + (catch_declaration + type: (identifier) + name: (identifier)) + body: (block)) + (finally_clause + (block))) + (try_statement + body: (block) + (catch_clause + (catch_declaration + type: (identifier) + name: (identifier)) + body: (block)) + (catch_clause + (catch_declaration + type: (identifier) + name: (identifier)) + body: (block))) + (try_statement + body: (block) + (catch_clause + (catch_declaration + type: (identifier) + name: (identifier)) + (catch_filter_clause + (binary_expression + left: (identifier) + right: (integer_literal))) + body: (block)))))))) + +================================================================================ +Checked, unchecked, locked, & yield statements +================================================================================ + +class A { + void Sample() { + checked { + return; + } + + unchecked { + return; + } + + lock (this) { + return; + } + + yield return 1; + yield break; + } +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (class_declaration + name: (identifier) + body: (declaration_list + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (checked_statement + (block + (return_statement))) + (checked_statement + (block + (return_statement))) + (lock_statement + (this_expression) + (block + (return_statement))) + (yield_statement + (integer_literal)) + (yield_statement)))))) + +================================================================================ +Initializers +================================================================================ + +class A { + void Sample() { + int a; + int a = 1, b = 2; + const int a = 1; + const int a = 1, b = 2; + ref var value = ref data[i]; + var g = args[0].Length; + + numbers ??= new List(); + b = obj ?? a == 0; + + person = new Person(null!, null!); + + MyClass myVar = MyFunction("MyArg"); + } +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (class_declaration + name: (identifier) + body: (declaration_list + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier)))) + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal))) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal))))) + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal))))) + (local_declaration_statement + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal))) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal))))) + (local_declaration_statement + (variable_declaration + type: (ref_type + type: (implicit_type)) + (variable_declarator + name: (identifier) + (equals_value_clause + (ref_expression + (element_access_expression + expression: (identifier) + subscript: (bracketed_argument_list + (argument + (identifier))))))))) + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (member_access_expression + expression: (element_access_expression + expression: (identifier) + subscript: (bracketed_argument_list + (argument + (integer_literal)))) + name: (identifier)))))) + (expression_statement + (assignment_expression + left: (identifier) + (assignment_operator) + right: (object_creation_expression + type: (generic_name + name: (identifier) + type_arguments: (type_argument_list + (predefined_type))) + arguments: (argument_list)))) + (expression_statement + (assignment_expression + left: (identifier) + (assignment_operator) + right: (binary_expression + left: (identifier) + right: (binary_expression + left: (identifier) + right: (integer_literal))))) + (expression_statement + (assignment_expression + left: (identifier) + (assignment_operator) + right: (object_creation_expression + type: (identifier) + arguments: (argument_list + (argument + (postfix_unary_expression + (null_literal))) + (argument + (postfix_unary_expression + (null_literal))))))) + (local_declaration_statement + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (invocation_expression + function: (generic_name + name: (identifier) + type_arguments: (type_argument_list + (identifier))) + arguments: (argument_list + (argument + (string_literal + (string_literal_fragment)))))))))))))) + +================================================================================ +Using statements +================================================================================ + +class A { + void Sample() { + using (var a = b) { + return; + } + + using (Stream a = File.OpenRead("a"), b = new BinaryReader(a)) { + return; + } + + using var a = new A(); + + using (Object a = b) { + return; + } + + using (this) { + return; + } + } +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (class_declaration + name: (identifier) + body: (declaration_list + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (using_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (identifier)))) + body: (block + (return_statement))) + (using_statement + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (invocation_expression + function: (member_access_expression + expression: (identifier) + name: (identifier)) + arguments: (argument_list + (argument + (string_literal + (string_literal_fragment))))))) + (variable_declarator + name: (identifier) + (equals_value_clause + (object_creation_expression + type: (identifier) + arguments: (argument_list + (argument + (identifier))))))) + body: (block + (return_statement))) + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (object_creation_expression + type: (identifier) + arguments: (argument_list)))))) + (using_statement + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (identifier)))) + body: (block + (return_statement))) + (using_statement + (this_expression) + body: (block + (return_statement)))))))) + +================================================================================ +Loops +================================================================================ + +class A { + void Sample() { + foreach(int x in y) + z += x; + + foreach(x in y) + z += x; + + foreach(var (x, y) in z) + q += x; + + for(int x = 0; x < 100; x++) { + z += x; + } + + for(;;) { + } + } +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (class_declaration + name: (identifier) + body: (declaration_list + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (for_each_statement + type: (predefined_type) + left: (identifier) + right: (identifier) + body: (expression_statement + (assignment_expression + left: (identifier) + (assignment_operator) + right: (identifier)))) + (for_each_statement + left: (identifier) + right: (identifier) + body: (expression_statement + (assignment_expression + left: (identifier) + (assignment_operator) + right: (identifier)))) + (for_each_statement + type: (implicit_type) + left: (tuple_pattern + name: (identifier) + name: (identifier)) + right: (identifier) + body: (expression_statement + (assignment_expression + left: (identifier) + (assignment_operator) + right: (identifier)))) + (for_statement + initializer: (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (integer_literal)))) + condition: (binary_expression + left: (identifier) + right: (integer_literal)) + update: (postfix_unary_expression + (identifier)) + body: (block + (expression_statement + (assignment_expression + left: (identifier) + (assignment_operator) + right: (identifier))))) + (for_statement + body: (block))))))) + +================================================================================ +Unsafe & fixed statements +================================================================================ + +class A { + void Sample() { + unsafe { x = y; } + fixed (double p = arr) { } + } +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (class_declaration + name: (identifier) + body: (declaration_list + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (unsafe_statement + (block + (expression_statement + (assignment_expression + left: (identifier) + (assignment_operator) + right: (identifier))))) + (fixed_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (identifier)))) + (block))))))) + +================================================================================ +Deconstruction +================================================================================ + +class A { + void Sample() { + (var a, var b) = c; + var (a, b) = c; + (a, b, _) = c; + (_, b) = c; + var (a, _) = c; + var (a, (b, _)) = c; + } +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (class_declaration + name: (identifier) + body: (declaration_list + (method_declaration + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (expression_statement + (assignment_expression + left: (tuple_expression + (argument + (declaration_expression + type: (implicit_type) + name: (identifier))) + (argument + (declaration_expression + type: (implicit_type) + name: (identifier)))) + (assignment_operator) + right: (identifier))) + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + (tuple_pattern + name: (identifier) + name: (identifier)) + (equals_value_clause + (identifier))))) + (expression_statement + (assignment_expression + left: (tuple_expression + (argument + (identifier)) + (argument + (identifier)) + (argument + (identifier))) + (assignment_operator) + right: (identifier))) + (expression_statement + (assignment_expression + left: (tuple_expression + (argument + (identifier)) + (argument + (identifier))) + (assignment_operator) + right: (identifier))) + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + (tuple_pattern + name: (identifier) + (discard)) + (equals_value_clause + (identifier))))) + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + (tuple_pattern + name: (identifier) + (tuple_pattern + name: (identifier) + (discard))) + (equals_value_clause + (identifier)))))))))) + +================================================================================ +Function with contextually reserved identifiers +================================================================================ + +async void Sample() { + var var = ""; + int partial = from; + A into = select; + R await = get; + T set = let + yield + group + add + alias + ascending + notnull + descending + equals; +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (global_statement + (local_function_statement + (modifier) + type: (predefined_type) + name: (identifier) + parameters: (parameter_list) + body: (block + (local_declaration_statement + (variable_declaration + type: (implicit_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (string_literal))))) + (local_declaration_statement + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier) + (equals_value_clause + (identifier))))) + (local_declaration_statement + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (identifier))))) + (local_declaration_statement + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (identifier))))) + (local_declaration_statement + (variable_declaration + type: (identifier) + (variable_declarator + name: (identifier) + (equals_value_clause + (binary_expression + left: (binary_expression + left: (binary_expression + left: (binary_expression + left: (binary_expression + left: (binary_expression + left: (binary_expression + left: (binary_expression + left: (identifier) + right: (identifier)) + right: (identifier)) + right: (identifier)) + right: (identifier)) + right: (identifier)) + right: (identifier)) + right: (identifier)) + right: (identifier)))))))))) + +================================================================================ +Function conditional ref expression +================================================================================ + +ref T Choice(bool condition, ref T a, ref T b) +{ + ref var r = ref (condition ? ref a: ref b); +} + +-------------------------------------------------------------------------------- + +(compilation_unit + (global_statement + (local_function_statement + type: (ref_type + type: (identifier)) + name: (identifier) + parameters: (parameter_list + (parameter + type: (predefined_type) + name: (identifier)) + (parameter + (parameter_modifier) + type: (identifier) + name: (identifier)) + (parameter + (parameter_modifier) + type: (identifier) + name: (identifier))) + body: (block + (local_declaration_statement + (variable_declaration + type: (ref_type + type: (implicit_type)) + (variable_declarator + name: (identifier) + (equals_value_clause + (ref_expression + (parenthesized_expression + (conditional_expression + condition: (identifier) + consequence: (ref_expression + (identifier)) + alternative: (ref_expression + (identifier))))))))))))) diff --git a/test/corpus/structs.txt b/test/corpus/structs.txt new file mode 100644 index 00000000..f903ef0e --- /dev/null +++ b/test/corpus/structs.txt @@ -0,0 +1,73 @@ +================================================================================ +Struct with a type parameter struct constraint +================================================================================ + +public struct F where T:struct {} + +public struct F where T: new() {} + +readonly public struct A : ISomething { } + +private struct F where T1 : I1, I2, new() where T2 : I2 { } + +ref struct Test { } + +-------------------------------------------------------------------------------- + +(compilation_unit + (struct_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint)) + body: (declaration_list)) + (struct_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (constructor_constraint))) + body: (declaration_list)) + (struct_declaration + (modifier) + (modifier) + name: (identifier) + bases: (base_list + (identifier)) + body: (declaration_list)) + (struct_declaration + (modifier) + name: (identifier) + type_parameters: (type_parameter_list + (type_parameter + name: (identifier)) + (type_parameter + name: (identifier))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (type_constraint + type: (identifier))) + constraints: (type_parameter_constraint + (type_constraint + type: (identifier))) + constraints: (type_parameter_constraint + (constructor_constraint))) + (type_parameter_constraints_clause + target: (identifier) + constraints: (type_parameter_constraint + (type_constraint + type: (identifier)))) + body: (declaration_list)) + (struct_declaration + (modifier) + name: (identifier) + body: (declaration_list))) diff --git a/corpus/type-events.txt b/test/corpus/type-events.txt similarity index 74% rename from corpus/type-events.txt rename to test/corpus/type-events.txt index 0597430a..a0eeab1b 100644 --- a/corpus/type-events.txt +++ b/test/corpus/type-events.txt @@ -6,6 +6,14 @@ class A { public event EventHandler SomeEvent { add { } remove { } } } +struct A { + public event EventHandler SomeEvent { add { } remove { } } +} + +class A { + public event EventHandler SomeEvent { add => addSomething(); remove => removeSomething(); } +} + -------------------------------------------------------------------------------- (compilation_unit @@ -23,19 +31,7 @@ class A { (accessor_declaration body: (block)) (accessor_declaration - body: (block))))))) - -================================================================================ -Struct event declarations -================================================================================ - -struct A { - public event EventHandler SomeEvent { add { } remove { } } -} - --------------------------------------------------------------------------------- - -(compilation_unit + body: (block)))))) (struct_declaration name: (identifier) body: (declaration_list @@ -50,19 +46,7 @@ struct A { (accessor_declaration body: (block)) (accessor_declaration - body: (block))))))) - -================================================================================ -Class event declarations with expression bodies -================================================================================ - -class A { - public event EventHandler SomeEvent { add => addSomething(); remove => removeSomething(); } -} - --------------------------------------------------------------------------------- - -(compilation_unit + body: (block)))))) (class_declaration name: (identifier) body: (declaration_list diff --git a/corpus/type-fields.txt b/test/corpus/type-fields.txt similarity index 66% rename from corpus/type-fields.txt rename to test/corpus/type-fields.txt index b66bd620..4dc012f9 100644 --- a/corpus/type-fields.txt +++ b/test/corpus/type-fields.txt @@ -6,6 +6,38 @@ class A { public readonly int _B; Int64 D_e_f, g; Tuple> z; + + public readonly int? i; + private Byte? b; + + public readonly int* i; + private Byte* b; + private void* c; + + // Function pointer equivalent without calling convention + delegate* a; + delegate*, delegate*> b; + + // Function pointer equivalent with calling convention + delegate* managed c; + delegate*, delegate*> d; + + ref readonly Point Origin => ref origin; + ref readonly Point* Origin; + ref readonly Point[] Origin; + ref readonly Point? Origin; + + (int, string str) a; + (B b, C c, D d) a; + + nint a; + nuint b; + + public required int B; +} + +struct A { + private readonly int c_; } -------------------------------------------------------------------------------- @@ -39,45 +71,7 @@ class A { type_arguments: (type_argument_list (predefined_type))))) (variable_declarator - name: (identifier))))))) - -================================================================================ -Struct field declarations -================================================================================ - -struct A { - private readonly int c_; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (struct_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (modifier) - (modifier) - (variable_declaration - type: (predefined_type) - (variable_declarator - name: (identifier))))))) - -================================================================================ -Class field nullable type -================================================================================ - -class A { - public readonly int? i; - private Byte? b; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + name: (identifier)))) (field_declaration (modifier) (modifier) @@ -92,24 +86,7 @@ class A { type: (nullable_type type: (identifier)) (variable_declarator - name: (identifier))))))) - -================================================================================ -Class field pointer type -================================================================================ - -class A { - public readonly int* i; - private Byte* b; - private void* c; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + name: (identifier)))) (field_declaration (modifier) (modifier) @@ -131,28 +108,7 @@ class A { type: (pointer_type type: (predefined_type)) (variable_declarator - name: (identifier))))))) - -================================================================================ -Function pointer type -================================================================================ - -class A { - // Function pointer equivalent without calling convention - delegate* a; - delegate*, delegate*> b; - - // Function pointer equivalent with calling convention - delegate* managed c; - delegate*, delegate*> d; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + name: (identifier)))) (comment) (field_declaration (variable_declaration @@ -216,25 +172,7 @@ class A { (function_pointer_parameter type: (predefined_type))))) (variable_declarator - name: (identifier))))))) - -================================================================================ -Ref readonly -================================================================================ - -class A { - ref readonly Point Origin => ref origin; - ref readonly Point* Origin; - ref readonly Point[] Origin; - ref readonly Point? Origin; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + name: (identifier)))) (property_declaration type: (ref_type type: (identifier)) @@ -262,52 +200,8 @@ class A { type: (ref_type type: (nullable_type type: (identifier))) - (variable_declarator - name: (identifier))))))) - -================================================================================ -Nullable reference types -================================================================================ - -class A { - string? a; - A? a; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (field_declaration - (variable_declaration - type: (nullable_type - type: (predefined_type)) (variable_declarator name: (identifier)))) - (field_declaration - (variable_declaration - type: (nullable_type - type: (identifier)) - (variable_declarator - name: (identifier))))))) - -================================================================================ -Tuple types -================================================================================ - -class A { - (int, string str) a; - (B b, C c, D d) a; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list (field_declaration (variable_declaration type: (tuple_type @@ -331,23 +225,7 @@ class A { type: (identifier) name: (identifier))) (variable_declarator - name: (identifier))))))) - -================================================================================ -Native integer types -================================================================================ - -class A { - nint a; - nuint b; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + name: (identifier)))) (field_declaration (variable_declaration type: (predefined_type) @@ -357,20 +235,15 @@ class A { (variable_declaration type: (predefined_type) (variable_declarator - name: (identifier))))))) - -================================================================================ -Required fields -================================================================================ - -class A { - public required int B; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration + name: (identifier)))) + (field_declaration + (modifier) + (modifier) + (variable_declaration + type: (predefined_type) + (variable_declarator + name: (identifier)))))) + (struct_declaration name: (identifier) body: (declaration_list (field_declaration diff --git a/corpus/type-methods.txt b/test/corpus/type-methods.txt similarity index 54% rename from corpus/type-methods.txt rename to test/corpus/type-methods.txt index 537b0fad..53dff18d 100644 --- a/corpus/type-methods.txt +++ b/test/corpus/type-methods.txt @@ -6,33 +6,56 @@ class A { private int GetBack(int b) { return b; } -} --------------------------------------------------------------------------------- + void Accept(T accept) { + } -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list - (method_declaration - (modifier) - type: (predefined_type) - name: (identifier) - parameters: (parameter_list - (parameter - type: (predefined_type) - name: (identifier))) - body: (block - (return_statement - (identifier))))))) + void Accept(T accept) where T: new() { + } -================================================================================ -Class method with multiple parameters -================================================================================ + void Accept(T1 accept, T2 from) + where T1: new() + where T2: T1, new() { + } -class A { - void DoSomething(A a, B b) { + void HasAnOut(out int a) { + } + + void HasAnIn(in int a) { + } + + void HasARef(ref int a) { + } + + void M(this ref int a) { } + void M(this scoped ref int a) { } + + void Keywords(int from, string partial) { + } + + void Default(int a = 5) { } + + static int Static(int b) { + return b; + } + + public readonly double Add => x + y; + + public int Zero(params int[]? ints) => 0; +} + +class A : ISomething { + int ISomething.GetBack(int b) { + return b; + } +} + +ref struct S { + void M(scoped ref System.Span p) { + scoped ref System.Span i = ref p; + scoped System.Span j = p; + } } -------------------------------------------------------------------------------- @@ -42,32 +65,16 @@ class A { name: (identifier) body: (declaration_list (method_declaration + (modifier) type: (predefined_type) name: (identifier) parameters: (parameter_list (parameter - type: (identifier) - name: (identifier)) - (parameter - type: (identifier) + type: (predefined_type) name: (identifier))) - body: (block))))) - -================================================================================ -Class generic method -================================================================================ - -class A { - void Accept(T accept) { - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + body: (block + (return_statement + (identifier)))) (method_declaration type: (predefined_type) name: (identifier) @@ -78,23 +85,7 @@ class A { (parameter type: (identifier) name: (identifier))) - body: (block))))) - -================================================================================ -Class generic method with new type constraint -================================================================================ - -class A { - void Accept(T accept) where T: new() { - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + body: (block)) (method_declaration type: (predefined_type) name: (identifier) @@ -109,25 +100,7 @@ class A { target: (identifier) constraints: (type_parameter_constraint (constructor_constraint))) - body: (block))))) - -================================================================================ -Class generic method with multiple type constraints -================================================================================ - -class A { - void Accept(T1 accept, T2 from) - where T1: new() - where T2: T1, new() { - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + body: (block)) (method_declaration type: (predefined_type) name: (identifier) @@ -154,23 +127,7 @@ class A { type: (identifier))) constraints: (type_parameter_constraint (constructor_constraint))) - body: (block))))) - -================================================================================ -Class method with out parameter -================================================================================ - -class A { - void HasAnOut(out int a) { - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + body: (block)) (method_declaration type: (predefined_type) name: (identifier) @@ -179,23 +136,7 @@ class A { (parameter_modifier) type: (predefined_type) name: (identifier))) - body: (block))))) - -================================================================================ -Class method with in parameter -================================================================================ - -class A { - void HasAnOut(in int a) { - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + body: (block)) (method_declaration type: (predefined_type) name: (identifier) @@ -204,23 +145,7 @@ class A { (parameter_modifier) type: (predefined_type) name: (identifier))) - body: (block))))) - -================================================================================ -Class method with ref parameter -================================================================================ - -class A { - void HasAnOut(ref int a) { - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + body: (block)) (method_declaration type: (predefined_type) name: (identifier) @@ -229,23 +154,7 @@ class A { (parameter_modifier) type: (predefined_type) name: (identifier))) - body: (block))))) - -================================================================================ -Class method with extension ref parameter -================================================================================ - -class A { - void M(this ref int a) { } - void M(this scoped ref int a) { } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + body: (block)) (method_declaration type: (predefined_type) name: (identifier) @@ -266,23 +175,7 @@ class A { (parameter_modifier) type: (predefined_type) name: (identifier))) - body: (block))))) - -================================================================================ -Class method with contextually-reserved keyword named parameters -================================================================================ - -class A { - void HasAnOut(int from, string partial) { - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + body: (block)) (method_declaration type: (predefined_type) name: (identifier) @@ -293,23 +186,7 @@ class A { (parameter type: (predefined_type) name: (identifier))) - body: (block))))) - -================================================================================ -Class method with default parameter -================================================================================ - -class A { - void HasAnOut(int a = 5) { - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + body: (block)) (method_declaration type: (predefined_type) name: (identifier) @@ -319,24 +196,7 @@ class A { name: (identifier) (equals_value_clause (integer_literal)))) - body: (block))))) - -================================================================================ -Class static method with single parameter -================================================================================ - -class A { - static int GetBack(int b) { - return b; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + body: (block)) (method_declaration (modifier) type: (predefined_type) @@ -347,53 +207,7 @@ class A { name: (identifier))) body: (block (return_statement - (identifier))))))) - -================================================================================ -Class method with explicit interface specifier -================================================================================ - -class A : ISomething { - int ISomething.GetBack(int b) { - return b; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - bases: (base_list - (identifier)) - body: (declaration_list - (method_declaration - type: (predefined_type) - (explicit_interface_specifier - name: (identifier)) - name: (identifier) - parameters: (parameter_list - (parameter - type: (predefined_type) - name: (identifier))) - body: (block - (return_statement - (identifier))))))) - -================================================================================ -Class method with readonly method -================================================================================ - -class A { - public readonly double Add => x + y; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + (identifier)))) (property_declaration (modifier) (modifier) @@ -402,22 +216,7 @@ class A { value: (arrow_expression_clause (binary_expression left: (identifier) - right: (identifier))))))) - -================================================================================ -Class method with nullable parameter list -================================================================================ - -class A { - public int Zero(params int[]? ints) => 0; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + right: (identifier)))) (method_declaration (modifier) type: (predefined_type) @@ -429,22 +228,24 @@ class A { rank: (array_rank_specifier))) name: (identifier)) body: (arrow_expression_clause - (integer_literal)))))) - -================================================================================ -Method with scoped parameter and scoped local variable -================================================================================ - -ref struct S { - void M(scoped ref System.Span p) { - scoped ref System.Span i = ref p; - scoped System.Span j = p; - } -} - --------------------------------------------------------------------------------- - -(compilation_unit + (integer_literal))))) + (class_declaration + name: (identifier) + bases: (base_list + (identifier)) + body: (declaration_list + (method_declaration + type: (predefined_type) + (explicit_interface_specifier + name: (identifier)) + name: (identifier) + parameters: (parameter_list + (parameter + type: (predefined_type) + name: (identifier))) + body: (block + (return_statement + (identifier)))))) (struct_declaration (modifier) name: (identifier) diff --git a/corpus/type-operators.txt b/test/corpus/type-operators.txt similarity index 100% rename from corpus/type-operators.txt rename to test/corpus/type-operators.txt diff --git a/corpus/type-properties.txt b/test/corpus/type-properties.txt similarity index 64% rename from corpus/type-properties.txt rename to test/corpus/type-properties.txt index 20c3ea82..ed78a25e 100644 --- a/corpus/type-properties.txt +++ b/test/corpus/type-properties.txt @@ -7,6 +7,31 @@ class Foo { char Set { set; } uint GetSet { get; set; } long SetGet { set; get; } + + public string FirstName { get; init; } + + byte Get { get { return 0xFF; } } + char Set { set { x = value; } } +} + +class Foo { + uint GetSet { + get { return x; } + set { x = value; } + } + long SetGet { + set { x = value; } + get { return x; } + } + + byte Get { get; } = 0x00; + uint GetSet { get; set; } = 1; + long SetGet { set; get; } = 2; +} + +class Foo: IFoo { + byte IFoo.Get { get; } + public required int B { get; set; } } -------------------------------------------------------------------------------- @@ -36,46 +61,14 @@ class Foo { name: (identifier) accessors: (accessor_list (accessor_declaration) - (accessor_declaration)))))) - -================================================================================ -Class with init properties -================================================================================ - -class Person -{ - public string FirstName { get; init; } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + (accessor_declaration))) (property_declaration (modifier) type: (predefined_type) name: (identifier) accessors: (accessor_list (accessor_declaration) - (accessor_declaration)))))) - -================================================================================ -Class with single-accessor property bodies -================================================================================ - -class Foo { - byte Get { get { return 0xFF; } } - char Set { set { x = value; } } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + (accessor_declaration))) (property_declaration type: (predefined_type) name: (identifier) @@ -94,26 +87,7 @@ class Foo { (assignment_expression left: (identifier) (assignment_operator) - right: (identifier)))))))))) - -================================================================================ -Class with double-accessor property bodies -================================================================================ - -class Foo { - uint GetSet { - get { return x; } - set { x = value; } - } - long SetGet { - set { x = value; } - get { return x; } - } -} - --------------------------------------------------------------------------------- - -(compilation_unit + right: (identifier))))))))) (class_declaration name: (identifier) body: (declaration_list @@ -146,24 +120,7 @@ class Foo { (accessor_declaration body: (block (return_statement - (identifier))))))))) - -================================================================================ -Class with bodyless properties and initializers -================================================================================ - -class Foo { - byte Get { get; } = 0x00; - uint GetSet { get; set; } = 1; - long SetGet { set; get; } = 2; -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + (identifier)))))) (property_declaration type: (predefined_type) name: (identifier) @@ -183,19 +140,7 @@ class Foo { accessors: (accessor_list (accessor_declaration) (accessor_declaration)) - value: (integer_literal))))) - -================================================================================ -Class with explicit interface properties -================================================================================ - -class Foo: IFoo { - byte IFoo.Get { get; } -} - --------------------------------------------------------------------------------- - -(compilation_unit + value: (integer_literal)))) (class_declaration name: (identifier) bases: (base_list @@ -207,22 +152,7 @@ class Foo: IFoo { name: (identifier)) name: (identifier) accessors: (accessor_list - (accessor_declaration)))))) - -================================================================================ -Required properties -================================================================================ - -class A { - public required int B { get; set; } -} - --------------------------------------------------------------------------------- - -(compilation_unit - (class_declaration - name: (identifier) - body: (declaration_list + (accessor_declaration))) (property_declaration (modifier) (modifier) From f1d87c453253c3329becc8e217bc22e735e9dfbf Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Wed, 1 May 2024 16:16:54 -0400 Subject: [PATCH 2/3] chore: regenerate with latest cli --- src/parser.c | 6237 +++++++++++++++----------------------- src/tree_sitter/alloc.h | 54 + src/tree_sitter/array.h | 290 ++ src/tree_sitter/parser.h | 51 +- 4 files changed, 2822 insertions(+), 3810 deletions(-) create mode 100644 src/tree_sitter/alloc.h create mode 100644 src/tree_sitter/array.h diff --git a/src/parser.c b/src/parser.c index b7cbc49b..44f1abac 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,7 +1,6 @@ #include "tree_sitter/parser.h" #if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #endif @@ -20887,1547 +20886,128 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [15725] = 15725, }; -static inline bool sym__identifier_token_character_set_1(int32_t c) { - return (c < 6823 - ? (c < 2990 - ? (c < 2384 - ? (c < 1519 - ? (c < 886 - ? (c < 216 - ? (c < 181 - ? (c < 'a' - ? (c >= 'A' && c <= '_') - : (c <= 'z' || c == 170)) - : (c <= 181 || (c < 192 - ? c == 186 - : c <= 214))) - : (c <= 246 || (c < 748 - ? (c < 710 - ? (c >= 248 && c <= 705) - : (c <= 721 || (c >= 736 && c <= 740))) - : (c <= 748 || (c < 880 - ? c == 750 - : c <= 884))))) - : (c <= 887 || (c < 931 - ? (c < 904 - ? (c < 895 - ? (c >= 890 && c <= 893) - : (c <= 895 || c == 902)) - : (c <= 906 || (c < 910 - ? c == 908 - : c <= 929))) - : (c <= 1013 || (c < 1369 - ? (c < 1162 - ? (c >= 1015 && c <= 1153) - : (c <= 1327 || (c >= 1329 && c <= 1366))) - : (c <= 1369 || (c < 1488 - ? (c >= 1376 && c <= 1416) - : c <= 1514))))))) - : (c <= 1522 || (c < 2036 - ? (c < 1786 - ? (c < 1749 - ? (c < 1646 - ? (c >= 1568 && c <= 1610) - : (c <= 1647 || (c >= 1649 && c <= 1747))) - : (c <= 1749 || (c < 1774 - ? (c >= 1765 && c <= 1766) - : c <= 1775))) - : (c <= 1788 || (c < 1869 - ? (c < 1808 - ? c == 1791 - : (c <= 1808 || (c >= 1810 && c <= 1839))) - : (c <= 1957 || (c < 1994 - ? c == 1969 - : c <= 2026))))) - : (c <= 2037 || (c < 2144 - ? (c < 2084 - ? (c < 2048 - ? c == 2042 - : (c <= 2069 || c == 2074)) - : (c <= 2084 || (c < 2112 - ? c == 2088 - : c <= 2136))) - : (c <= 2154 || (c < 2208 - ? (c < 2185 - ? (c >= 2160 && c <= 2183) - : c <= 2190) - : (c <= 2249 || (c < 2365 - ? (c >= 2308 && c <= 2361) - : c <= 2365))))))))) - : (c <= 2384 || (c < 2707 - ? (c < 2556 - ? (c < 2482 - ? (c < 2447 - ? (c < 2417 - ? (c >= 2392 && c <= 2401) - : (c <= 2432 || (c >= 2437 && c <= 2444))) - : (c <= 2448 || (c < 2474 - ? (c >= 2451 && c <= 2472) - : c <= 2480))) - : (c <= 2482 || (c < 2524 - ? (c < 2493 - ? (c >= 2486 && c <= 2489) - : (c <= 2493 || c == 2510)) - : (c <= 2525 || (c < 2544 - ? (c >= 2527 && c <= 2529) - : c <= 2545))))) - : (c <= 2556 || (c < 2616 - ? (c < 2602 - ? (c < 2575 - ? (c >= 2565 && c <= 2570) - : (c <= 2576 || (c >= 2579 && c <= 2600))) - : (c <= 2608 || (c < 2613 - ? (c >= 2610 && c <= 2611) - : c <= 2614))) - : (c <= 2617 || (c < 2674 - ? (c < 2654 - ? (c >= 2649 && c <= 2652) - : c <= 2654) - : (c <= 2676 || (c < 2703 - ? (c >= 2693 && c <= 2701) - : c <= 2705))))))) - : (c <= 2728 || (c < 2877 - ? (c < 2809 - ? (c < 2749 - ? (c < 2738 - ? (c >= 2730 && c <= 2736) - : (c <= 2739 || (c >= 2741 && c <= 2745))) - : (c <= 2749 || (c < 2784 - ? c == 2768 - : c <= 2785))) - : (c <= 2809 || (c < 2858 - ? (c < 2831 - ? (c >= 2821 && c <= 2828) - : (c <= 2832 || (c >= 2835 && c <= 2856))) - : (c <= 2864 || (c < 2869 - ? (c >= 2866 && c <= 2867) - : c <= 2873))))) - : (c <= 2877 || (c < 2962 - ? (c < 2947 - ? (c < 2911 - ? (c >= 2908 && c <= 2909) - : (c <= 2913 || c == 2929)) - : (c <= 2947 || (c < 2958 - ? (c >= 2949 && c <= 2954) - : c <= 2960))) - : (c <= 2965 || (c < 2974 - ? (c < 2972 - ? (c >= 2969 && c <= 2970) - : c <= 2972) - : (c <= 2975 || (c < 2984 - ? (c >= 2979 && c <= 2980) - : c <= 2986))))))))))) - : (c <= 3001 || (c < 4186 - ? (c < 3450 - ? (c < 3242 - ? (c < 3160 - ? (c < 3090 - ? (c < 3077 - ? c == 3024 - : (c <= 3084 || (c >= 3086 && c <= 3088))) - : (c <= 3112 || (c < 3133 - ? (c >= 3114 && c <= 3129) - : c <= 3133))) - : (c <= 3162 || (c < 3205 - ? (c < 3168 - ? c == 3165 - : (c <= 3169 || c == 3200)) - : (c <= 3212 || (c < 3218 - ? (c >= 3214 && c <= 3216) - : c <= 3240))))) - : (c <= 3251 || (c < 3342 - ? (c < 3296 - ? (c < 3261 - ? (c >= 3253 && c <= 3257) - : (c <= 3261 || (c >= 3293 && c <= 3294))) - : (c <= 3297 || (c < 3332 - ? (c >= 3313 && c <= 3314) - : c <= 3340))) - : (c <= 3344 || (c < 3406 - ? (c < 3389 - ? (c >= 3346 && c <= 3386) - : c <= 3389) - : (c <= 3406 || (c < 3423 - ? (c >= 3412 && c <= 3414) - : c <= 3425))))))) - : (c <= 3455 || (c < 3751 - ? (c < 3634 - ? (c < 3517 - ? (c < 3482 - ? (c >= 3461 && c <= 3478) - : (c <= 3505 || (c >= 3507 && c <= 3515))) - : (c <= 3517 || (c < 3585 - ? (c >= 3520 && c <= 3526) - : c <= 3632))) - : (c <= 3635 || (c < 3718 - ? (c < 3713 - ? (c >= 3648 && c <= 3654) - : (c <= 3714 || c == 3716)) - : (c <= 3722 || (c < 3749 - ? (c >= 3724 && c <= 3747) - : c <= 3749))))) - : (c <= 3760 || (c < 3904 - ? (c < 3782 - ? (c < 3773 - ? (c >= 3762 && c <= 3763) - : (c <= 3773 || (c >= 3776 && c <= 3780))) - : (c <= 3782 || (c < 3840 - ? (c >= 3804 && c <= 3807) - : c <= 3840))) - : (c <= 3911 || (c < 4096 - ? (c < 3976 - ? (c >= 3913 && c <= 3948) - : c <= 3980) - : (c <= 4138 || (c < 4176 - ? c == 4159 - : c <= 4181))))))))) - : (c <= 4189 || (c < 5024 - ? (c < 4698 - ? (c < 4295 - ? (c < 4213 - ? (c < 4197 - ? c == 4193 - : (c <= 4198 || (c >= 4206 && c <= 4208))) - : (c <= 4225 || (c < 4256 - ? c == 4238 - : c <= 4293))) - : (c <= 4295 || (c < 4682 - ? (c < 4304 - ? c == 4301 - : (c <= 4346 || (c >= 4348 && c <= 4680))) - : (c <= 4685 || (c < 4696 - ? (c >= 4688 && c <= 4694) - : c <= 4696))))) - : (c <= 4701 || (c < 4802 - ? (c < 4786 - ? (c < 4746 - ? (c >= 4704 && c <= 4744) - : (c <= 4749 || (c >= 4752 && c <= 4784))) - : (c <= 4789 || (c < 4800 - ? (c >= 4792 && c <= 4798) - : c <= 4800))) - : (c <= 4805 || (c < 4882 - ? (c < 4824 - ? (c >= 4808 && c <= 4822) - : c <= 4880) - : (c <= 4885 || (c < 4992 - ? (c >= 4888 && c <= 4954) - : c <= 5007))))))) - : (c <= 5109 || (c < 6108 - ? (c < 5888 - ? (c < 5761 - ? (c < 5121 - ? (c >= 5112 && c <= 5117) - : (c <= 5740 || (c >= 5743 && c <= 5759))) - : (c <= 5786 || (c < 5870 - ? (c >= 5792 && c <= 5866) - : c <= 5880))) - : (c <= 5905 || (c < 5998 - ? (c < 5952 - ? (c >= 5919 && c <= 5937) - : (c <= 5969 || (c >= 5984 && c <= 5996))) - : (c <= 6000 || (c < 6103 - ? (c >= 6016 && c <= 6067) - : c <= 6103))))) - : (c <= 6108 || (c < 6480 - ? (c < 6314 - ? (c < 6272 - ? (c >= 6176 && c <= 6264) - : (c <= 6276 || (c >= 6279 && c <= 6312))) - : (c <= 6314 || (c < 6400 - ? (c >= 6320 && c <= 6389) - : c <= 6430))) - : (c <= 6509 || (c < 6576 - ? (c < 6528 - ? (c >= 6512 && c <= 6516) - : c <= 6571) - : (c <= 6601 || (c < 6688 - ? (c >= 6656 && c <= 6678) - : c <= 6740))))))))))))) - : (c <= 6823 || (c < 43261 - ? (c < 11499 - ? (c < 8118 - ? (c < 7413 - ? (c < 7245 - ? (c < 7086 - ? (c < 6981 - ? (c >= 6917 && c <= 6963) - : (c <= 6988 || (c >= 7043 && c <= 7072))) - : (c <= 7087 || (c < 7168 - ? (c >= 7098 && c <= 7141) - : c <= 7203))) - : (c <= 7247 || (c < 7357 - ? (c < 7296 - ? (c >= 7258 && c <= 7293) - : (c <= 7304 || (c >= 7312 && c <= 7354))) - : (c <= 7359 || (c < 7406 - ? (c >= 7401 && c <= 7404) - : c <= 7411))))) - : (c <= 7414 || (c < 8016 - ? (c < 7960 - ? (c < 7424 - ? c == 7418 - : (c <= 7615 || (c >= 7680 && c <= 7957))) - : (c <= 7965 || (c < 8008 - ? (c >= 7968 && c <= 8005) - : c <= 8013))) - : (c <= 8023 || (c < 8029 - ? (c < 8027 - ? c == 8025 - : c <= 8027) - : (c <= 8029 || (c < 8064 - ? (c >= 8031 && c <= 8061) - : c <= 8116))))))) - : (c <= 8124 || (c < 8458 - ? (c < 8178 - ? (c < 8144 - ? (c < 8130 - ? c == 8126 - : (c <= 8132 || (c >= 8134 && c <= 8140))) - : (c <= 8147 || (c < 8160 - ? (c >= 8150 && c <= 8155) - : c <= 8172))) - : (c <= 8180 || (c < 8336 - ? (c < 8305 - ? (c >= 8182 && c <= 8188) - : (c <= 8305 || c == 8319)) - : (c <= 8348 || (c < 8455 - ? c == 8450 - : c <= 8455))))) - : (c <= 8467 || (c < 8495 - ? (c < 8486 - ? (c < 8473 - ? c == 8469 - : (c <= 8477 || c == 8484)) - : (c <= 8486 || (c < 8490 - ? c == 8488 - : c <= 8493))) - : (c <= 8505 || (c < 8526 - ? (c < 8517 - ? (c >= 8508 && c <= 8511) - : c <= 8521) - : (c <= 8526 || (c < 11264 - ? (c >= 8544 && c <= 8584) - : c <= 11492))))))))) - : (c <= 11502 || (c < 12704 - ? (c < 11728 - ? (c < 11648 - ? (c < 11565 - ? (c < 11520 - ? (c >= 11506 && c <= 11507) - : (c <= 11557 || c == 11559)) - : (c <= 11565 || (c < 11631 - ? (c >= 11568 && c <= 11623) - : c <= 11631))) - : (c <= 11670 || (c < 11704 - ? (c < 11688 - ? (c >= 11680 && c <= 11686) - : (c <= 11694 || (c >= 11696 && c <= 11702))) - : (c <= 11710 || (c < 11720 - ? (c >= 11712 && c <= 11718) - : c <= 11726))))) - : (c <= 11734 || (c < 12353 - ? (c < 12321 - ? (c < 11823 - ? (c >= 11736 && c <= 11742) - : (c <= 11823 || (c >= 12293 && c <= 12295))) - : (c <= 12329 || (c < 12344 - ? (c >= 12337 && c <= 12341) - : c <= 12348))) - : (c <= 12438 || (c < 12540 - ? (c < 12449 - ? (c >= 12445 && c <= 12447) - : c <= 12538) - : (c <= 12543 || (c < 12593 - ? (c >= 12549 && c <= 12591) - : c <= 12686))))))) - : (c <= 12735 || (c < 42786 - ? (c < 42240 - ? (c < 19968 - ? (c < 13312 - ? (c >= 12784 && c <= 12799) - : (c <= 13312 || c == 19903)) - : (c <= 19968 || (c < 42192 - ? (c >= 40959 && c <= 42124) - : c <= 42237))) - : (c <= 42508 || (c < 42623 - ? (c < 42538 - ? (c >= 42512 && c <= 42527) - : (c <= 42539 || (c >= 42560 && c <= 42606))) - : (c <= 42653 || (c < 42775 - ? (c >= 42656 && c <= 42735) - : c <= 42783))))) - : (c <= 42888 || (c < 43015 - ? (c < 42965 - ? (c < 42960 - ? (c >= 42891 && c <= 42954) - : (c <= 42961 || c == 42963)) - : (c <= 42969 || (c < 43011 - ? (c >= 42994 && c <= 43009) - : c <= 43013))) - : (c <= 43018 || (c < 43138 - ? (c < 43072 - ? (c >= 43020 && c <= 43042) - : c <= 43123) - : (c <= 43187 || (c < 43259 - ? (c >= 43250 && c <= 43255) - : c <= 43259))))))))))) - : (c <= 43262 || (c < 65345 - ? (c < 43816 - ? (c < 43646 - ? (c < 43494 - ? (c < 43396 - ? (c < 43312 - ? (c >= 43274 && c <= 43301) - : (c <= 43334 || (c >= 43360 && c <= 43388))) - : (c <= 43442 || (c < 43488 - ? c == 43471 - : c <= 43492))) - : (c <= 43503 || (c < 43588 - ? (c < 43520 - ? (c >= 43514 && c <= 43518) - : (c <= 43560 || (c >= 43584 && c <= 43586))) - : (c <= 43595 || (c < 43642 - ? (c >= 43616 && c <= 43638) - : c <= 43642))))) - : (c <= 43695 || (c < 43744 - ? (c < 43712 - ? (c < 43701 - ? c == 43697 - : (c <= 43702 || (c >= 43705 && c <= 43709))) - : (c <= 43712 || (c < 43739 - ? c == 43714 - : c <= 43741))) - : (c <= 43754 || (c < 43785 - ? (c < 43777 - ? (c >= 43762 && c <= 43764) - : c <= 43782) - : (c <= 43790 || (c < 43808 - ? (c >= 43793 && c <= 43798) - : c <= 43814))))))) - : (c <= 43822 || (c < 64298 - ? (c < 55243 - ? (c < 44032 - ? (c < 43868 - ? (c >= 43824 && c <= 43866) - : (c <= 43881 || (c >= 43888 && c <= 44002))) - : (c <= 44032 || (c < 55216 - ? c == 55203 - : c <= 55238))) - : (c <= 55291 || (c < 64275 - ? (c < 64112 - ? (c >= 63744 && c <= 64109) - : (c <= 64217 || (c >= 64256 && c <= 64262))) - : (c <= 64279 || (c < 64287 - ? c == 64285 - : c <= 64296))))) - : (c <= 64310 || (c < 64848 - ? (c < 64323 - ? (c < 64318 - ? (c >= 64312 && c <= 64316) - : (c <= 64318 || (c >= 64320 && c <= 64321))) - : (c <= 64324 || (c < 64467 - ? (c >= 64326 && c <= 64433) - : c <= 64829))) - : (c <= 64911 || (c < 65136 - ? (c < 65008 - ? (c >= 64914 && c <= 64967) - : c <= 65019) - : (c <= 65140 || (c < 65313 - ? (c >= 65142 && c <= 65276) - : c <= 65338))))))))) - : (c <= 65370 || (c < 66864 - ? (c < 66176 - ? (c < 65549 - ? (c < 65490 - ? (c < 65474 - ? (c >= 65382 && c <= 65470) - : (c <= 65479 || (c >= 65482 && c <= 65487))) - : (c <= 65495 || (c < 65536 - ? (c >= 65498 && c <= 65500) - : c <= 65547))) - : (c <= 65574 || (c < 65616 - ? (c < 65596 - ? (c >= 65576 && c <= 65594) - : (c <= 65597 || (c >= 65599 && c <= 65613))) - : (c <= 65629 || (c < 65856 - ? (c >= 65664 && c <= 65786) - : c <= 65908))))) - : (c <= 66204 || (c < 66504 - ? (c < 66384 - ? (c < 66304 - ? (c >= 66208 && c <= 66256) - : (c <= 66335 || (c >= 66349 && c <= 66378))) - : (c <= 66421 || (c < 66464 - ? (c >= 66432 && c <= 66461) - : c <= 66499))) - : (c <= 66511 || (c < 66736 - ? (c < 66560 - ? (c >= 66513 && c <= 66517) - : c <= 66717) - : (c <= 66771 || (c < 66816 - ? (c >= 66776 && c <= 66811) - : c <= 66855))))))) - : (c <= 66915 || (c < 67506 - ? (c < 66995 - ? (c < 66964 - ? (c < 66940 - ? (c >= 66928 && c <= 66938) - : (c <= 66954 || (c >= 66956 && c <= 66962))) - : (c <= 66965 || (c < 66979 - ? (c >= 66967 && c <= 66977) - : c <= 66993))) - : (c <= 67001 || (c < 67424 - ? (c < 67072 - ? (c >= 67003 && c <= 67004) - : (c <= 67382 || (c >= 67392 && c <= 67413))) - : (c <= 67431 || (c < 67463 - ? (c >= 67456 && c <= 67461) - : c <= 67504))))) - : (c <= 67514 || (c < 67680 - ? (c < 67639 - ? (c < 67592 - ? (c >= 67584 && c <= 67589) - : (c <= 67592 || (c >= 67594 && c <= 67637))) - : (c <= 67640 || (c < 67647 - ? c == 67644 - : c <= 67669))) - : (c <= 67702 || (c < 67828 - ? (c < 67808 - ? (c >= 67712 && c <= 67742) - : c <= 67826) - : (c <= 67829 || (c < 67872 - ? (c >= 67840 && c <= 67861) - : c <= 67883))))))))))))))); -} - -static inline bool sym__identifier_token_character_set_2(int32_t c) { - return (c < 6688 - ? (c < 2984 - ? (c < 2365 - ? (c < 1488 - ? (c < 880 - ? (c < 192 - ? (c < 170 - ? (c < '_' - ? (c >= 'A' && c <= 'Z') - : (c <= '_' || (c >= 'a' && c <= 'z'))) - : (c <= 170 || (c < 186 - ? c == 181 - : c <= 186))) - : (c <= 214 || (c < 736 - ? (c < 248 - ? (c >= 216 && c <= 246) - : (c <= 705 || (c >= 710 && c <= 721))) - : (c <= 740 || (c < 750 - ? c == 748 - : c <= 750))))) - : (c <= 884 || (c < 910 - ? (c < 902 - ? (c < 890 - ? (c >= 886 && c <= 887) - : (c <= 893 || c == 895)) - : (c <= 902 || (c < 908 - ? (c >= 904 && c <= 906) - : c <= 908))) - : (c <= 929 || (c < 1329 - ? (c < 1015 - ? (c >= 931 && c <= 1013) - : (c <= 1153 || (c >= 1162 && c <= 1327))) - : (c <= 1366 || (c < 1376 - ? c == 1369 - : c <= 1416))))))) - : (c <= 1514 || (c < 1994 - ? (c < 1774 - ? (c < 1649 - ? (c < 1568 - ? (c >= 1519 && c <= 1522) - : (c <= 1610 || (c >= 1646 && c <= 1647))) - : (c <= 1747 || (c < 1765 - ? c == 1749 - : c <= 1766))) - : (c <= 1775 || (c < 1810 - ? (c < 1791 - ? (c >= 1786 && c <= 1788) - : (c <= 1791 || c == 1808)) - : (c <= 1839 || (c < 1969 - ? (c >= 1869 && c <= 1957) - : c <= 1969))))) - : (c <= 2026 || (c < 2112 - ? (c < 2074 - ? (c < 2042 - ? (c >= 2036 && c <= 2037) - : (c <= 2042 || (c >= 2048 && c <= 2069))) - : (c <= 2074 || (c < 2088 - ? c == 2084 - : c <= 2088))) - : (c <= 2136 || (c < 2185 - ? (c < 2160 - ? (c >= 2144 && c <= 2154) - : c <= 2183) - : (c <= 2190 || (c < 2308 - ? (c >= 2208 && c <= 2249) - : c <= 2361))))))))) - : (c <= 2365 || (c < 2703 - ? (c < 2544 - ? (c < 2474 - ? (c < 2437 - ? (c < 2392 - ? c == 2384 - : (c <= 2401 || (c >= 2417 && c <= 2432))) - : (c <= 2444 || (c < 2451 - ? (c >= 2447 && c <= 2448) - : c <= 2472))) - : (c <= 2480 || (c < 2510 - ? (c < 2486 - ? c == 2482 - : (c <= 2489 || c == 2493)) - : (c <= 2510 || (c < 2527 - ? (c >= 2524 && c <= 2525) - : c <= 2529))))) - : (c <= 2545 || (c < 2613 - ? (c < 2579 - ? (c < 2565 - ? c == 2556 - : (c <= 2570 || (c >= 2575 && c <= 2576))) - : (c <= 2600 || (c < 2610 - ? (c >= 2602 && c <= 2608) - : c <= 2611))) - : (c <= 2614 || (c < 2654 - ? (c < 2649 - ? (c >= 2616 && c <= 2617) - : c <= 2652) - : (c <= 2654 || (c < 2693 - ? (c >= 2674 && c <= 2676) - : c <= 2701))))))) - : (c <= 2705 || (c < 2869 - ? (c < 2784 - ? (c < 2741 - ? (c < 2730 - ? (c >= 2707 && c <= 2728) - : (c <= 2736 || (c >= 2738 && c <= 2739))) - : (c <= 2745 || (c < 2768 - ? c == 2749 - : c <= 2768))) - : (c <= 2785 || (c < 2835 - ? (c < 2821 - ? c == 2809 - : (c <= 2828 || (c >= 2831 && c <= 2832))) - : (c <= 2856 || (c < 2866 - ? (c >= 2858 && c <= 2864) - : c <= 2867))))) - : (c <= 2873 || (c < 2958 - ? (c < 2929 - ? (c < 2908 - ? c == 2877 - : (c <= 2909 || (c >= 2911 && c <= 2913))) - : (c <= 2929 || (c < 2949 - ? c == 2947 - : c <= 2954))) - : (c <= 2960 || (c < 2972 - ? (c < 2969 - ? (c >= 2962 && c <= 2965) - : c <= 2970) - : (c <= 2972 || (c < 2979 - ? (c >= 2974 && c <= 2975) - : c <= 2980))))))))))) - : (c <= 2986 || (c < 4176 - ? (c < 3423 - ? (c < 3218 - ? (c < 3133 - ? (c < 3086 - ? (c < 3024 - ? (c >= 2990 && c <= 3001) - : (c <= 3024 || (c >= 3077 && c <= 3084))) - : (c <= 3088 || (c < 3114 - ? (c >= 3090 && c <= 3112) - : c <= 3129))) - : (c <= 3133 || (c < 3200 - ? (c < 3165 - ? (c >= 3160 && c <= 3162) - : (c <= 3165 || (c >= 3168 && c <= 3169))) - : (c <= 3200 || (c < 3214 - ? (c >= 3205 && c <= 3212) - : c <= 3216))))) - : (c <= 3240 || (c < 3332 - ? (c < 3293 - ? (c < 3253 - ? (c >= 3242 && c <= 3251) - : (c <= 3257 || c == 3261)) - : (c <= 3294 || (c < 3313 - ? (c >= 3296 && c <= 3297) - : c <= 3314))) - : (c <= 3340 || (c < 3389 - ? (c < 3346 - ? (c >= 3342 && c <= 3344) - : c <= 3386) - : (c <= 3389 || (c < 3412 - ? c == 3406 - : c <= 3414))))))) - : (c <= 3425 || (c < 3749 - ? (c < 3585 - ? (c < 3507 - ? (c < 3461 - ? (c >= 3450 && c <= 3455) - : (c <= 3478 || (c >= 3482 && c <= 3505))) - : (c <= 3515 || (c < 3520 - ? c == 3517 - : c <= 3526))) - : (c <= 3632 || (c < 3716 - ? (c < 3648 - ? (c >= 3634 && c <= 3635) - : (c <= 3654 || (c >= 3713 && c <= 3714))) - : (c <= 3716 || (c < 3724 - ? (c >= 3718 && c <= 3722) - : c <= 3747))))) - : (c <= 3749 || (c < 3840 - ? (c < 3776 - ? (c < 3762 - ? (c >= 3751 && c <= 3760) - : (c <= 3763 || c == 3773)) - : (c <= 3780 || (c < 3804 - ? c == 3782 - : c <= 3807))) - : (c <= 3840 || (c < 3976 - ? (c < 3913 - ? (c >= 3904 && c <= 3911) - : c <= 3948) - : (c <= 3980 || (c < 4159 - ? (c >= 4096 && c <= 4138) - : c <= 4159))))))))) - : (c <= 4181 || (c < 4992 - ? (c < 4696 - ? (c < 4256 - ? (c < 4206 - ? (c < 4193 - ? (c >= 4186 && c <= 4189) - : (c <= 4193 || (c >= 4197 && c <= 4198))) - : (c <= 4208 || (c < 4238 - ? (c >= 4213 && c <= 4225) - : c <= 4238))) - : (c <= 4293 || (c < 4348 - ? (c < 4301 - ? c == 4295 - : (c <= 4301 || (c >= 4304 && c <= 4346))) - : (c <= 4680 || (c < 4688 - ? (c >= 4682 && c <= 4685) - : c <= 4694))))) - : (c <= 4696 || (c < 4800 - ? (c < 4752 - ? (c < 4704 - ? (c >= 4698 && c <= 4701) - : (c <= 4744 || (c >= 4746 && c <= 4749))) - : (c <= 4784 || (c < 4792 - ? (c >= 4786 && c <= 4789) - : c <= 4798))) - : (c <= 4800 || (c < 4824 - ? (c < 4808 - ? (c >= 4802 && c <= 4805) - : c <= 4822) - : (c <= 4880 || (c < 4888 - ? (c >= 4882 && c <= 4885) - : c <= 4954))))))) - : (c <= 5007 || (c < 6103 - ? (c < 5870 - ? (c < 5743 - ? (c < 5112 - ? (c >= 5024 && c <= 5109) - : (c <= 5117 || (c >= 5121 && c <= 5740))) - : (c <= 5759 || (c < 5792 - ? (c >= 5761 && c <= 5786) - : c <= 5866))) - : (c <= 5880 || (c < 5984 - ? (c < 5919 - ? (c >= 5888 && c <= 5905) - : (c <= 5937 || (c >= 5952 && c <= 5969))) - : (c <= 5996 || (c < 6016 - ? (c >= 5998 && c <= 6000) - : c <= 6067))))) - : (c <= 6103 || (c < 6400 - ? (c < 6279 - ? (c < 6176 - ? c == 6108 - : (c <= 6264 || (c >= 6272 && c <= 6276))) - : (c <= 6312 || (c < 6320 - ? c == 6314 - : c <= 6389))) - : (c <= 6430 || (c < 6528 - ? (c < 6512 - ? (c >= 6480 && c <= 6509) - : c <= 6516) - : (c <= 6571 || (c < 6656 - ? (c >= 6576 && c <= 6601) - : c <= 6678))))))))))))) - : (c <= 6740 || (c < 43261 - ? (c < 11499 - ? (c < 8118 - ? (c < 7406 - ? (c < 7168 - ? (c < 7043 - ? (c < 6917 - ? c == 6823 - : (c <= 6963 || (c >= 6981 && c <= 6988))) - : (c <= 7072 || (c < 7098 - ? (c >= 7086 && c <= 7087) - : c <= 7141))) - : (c <= 7203 || (c < 7312 - ? (c < 7258 - ? (c >= 7245 && c <= 7247) - : (c <= 7293 || (c >= 7296 && c <= 7304))) - : (c <= 7354 || (c < 7401 - ? (c >= 7357 && c <= 7359) - : c <= 7404))))) - : (c <= 7411 || (c < 8008 - ? (c < 7680 - ? (c < 7418 - ? (c >= 7413 && c <= 7414) - : (c <= 7418 || (c >= 7424 && c <= 7615))) - : (c <= 7957 || (c < 7968 - ? (c >= 7960 && c <= 7965) - : c <= 8005))) - : (c <= 8013 || (c < 8029 - ? (c < 8025 - ? (c >= 8016 && c <= 8023) - : (c <= 8025 || c == 8027)) - : (c <= 8029 || (c < 8064 - ? (c >= 8031 && c <= 8061) - : c <= 8116))))))) - : (c <= 8124 || (c < 8458 - ? (c < 8178 - ? (c < 8144 - ? (c < 8130 - ? c == 8126 - : (c <= 8132 || (c >= 8134 && c <= 8140))) - : (c <= 8147 || (c < 8160 - ? (c >= 8150 && c <= 8155) - : c <= 8172))) - : (c <= 8180 || (c < 8336 - ? (c < 8305 - ? (c >= 8182 && c <= 8188) - : (c <= 8305 || c == 8319)) - : (c <= 8348 || (c < 8455 - ? c == 8450 - : c <= 8455))))) - : (c <= 8467 || (c < 8495 - ? (c < 8486 - ? (c < 8473 - ? c == 8469 - : (c <= 8477 || c == 8484)) - : (c <= 8486 || (c < 8490 - ? c == 8488 - : c <= 8493))) - : (c <= 8505 || (c < 8526 - ? (c < 8517 - ? (c >= 8508 && c <= 8511) - : c <= 8521) - : (c <= 8526 || (c < 11264 - ? (c >= 8544 && c <= 8584) - : c <= 11492))))))))) - : (c <= 11502 || (c < 12704 - ? (c < 11728 - ? (c < 11648 - ? (c < 11565 - ? (c < 11520 - ? (c >= 11506 && c <= 11507) - : (c <= 11557 || c == 11559)) - : (c <= 11565 || (c < 11631 - ? (c >= 11568 && c <= 11623) - : c <= 11631))) - : (c <= 11670 || (c < 11704 - ? (c < 11688 - ? (c >= 11680 && c <= 11686) - : (c <= 11694 || (c >= 11696 && c <= 11702))) - : (c <= 11710 || (c < 11720 - ? (c >= 11712 && c <= 11718) - : c <= 11726))))) - : (c <= 11734 || (c < 12353 - ? (c < 12321 - ? (c < 11823 - ? (c >= 11736 && c <= 11742) - : (c <= 11823 || (c >= 12293 && c <= 12295))) - : (c <= 12329 || (c < 12344 - ? (c >= 12337 && c <= 12341) - : c <= 12348))) - : (c <= 12438 || (c < 12540 - ? (c < 12449 - ? (c >= 12445 && c <= 12447) - : c <= 12538) - : (c <= 12543 || (c < 12593 - ? (c >= 12549 && c <= 12591) - : c <= 12686))))))) - : (c <= 12735 || (c < 42786 - ? (c < 42240 - ? (c < 19968 - ? (c < 13312 - ? (c >= 12784 && c <= 12799) - : (c <= 13312 || c == 19903)) - : (c <= 19968 || (c < 42192 - ? (c >= 40959 && c <= 42124) - : c <= 42237))) - : (c <= 42508 || (c < 42623 - ? (c < 42538 - ? (c >= 42512 && c <= 42527) - : (c <= 42539 || (c >= 42560 && c <= 42606))) - : (c <= 42653 || (c < 42775 - ? (c >= 42656 && c <= 42735) - : c <= 42783))))) - : (c <= 42888 || (c < 43015 - ? (c < 42965 - ? (c < 42960 - ? (c >= 42891 && c <= 42954) - : (c <= 42961 || c == 42963)) - : (c <= 42969 || (c < 43011 - ? (c >= 42994 && c <= 43009) - : c <= 43013))) - : (c <= 43018 || (c < 43138 - ? (c < 43072 - ? (c >= 43020 && c <= 43042) - : c <= 43123) - : (c <= 43187 || (c < 43259 - ? (c >= 43250 && c <= 43255) - : c <= 43259))))))))))) - : (c <= 43262 || (c < 65345 - ? (c < 43816 - ? (c < 43646 - ? (c < 43494 - ? (c < 43396 - ? (c < 43312 - ? (c >= 43274 && c <= 43301) - : (c <= 43334 || (c >= 43360 && c <= 43388))) - : (c <= 43442 || (c < 43488 - ? c == 43471 - : c <= 43492))) - : (c <= 43503 || (c < 43588 - ? (c < 43520 - ? (c >= 43514 && c <= 43518) - : (c <= 43560 || (c >= 43584 && c <= 43586))) - : (c <= 43595 || (c < 43642 - ? (c >= 43616 && c <= 43638) - : c <= 43642))))) - : (c <= 43695 || (c < 43744 - ? (c < 43712 - ? (c < 43701 - ? c == 43697 - : (c <= 43702 || (c >= 43705 && c <= 43709))) - : (c <= 43712 || (c < 43739 - ? c == 43714 - : c <= 43741))) - : (c <= 43754 || (c < 43785 - ? (c < 43777 - ? (c >= 43762 && c <= 43764) - : c <= 43782) - : (c <= 43790 || (c < 43808 - ? (c >= 43793 && c <= 43798) - : c <= 43814))))))) - : (c <= 43822 || (c < 64298 - ? (c < 55243 - ? (c < 44032 - ? (c < 43868 - ? (c >= 43824 && c <= 43866) - : (c <= 43881 || (c >= 43888 && c <= 44002))) - : (c <= 44032 || (c < 55216 - ? c == 55203 - : c <= 55238))) - : (c <= 55291 || (c < 64275 - ? (c < 64112 - ? (c >= 63744 && c <= 64109) - : (c <= 64217 || (c >= 64256 && c <= 64262))) - : (c <= 64279 || (c < 64287 - ? c == 64285 - : c <= 64296))))) - : (c <= 64310 || (c < 64848 - ? (c < 64323 - ? (c < 64318 - ? (c >= 64312 && c <= 64316) - : (c <= 64318 || (c >= 64320 && c <= 64321))) - : (c <= 64324 || (c < 64467 - ? (c >= 64326 && c <= 64433) - : c <= 64829))) - : (c <= 64911 || (c < 65136 - ? (c < 65008 - ? (c >= 64914 && c <= 64967) - : c <= 65019) - : (c <= 65140 || (c < 65313 - ? (c >= 65142 && c <= 65276) - : c <= 65338))))))))) - : (c <= 65370 || (c < 66864 - ? (c < 66176 - ? (c < 65549 - ? (c < 65490 - ? (c < 65474 - ? (c >= 65382 && c <= 65470) - : (c <= 65479 || (c >= 65482 && c <= 65487))) - : (c <= 65495 || (c < 65536 - ? (c >= 65498 && c <= 65500) - : c <= 65547))) - : (c <= 65574 || (c < 65616 - ? (c < 65596 - ? (c >= 65576 && c <= 65594) - : (c <= 65597 || (c >= 65599 && c <= 65613))) - : (c <= 65629 || (c < 65856 - ? (c >= 65664 && c <= 65786) - : c <= 65908))))) - : (c <= 66204 || (c < 66504 - ? (c < 66384 - ? (c < 66304 - ? (c >= 66208 && c <= 66256) - : (c <= 66335 || (c >= 66349 && c <= 66378))) - : (c <= 66421 || (c < 66464 - ? (c >= 66432 && c <= 66461) - : c <= 66499))) - : (c <= 66511 || (c < 66736 - ? (c < 66560 - ? (c >= 66513 && c <= 66517) - : c <= 66717) - : (c <= 66771 || (c < 66816 - ? (c >= 66776 && c <= 66811) - : c <= 66855))))))) - : (c <= 66915 || (c < 67506 - ? (c < 66995 - ? (c < 66964 - ? (c < 66940 - ? (c >= 66928 && c <= 66938) - : (c <= 66954 || (c >= 66956 && c <= 66962))) - : (c <= 66965 || (c < 66979 - ? (c >= 66967 && c <= 66977) - : c <= 66993))) - : (c <= 67001 || (c < 67424 - ? (c < 67072 - ? (c >= 67003 && c <= 67004) - : (c <= 67382 || (c >= 67392 && c <= 67413))) - : (c <= 67431 || (c < 67463 - ? (c >= 67456 && c <= 67461) - : c <= 67504))))) - : (c <= 67514 || (c < 67680 - ? (c < 67639 - ? (c < 67592 - ? (c >= 67584 && c <= 67589) - : (c <= 67592 || (c >= 67594 && c <= 67637))) - : (c <= 67640 || (c < 67647 - ? c == 67644 - : c <= 67669))) - : (c <= 67702 || (c < 67828 - ? (c < 67808 - ? (c >= 67712 && c <= 67742) - : c <= 67826) - : (c <= 67829 || (c < 67872 - ? (c >= 67840 && c <= 67861) - : c <= 67883))))))))))))))); -} +static TSCharacterRange sym__identifier_token_character_set_2[] = { + {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xaa, 0xaa}, {0xb5, 0xb5}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6}, + {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x370, 0x374}, {0x376, 0x377}, {0x37a, 0x37d}, + {0x37f, 0x37f}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3f5}, {0x3f7, 0x481}, {0x48a, 0x52f}, + {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x620, 0x64a}, {0x66e, 0x66f}, {0x671, 0x6d3}, + {0x6d5, 0x6d5}, {0x6e5, 0x6e6}, {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, {0x712, 0x72f}, {0x74d, 0x7a5}, + {0x7b1, 0x7b1}, {0x7ca, 0x7ea}, {0x7f4, 0x7f5}, {0x7fa, 0x7fa}, {0x800, 0x815}, {0x81a, 0x81a}, {0x824, 0x824}, {0x828, 0x828}, + {0x840, 0x858}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {0x8a0, 0x8c9}, {0x904, 0x939}, {0x93d, 0x93d}, {0x950, 0x950}, + {0x958, 0x961}, {0x971, 0x980}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, + {0x9bd, 0x9bd}, {0x9ce, 0x9ce}, {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0x9fc, 0x9fc}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, + {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa72, 0xa74}, + {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabd, 0xabd}, {0xad0, 0xad0}, + {0xae0, 0xae1}, {0xaf9, 0xaf9}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39}, + {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90}, {0xb92, 0xb95}, + {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb9}, {0xbd0, 0xbd0}, {0xc05, 0xc0c}, + {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc39}, {0xc3d, 0xc3d}, {0xc58, 0xc5a}, {0xc5d, 0xc5d}, {0xc60, 0xc61}, {0xc80, 0xc80}, + {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbd, 0xcbd}, {0xcdd, 0xcde}, {0xce0, 0xce1}, + {0xcf1, 0xcf2}, {0xd04, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd3a}, {0xd3d, 0xd3d}, {0xd4e, 0xd4e}, {0xd54, 0xd56}, {0xd5f, 0xd61}, + {0xd7a, 0xd7f}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, {0xe01, 0xe30}, {0xe32, 0xe33}, + {0xe40, 0xe46}, {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xeb0}, {0xeb2, 0xeb3}, + {0xebd, 0xebd}, {0xec0, 0xec4}, {0xec6, 0xec6}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf40, 0xf47}, {0xf49, 0xf6c}, {0xf88, 0xf8c}, + {0x1000, 0x102a}, {0x103f, 0x103f}, {0x1050, 0x1055}, {0x105a, 0x105d}, {0x1061, 0x1061}, {0x1065, 0x1066}, {0x106e, 0x1070}, {0x1075, 0x1081}, + {0x108e, 0x108e}, {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, + {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0}, + {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x1380, 0x138f}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, + {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, {0x1700, 0x1711}, {0x171f, 0x1731}, {0x1740, 0x1751}, + {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1780, 0x17b3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dc}, {0x1820, 0x1878}, {0x1880, 0x1884}, {0x1887, 0x18a8}, + {0x18aa, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1950, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x1a00, 0x1a16}, + {0x1a20, 0x1a54}, {0x1aa7, 0x1aa7}, {0x1b05, 0x1b33}, {0x1b45, 0x1b4c}, {0x1b83, 0x1ba0}, {0x1bae, 0x1baf}, {0x1bba, 0x1be5}, {0x1c00, 0x1c23}, + {0x1c4d, 0x1c4f}, {0x1c5a, 0x1c7d}, {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1ce9, 0x1cec}, {0x1cee, 0x1cf3}, {0x1cf5, 0x1cf6}, + {0x1cfa, 0x1cfa}, {0x1d00, 0x1dbf}, {0x1e00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f59, 0x1f59}, + {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, + {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x2071, 0x2071}, {0x207f, 0x207f}, {0x2090, 0x209c}, + {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115}, {0x2119, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128}, + {0x212a, 0x212d}, {0x212f, 0x2139}, {0x213c, 0x213f}, {0x2145, 0x2149}, {0x214e, 0x214e}, {0x2160, 0x2188}, {0x2c00, 0x2ce4}, {0x2ceb, 0x2cee}, + {0x2cf2, 0x2cf3}, {0x2d00, 0x2d25}, {0x2d27, 0x2d27}, {0x2d2d, 0x2d2d}, {0x2d30, 0x2d67}, {0x2d6f, 0x2d6f}, {0x2d80, 0x2d96}, {0x2da0, 0x2da6}, + {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x2e2f, 0x2e2f}, + {0x3005, 0x3007}, {0x3021, 0x3029}, {0x3031, 0x3035}, {0x3038, 0x303c}, {0x3041, 0x3096}, {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, + {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31bf}, {0x31f0, 0x31ff}, {0x3400, 0x3400}, {0x4dbf, 0x4dbf}, {0x4e00, 0x4e00}, {0x9fff, 0xa48c}, + {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, {0xa610, 0xa61f}, {0xa62a, 0xa62b}, {0xa640, 0xa66e}, {0xa67f, 0xa69d}, {0xa6a0, 0xa6ef}, {0xa717, 0xa71f}, + {0xa722, 0xa788}, {0xa78b, 0xa7ca}, {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7d9}, {0xa7f2, 0xa801}, {0xa803, 0xa805}, {0xa807, 0xa80a}, + {0xa80c, 0xa822}, {0xa840, 0xa873}, {0xa882, 0xa8b3}, {0xa8f2, 0xa8f7}, {0xa8fb, 0xa8fb}, {0xa8fd, 0xa8fe}, {0xa90a, 0xa925}, {0xa930, 0xa946}, + {0xa960, 0xa97c}, {0xa984, 0xa9b2}, {0xa9cf, 0xa9cf}, {0xa9e0, 0xa9e4}, {0xa9e6, 0xa9ef}, {0xa9fa, 0xa9fe}, {0xaa00, 0xaa28}, {0xaa40, 0xaa42}, + {0xaa44, 0xaa4b}, {0xaa60, 0xaa76}, {0xaa7a, 0xaa7a}, {0xaa7e, 0xaaaf}, {0xaab1, 0xaab1}, {0xaab5, 0xaab6}, {0xaab9, 0xaabd}, {0xaac0, 0xaac0}, + {0xaac2, 0xaac2}, {0xaadb, 0xaadd}, {0xaae0, 0xaaea}, {0xaaf2, 0xaaf4}, {0xab01, 0xab06}, {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, + {0xab28, 0xab2e}, {0xab30, 0xab5a}, {0xab5c, 0xab69}, {0xab70, 0xabe2}, {0xac00, 0xac00}, {0xd7a3, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, + {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb1d}, {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, + {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, + {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, + {0xffda, 0xffdc}, {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, + {0x10140, 0x10174}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x10300, 0x1031f}, {0x1032d, 0x1034a}, {0x10350, 0x10375}, {0x10380, 0x1039d}, {0x103a0, 0x103c3}, + {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d}, {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10570, 0x1057a}, + {0x1057c, 0x1058a}, {0x1058c, 0x10592}, {0x10594, 0x10595}, {0x10597, 0x105a1}, {0x105a3, 0x105b1}, {0x105b3, 0x105b9}, {0x105bb, 0x105bc}, {0x10600, 0x10736}, + {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10780, 0x10785}, {0x10787, 0x107b0}, {0x107b2, 0x107ba}, {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, + {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, + {0x10920, 0x1092b}, +}; -static inline bool sym__identifier_token_character_set_3(int32_t c) { - return (c < 6016 - ? (c < 2962 - ? (c < 2447 - ? (c < 1425 - ? (c < 768 - ? (c < 186 - ? (c < 'a' - ? (c < 'A' - ? (c >= '0' && c <= '9') - : (c <= 'Z' || c == '_')) - : (c <= 'z' || (c < 173 - ? c == 170 - : (c <= 173 || c == 181)))) - : (c <= 186 || (c < 710 - ? (c < 216 - ? (c >= 192 && c <= 214) - : (c <= 246 || (c >= 248 && c <= 705))) - : (c <= 721 || (c < 748 - ? (c >= 736 && c <= 740) - : (c <= 748 || c == 750)))))) - : (c <= 884 || (c < 931 - ? (c < 902 - ? (c < 890 - ? (c >= 886 && c <= 887) - : (c <= 893 || c == 895)) - : (c <= 902 || (c < 908 - ? (c >= 904 && c <= 906) - : (c <= 908 || (c >= 910 && c <= 929))))) - : (c <= 1013 || (c < 1329 - ? (c < 1155 - ? (c >= 1015 && c <= 1153) - : (c <= 1159 || (c >= 1162 && c <= 1327))) - : (c <= 1366 || (c < 1376 - ? c == 1369 - : c <= 1416))))))) - : (c <= 1469 || (c < 1807 - ? (c < 1552 - ? (c < 1479 - ? (c < 1473 - ? c == 1471 - : (c <= 1474 || (c >= 1476 && c <= 1477))) - : (c <= 1479 || (c < 1519 - ? (c >= 1488 && c <= 1514) - : (c <= 1522 || (c >= 1536 && c <= 1541))))) - : (c <= 1562 || (c < 1749 - ? (c < 1568 - ? c == 1564 - : (c <= 1641 || (c >= 1646 && c <= 1747))) - : (c <= 1757 || (c < 1770 - ? (c >= 1759 && c <= 1768) - : (c <= 1788 || c == 1791)))))) - : (c <= 1866 || (c < 2160 - ? (c < 2045 - ? (c < 1984 - ? (c >= 1869 && c <= 1969) - : (c <= 2037 || c == 2042)) - : (c <= 2045 || (c < 2112 - ? (c >= 2048 && c <= 2093) - : (c <= 2139 || (c >= 2144 && c <= 2154))))) - : (c <= 2183 || (c < 2406 - ? (c < 2192 - ? (c >= 2185 && c <= 2190) - : (c <= 2193 || (c >= 2200 && c <= 2403))) - : (c <= 2415 || (c < 2437 - ? (c >= 2417 && c <= 2435) - : c <= 2444))))))))) - : (c <= 2448 || (c < 2693 - ? (c < 2575 - ? (c < 2519 - ? (c < 2486 - ? (c < 2474 - ? (c >= 2451 && c <= 2472) - : (c <= 2480 || c == 2482)) - : (c <= 2489 || (c < 2503 - ? (c >= 2492 && c <= 2500) - : (c <= 2504 || (c >= 2507 && c <= 2510))))) - : (c <= 2519 || (c < 2556 - ? (c < 2527 - ? (c >= 2524 && c <= 2525) - : (c <= 2531 || (c >= 2534 && c <= 2545))) - : (c <= 2556 || (c < 2561 - ? c == 2558 - : (c <= 2563 || (c >= 2565 && c <= 2570))))))) - : (c <= 2576 || (c < 2631 - ? (c < 2613 - ? (c < 2602 - ? (c >= 2579 && c <= 2600) - : (c <= 2608 || (c >= 2610 && c <= 2611))) - : (c <= 2614 || (c < 2620 - ? (c >= 2616 && c <= 2617) - : (c <= 2620 || (c >= 2622 && c <= 2626))))) - : (c <= 2632 || (c < 2654 - ? (c < 2641 - ? (c >= 2635 && c <= 2637) - : (c <= 2641 || (c >= 2649 && c <= 2652))) - : (c <= 2654 || (c < 2689 - ? (c >= 2662 && c <= 2677) - : c <= 2691))))))) - : (c <= 2701 || (c < 2835 - ? (c < 2763 - ? (c < 2738 - ? (c < 2707 - ? (c >= 2703 && c <= 2705) - : (c <= 2728 || (c >= 2730 && c <= 2736))) - : (c <= 2739 || (c < 2748 - ? (c >= 2741 && c <= 2745) - : (c <= 2757 || (c >= 2759 && c <= 2761))))) - : (c <= 2765 || (c < 2809 - ? (c < 2784 - ? c == 2768 - : (c <= 2787 || (c >= 2790 && c <= 2799))) - : (c <= 2815 || (c < 2821 - ? (c >= 2817 && c <= 2819) - : (c <= 2828 || (c >= 2831 && c <= 2832))))))) - : (c <= 2856 || (c < 2908 - ? (c < 2876 - ? (c < 2866 - ? (c >= 2858 && c <= 2864) - : (c <= 2867 || (c >= 2869 && c <= 2873))) - : (c <= 2884 || (c < 2891 - ? (c >= 2887 && c <= 2888) - : (c <= 2893 || (c >= 2901 && c <= 2903))))) - : (c <= 2909 || (c < 2946 - ? (c < 2918 - ? (c >= 2911 && c <= 2915) - : (c <= 2927 || c == 2929)) - : (c <= 2947 || (c < 2958 - ? (c >= 2949 && c <= 2954) - : c <= 2960))))))))))) - : (c <= 2965 || (c < 3664 - ? (c < 3260 - ? (c < 3114 - ? (c < 3014 - ? (c < 2979 - ? (c < 2972 - ? (c >= 2969 && c <= 2970) - : (c <= 2972 || (c >= 2974 && c <= 2975))) - : (c <= 2980 || (c < 2990 - ? (c >= 2984 && c <= 2986) - : (c <= 3001 || (c >= 3006 && c <= 3010))))) - : (c <= 3016 || (c < 3046 - ? (c < 3024 - ? (c >= 3018 && c <= 3021) - : (c <= 3024 || c == 3031)) - : (c <= 3055 || (c < 3086 - ? (c >= 3072 && c <= 3084) - : (c <= 3088 || (c >= 3090 && c <= 3112))))))) - : (c <= 3129 || (c < 3174 - ? (c < 3157 - ? (c < 3142 - ? (c >= 3132 && c <= 3140) - : (c <= 3144 || (c >= 3146 && c <= 3149))) - : (c <= 3158 || (c < 3165 - ? (c >= 3160 && c <= 3162) - : (c <= 3165 || (c >= 3168 && c <= 3171))))) - : (c <= 3183 || (c < 3218 - ? (c < 3205 - ? (c >= 3200 && c <= 3203) - : (c <= 3212 || (c >= 3214 && c <= 3216))) - : (c <= 3240 || (c < 3253 - ? (c >= 3242 && c <= 3251) - : c <= 3257))))))) - : (c <= 3268 || (c < 3450 - ? (c < 3328 - ? (c < 3293 - ? (c < 3274 - ? (c >= 3270 && c <= 3272) - : (c <= 3277 || (c >= 3285 && c <= 3286))) - : (c <= 3294 || (c < 3302 - ? (c >= 3296 && c <= 3299) - : (c <= 3311 || (c >= 3313 && c <= 3314))))) - : (c <= 3340 || (c < 3402 - ? (c < 3346 - ? (c >= 3342 && c <= 3344) - : (c <= 3396 || (c >= 3398 && c <= 3400))) - : (c <= 3406 || (c < 3423 - ? (c >= 3412 && c <= 3415) - : (c <= 3427 || (c >= 3430 && c <= 3439))))))) - : (c <= 3455 || (c < 3535 - ? (c < 3507 - ? (c < 3461 - ? (c >= 3457 && c <= 3459) - : (c <= 3478 || (c >= 3482 && c <= 3505))) - : (c <= 3515 || (c < 3520 - ? c == 3517 - : (c <= 3526 || c == 3530)))) - : (c <= 3540 || (c < 3570 - ? (c < 3544 - ? c == 3542 - : (c <= 3551 || (c >= 3558 && c <= 3567))) - : (c <= 3571 || (c < 3648 - ? (c >= 3585 && c <= 3642) - : c <= 3662))))))))) - : (c <= 3673 || (c < 4682 - ? (c < 3895 - ? (c < 3782 - ? (c < 3724 - ? (c < 3716 - ? (c >= 3713 && c <= 3714) - : (c <= 3716 || (c >= 3718 && c <= 3722))) - : (c <= 3747 || (c < 3751 - ? c == 3749 - : (c <= 3773 || (c >= 3776 && c <= 3780))))) - : (c <= 3782 || (c < 3840 - ? (c < 3792 - ? (c >= 3784 && c <= 3789) - : (c <= 3801 || (c >= 3804 && c <= 3807))) - : (c <= 3840 || (c < 3872 - ? (c >= 3864 && c <= 3865) - : (c <= 3881 || c == 3893)))))) - : (c <= 3895 || (c < 4096 - ? (c < 3953 - ? (c < 3902 - ? c == 3897 - : (c <= 3911 || (c >= 3913 && c <= 3948))) - : (c <= 3972 || (c < 3993 - ? (c >= 3974 && c <= 3991) - : (c <= 4028 || c == 4038)))) - : (c <= 4169 || (c < 4301 - ? (c < 4256 - ? (c >= 4176 && c <= 4253) - : (c <= 4293 || c == 4295)) - : (c <= 4301 || (c < 4348 - ? (c >= 4304 && c <= 4346) - : c <= 4680))))))) - : (c <= 4685 || (c < 4957 - ? (c < 4792 - ? (c < 4704 - ? (c < 4696 - ? (c >= 4688 && c <= 4694) - : (c <= 4696 || (c >= 4698 && c <= 4701))) - : (c <= 4744 || (c < 4752 - ? (c >= 4746 && c <= 4749) - : (c <= 4784 || (c >= 4786 && c <= 4789))))) - : (c <= 4798 || (c < 4824 - ? (c < 4802 - ? c == 4800 - : (c <= 4805 || (c >= 4808 && c <= 4822))) - : (c <= 4880 || (c < 4888 - ? (c >= 4882 && c <= 4885) - : c <= 4954))))) - : (c <= 4959 || (c < 5870 - ? (c < 5121 - ? (c < 5024 - ? (c >= 4992 && c <= 5007) - : (c <= 5109 || (c >= 5112 && c <= 5117))) - : (c <= 5740 || (c < 5761 - ? (c >= 5743 && c <= 5759) - : (c <= 5786 || (c >= 5792 && c <= 5866))))) - : (c <= 5880 || (c < 5984 - ? (c < 5919 - ? (c >= 5888 && c <= 5909) - : (c <= 5940 || (c >= 5952 && c <= 5971))) - : (c <= 5996 || (c < 6002 - ? (c >= 5998 && c <= 6000) - : c <= 6003))))))))))))) - : (c <= 6099 || (c < 42786 - ? (c < 8319 - ? (c < 7296 - ? (c < 6656 - ? (c < 6400 - ? (c < 6155 - ? (c < 6108 - ? c == 6103 - : (c <= 6109 || (c >= 6112 && c <= 6121))) - : (c <= 6169 || (c < 6272 - ? (c >= 6176 && c <= 6264) - : (c <= 6314 || (c >= 6320 && c <= 6389))))) - : (c <= 6430 || (c < 6512 - ? (c < 6448 - ? (c >= 6432 && c <= 6443) - : (c <= 6459 || (c >= 6470 && c <= 6509))) - : (c <= 6516 || (c < 6576 - ? (c >= 6528 && c <= 6571) - : (c <= 6601 || (c >= 6608 && c <= 6617))))))) - : (c <= 6683 || (c < 6912 - ? (c < 6800 - ? (c < 6752 - ? (c >= 6688 && c <= 6750) - : (c <= 6780 || (c >= 6783 && c <= 6793))) - : (c <= 6809 || (c < 6832 - ? c == 6823 - : (c <= 6845 || (c >= 6847 && c <= 6862))))) - : (c <= 6988 || (c < 7168 - ? (c < 7019 - ? (c >= 6992 && c <= 7001) - : (c <= 7027 || (c >= 7040 && c <= 7155))) - : (c <= 7223 || (c < 7245 - ? (c >= 7232 && c <= 7241) - : c <= 7293))))))) - : (c <= 7304 || (c < 8126 - ? (c < 8008 - ? (c < 7380 - ? (c < 7357 - ? (c >= 7312 && c <= 7354) - : (c <= 7359 || (c >= 7376 && c <= 7378))) - : (c <= 7418 || (c < 7960 - ? (c >= 7424 && c <= 7957) - : (c <= 7965 || (c >= 7968 && c <= 8005))))) - : (c <= 8013 || (c < 8029 - ? (c < 8025 - ? (c >= 8016 && c <= 8023) - : (c <= 8025 || c == 8027)) - : (c <= 8029 || (c < 8064 - ? (c >= 8031 && c <= 8061) - : (c <= 8116 || (c >= 8118 && c <= 8124))))))) - : (c <= 8126 || (c < 8203 - ? (c < 8150 - ? (c < 8134 - ? (c >= 8130 && c <= 8132) - : (c <= 8140 || (c >= 8144 && c <= 8147))) - : (c <= 8155 || (c < 8178 - ? (c >= 8160 && c <= 8172) - : (c <= 8180 || (c >= 8182 && c <= 8188))))) - : (c <= 8207 || (c < 8288 - ? (c < 8255 - ? (c >= 8234 && c <= 8238) - : (c <= 8256 || c == 8276)) - : (c <= 8292 || (c < 8305 - ? (c >= 8294 && c <= 8303) - : c <= 8305))))))))) - : (c <= 8319 || (c < 11712 - ? (c < 8517 - ? (c < 8469 - ? (c < 8421 - ? (c < 8400 - ? (c >= 8336 && c <= 8348) - : (c <= 8412 || c == 8417)) - : (c <= 8432 || (c < 8455 - ? c == 8450 - : (c <= 8455 || (c >= 8458 && c <= 8467))))) - : (c <= 8469 || (c < 8488 - ? (c < 8484 - ? (c >= 8473 && c <= 8477) - : (c <= 8484 || c == 8486)) - : (c <= 8488 || (c < 8495 - ? (c >= 8490 && c <= 8493) - : (c <= 8505 || (c >= 8508 && c <= 8511))))))) - : (c <= 8521 || (c < 11568 - ? (c < 11499 - ? (c < 8544 - ? c == 8526 - : (c <= 8584 || (c >= 11264 && c <= 11492))) - : (c <= 11507 || (c < 11559 - ? (c >= 11520 && c <= 11557) - : (c <= 11559 || c == 11565)))) - : (c <= 11623 || (c < 11688 - ? (c < 11647 - ? c == 11631 - : (c <= 11670 || (c >= 11680 && c <= 11686))) - : (c <= 11694 || (c < 11704 - ? (c >= 11696 && c <= 11702) - : c <= 11710))))))) - : (c <= 11718 || (c < 12549 - ? (c < 12337 - ? (c < 11744 - ? (c < 11728 - ? (c >= 11720 && c <= 11726) - : (c <= 11734 || (c >= 11736 && c <= 11742))) - : (c <= 11775 || (c < 12293 - ? c == 11823 - : (c <= 12295 || (c >= 12321 && c <= 12335))))) - : (c <= 12341 || (c < 12445 - ? (c < 12353 - ? (c >= 12344 && c <= 12348) - : (c <= 12438 || (c >= 12441 && c <= 12442))) - : (c <= 12447 || (c < 12540 - ? (c >= 12449 && c <= 12538) - : c <= 12543))))) - : (c <= 12591 || (c < 42192 - ? (c < 13312 - ? (c < 12704 - ? (c >= 12593 && c <= 12686) - : (c <= 12735 || (c >= 12784 && c <= 12799))) - : (c <= 13312 || (c < 19968 - ? c == 19903 - : (c <= 19968 || (c >= 40959 && c <= 42124))))) - : (c <= 42237 || (c < 42612 - ? (c < 42512 - ? (c >= 42240 && c <= 42508) - : (c <= 42539 || (c >= 42560 && c <= 42607))) - : (c <= 42621 || (c < 42775 - ? (c >= 42623 && c <= 42737) - : c <= 42783))))))))))) - : (c <= 42888 || (c < 65296 - ? (c < 43824 - ? (c < 43471 - ? (c < 43136 - ? (c < 42965 - ? (c < 42960 - ? (c >= 42891 && c <= 42954) - : (c <= 42961 || c == 42963)) - : (c <= 42969 || (c < 43052 - ? (c >= 42994 && c <= 43047) - : (c <= 43052 || (c >= 43072 && c <= 43123))))) - : (c <= 43205 || (c < 43261 - ? (c < 43232 - ? (c >= 43216 && c <= 43225) - : (c <= 43255 || c == 43259)) - : (c <= 43309 || (c < 43360 - ? (c >= 43312 && c <= 43347) - : (c <= 43388 || (c >= 43392 && c <= 43456))))))) - : (c <= 43481 || (c < 43744 - ? (c < 43600 - ? (c < 43520 - ? (c >= 43488 && c <= 43518) - : (c <= 43574 || (c >= 43584 && c <= 43597))) - : (c <= 43609 || (c < 43642 - ? (c >= 43616 && c <= 43638) - : (c <= 43714 || (c >= 43739 && c <= 43741))))) - : (c <= 43759 || (c < 43793 - ? (c < 43777 - ? (c >= 43762 && c <= 43766) - : (c <= 43782 || (c >= 43785 && c <= 43790))) - : (c <= 43798 || (c < 43816 - ? (c >= 43808 && c <= 43814) - : c <= 43822))))))) - : (c <= 43866 || (c < 64318 - ? (c < 55243 - ? (c < 44016 - ? (c < 43888 - ? (c >= 43868 && c <= 43881) - : (c <= 44010 || (c >= 44012 && c <= 44013))) - : (c <= 44025 || (c < 55203 - ? c == 44032 - : (c <= 55203 || (c >= 55216 && c <= 55238))))) - : (c <= 55291 || (c < 64275 - ? (c < 64112 - ? (c >= 63744 && c <= 64109) - : (c <= 64217 || (c >= 64256 && c <= 64262))) - : (c <= 64279 || (c < 64298 - ? (c >= 64285 && c <= 64296) - : (c <= 64310 || (c >= 64312 && c <= 64316))))))) - : (c <= 64318 || (c < 65024 - ? (c < 64467 - ? (c < 64323 - ? (c >= 64320 && c <= 64321) - : (c <= 64324 || (c >= 64326 && c <= 64433))) - : (c <= 64829 || (c < 64914 - ? (c >= 64848 && c <= 64911) - : (c <= 64967 || (c >= 65008 && c <= 65019))))) - : (c <= 65039 || (c < 65136 - ? (c < 65075 - ? (c >= 65056 && c <= 65071) - : (c <= 65076 || (c >= 65101 && c <= 65103))) - : (c <= 65140 || (c < 65279 - ? (c >= 65142 && c <= 65276) - : c <= 65279))))))))) - : (c <= 65305 || (c < 66736 - ? (c < 65664 - ? (c < 65498 - ? (c < 65382 - ? (c < 65343 - ? (c >= 65313 && c <= 65338) - : (c <= 65343 || (c >= 65345 && c <= 65370))) - : (c <= 65470 || (c < 65482 - ? (c >= 65474 && c <= 65479) - : (c <= 65487 || (c >= 65490 && c <= 65495))))) - : (c <= 65500 || (c < 65576 - ? (c < 65536 - ? (c >= 65529 && c <= 65531) - : (c <= 65547 || (c >= 65549 && c <= 65574))) - : (c <= 65594 || (c < 65599 - ? (c >= 65596 && c <= 65597) - : (c <= 65613 || (c >= 65616 && c <= 65629))))))) - : (c <= 65786 || (c < 66384 - ? (c < 66208 - ? (c < 66045 - ? (c >= 65856 && c <= 65908) - : (c <= 66045 || (c >= 66176 && c <= 66204))) - : (c <= 66256 || (c < 66304 - ? c == 66272 - : (c <= 66335 || (c >= 66349 && c <= 66378))))) - : (c <= 66426 || (c < 66513 - ? (c < 66464 - ? (c >= 66432 && c <= 66461) - : (c <= 66499 || (c >= 66504 && c <= 66511))) - : (c <= 66517 || (c < 66720 - ? (c >= 66560 && c <= 66717) - : c <= 66729))))))) - : (c <= 66771 || (c < 67456 - ? (c < 66967 - ? (c < 66928 - ? (c < 66816 - ? (c >= 66776 && c <= 66811) - : (c <= 66855 || (c >= 66864 && c <= 66915))) - : (c <= 66938 || (c < 66956 - ? (c >= 66940 && c <= 66954) - : (c <= 66962 || (c >= 66964 && c <= 66965))))) - : (c <= 66977 || (c < 67072 - ? (c < 66995 - ? (c >= 66979 && c <= 66993) - : (c <= 67001 || (c >= 67003 && c <= 67004))) - : (c <= 67382 || (c < 67424 - ? (c >= 67392 && c <= 67413) - : c <= 67431))))) - : (c <= 67461 || (c < 67647 - ? (c < 67592 - ? (c < 67506 - ? (c >= 67463 && c <= 67504) - : (c <= 67514 || (c >= 67584 && c <= 67589))) - : (c <= 67592 || (c < 67639 - ? (c >= 67594 && c <= 67637) - : (c <= 67640 || c == 67644)))) - : (c <= 67669 || (c < 67828 - ? (c < 67712 - ? (c >= 67680 && c <= 67702) - : (c <= 67742 || (c >= 67808 && c <= 67826))) - : (c <= 67829 || (c < 67872 - ? (c >= 67840 && c <= 67861) - : c <= 67883))))))))))))))); -} +static TSCharacterRange sym__identifier_token_character_set_3[] = { + {'0', '9'}, {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xaa, 0xaa}, {0xad, 0xad}, {0xb5, 0xb5}, {0xba, 0xba}, + {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x300, 0x374}, + {0x376, 0x377}, {0x37a, 0x37d}, {0x37f, 0x37f}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3f5}, + {0x3f7, 0x481}, {0x483, 0x487}, {0x48a, 0x52f}, {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x591, 0x5bd}, {0x5bf, 0x5bf}, + {0x5c1, 0x5c2}, {0x5c4, 0x5c5}, {0x5c7, 0x5c7}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x600, 0x605}, {0x610, 0x61a}, {0x61c, 0x61c}, + {0x620, 0x669}, {0x66e, 0x6d3}, {0x6d5, 0x6dd}, {0x6df, 0x6e8}, {0x6ea, 0x6fc}, {0x6ff, 0x6ff}, {0x70f, 0x74a}, {0x74d, 0x7b1}, + {0x7c0, 0x7f5}, {0x7fa, 0x7fa}, {0x7fd, 0x7fd}, {0x800, 0x82d}, {0x840, 0x85b}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, + {0x890, 0x891}, {0x898, 0x963}, {0x966, 0x96f}, {0x971, 0x983}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, + {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bc, 0x9c4}, {0x9c7, 0x9c8}, {0x9cb, 0x9ce}, {0x9d7, 0x9d7}, {0x9dc, 0x9dd}, {0x9df, 0x9e3}, + {0x9e6, 0x9f1}, {0x9fc, 0x9fc}, {0x9fe, 0x9fe}, {0xa01, 0xa03}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, + {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa3c, 0xa3c}, {0xa3e, 0xa42}, {0xa47, 0xa48}, {0xa4b, 0xa4d}, {0xa51, 0xa51}, + {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa66, 0xa75}, {0xa81, 0xa83}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, + {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabc, 0xac5}, {0xac7, 0xac9}, {0xacb, 0xacd}, {0xad0, 0xad0}, {0xae0, 0xae3}, {0xae6, 0xaef}, + {0xaf9, 0xaff}, {0xb01, 0xb03}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39}, + {0xb3c, 0xb44}, {0xb47, 0xb48}, {0xb4b, 0xb4d}, {0xb55, 0xb57}, {0xb5c, 0xb5d}, {0xb5f, 0xb63}, {0xb66, 0xb6f}, {0xb71, 0xb71}, + {0xb82, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, + {0xba8, 0xbaa}, {0xbae, 0xbb9}, {0xbbe, 0xbc2}, {0xbc6, 0xbc8}, {0xbca, 0xbcd}, {0xbd0, 0xbd0}, {0xbd7, 0xbd7}, {0xbe6, 0xbef}, + {0xc00, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc39}, {0xc3c, 0xc44}, {0xc46, 0xc48}, {0xc4a, 0xc4d}, {0xc55, 0xc56}, + {0xc58, 0xc5a}, {0xc5d, 0xc5d}, {0xc60, 0xc63}, {0xc66, 0xc6f}, {0xc80, 0xc83}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, + {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbc, 0xcc4}, {0xcc6, 0xcc8}, {0xcca, 0xccd}, {0xcd5, 0xcd6}, {0xcdd, 0xcde}, {0xce0, 0xce3}, + {0xce6, 0xcef}, {0xcf1, 0xcf2}, {0xd00, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd44}, {0xd46, 0xd48}, {0xd4a, 0xd4e}, {0xd54, 0xd57}, + {0xd5f, 0xd63}, {0xd66, 0xd6f}, {0xd7a, 0xd7f}, {0xd81, 0xd83}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, + {0xdc0, 0xdc6}, {0xdca, 0xdca}, {0xdcf, 0xdd4}, {0xdd6, 0xdd6}, {0xdd8, 0xddf}, {0xde6, 0xdef}, {0xdf2, 0xdf3}, {0xe01, 0xe3a}, + {0xe40, 0xe4e}, {0xe50, 0xe59}, {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xebd}, + {0xec0, 0xec4}, {0xec6, 0xec6}, {0xec8, 0xecd}, {0xed0, 0xed9}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf18, 0xf19}, {0xf20, 0xf29}, + {0xf35, 0xf35}, {0xf37, 0xf37}, {0xf39, 0xf39}, {0xf3e, 0xf47}, {0xf49, 0xf6c}, {0xf71, 0xf84}, {0xf86, 0xf97}, {0xf99, 0xfbc}, + {0xfc6, 0xfc6}, {0x1000, 0x1049}, {0x1050, 0x109d}, {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, + {0x124a, 0x124d}, {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, + {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x135d, 0x135f}, + {0x1380, 0x138f}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, + {0x1700, 0x1715}, {0x171f, 0x1734}, {0x1740, 0x1753}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1772, 0x1773}, {0x1780, 0x17d3}, {0x17d7, 0x17d7}, + {0x17dc, 0x17dd}, {0x17e0, 0x17e9}, {0x180b, 0x1819}, {0x1820, 0x1878}, {0x1880, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1920, 0x192b}, + {0x1930, 0x193b}, {0x1946, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x19d0, 0x19d9}, {0x1a00, 0x1a1b}, {0x1a20, 0x1a5e}, + {0x1a60, 0x1a7c}, {0x1a7f, 0x1a89}, {0x1a90, 0x1a99}, {0x1aa7, 0x1aa7}, {0x1ab0, 0x1abd}, {0x1abf, 0x1ace}, {0x1b00, 0x1b4c}, {0x1b50, 0x1b59}, + {0x1b6b, 0x1b73}, {0x1b80, 0x1bf3}, {0x1c00, 0x1c37}, {0x1c40, 0x1c49}, {0x1c4d, 0x1c7d}, {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, + {0x1cd0, 0x1cd2}, {0x1cd4, 0x1cfa}, {0x1d00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f59, 0x1f59}, + {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, + {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x200b, 0x200f}, {0x202a, 0x202e}, {0x203f, 0x2040}, + {0x2054, 0x2054}, {0x2060, 0x2064}, {0x2066, 0x206f}, {0x2071, 0x2071}, {0x207f, 0x207f}, {0x2090, 0x209c}, {0x20d0, 0x20dc}, {0x20e1, 0x20e1}, + {0x20e5, 0x20f0}, {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115}, {0x2119, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, + {0x2128, 0x2128}, {0x212a, 0x212d}, {0x212f, 0x2139}, {0x213c, 0x213f}, {0x2145, 0x2149}, {0x214e, 0x214e}, {0x2160, 0x2188}, {0x2c00, 0x2ce4}, + {0x2ceb, 0x2cf3}, {0x2d00, 0x2d25}, {0x2d27, 0x2d27}, {0x2d2d, 0x2d2d}, {0x2d30, 0x2d67}, {0x2d6f, 0x2d6f}, {0x2d7f, 0x2d96}, {0x2da0, 0x2da6}, + {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x2de0, 0x2dff}, + {0x2e2f, 0x2e2f}, {0x3005, 0x3007}, {0x3021, 0x302f}, {0x3031, 0x3035}, {0x3038, 0x303c}, {0x3041, 0x3096}, {0x3099, 0x309a}, {0x309d, 0x309f}, + {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31bf}, {0x31f0, 0x31ff}, {0x3400, 0x3400}, {0x4dbf, 0x4dbf}, + {0x4e00, 0x4e00}, {0x9fff, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, {0xa610, 0xa62b}, {0xa640, 0xa66f}, {0xa674, 0xa67d}, {0xa67f, 0xa6f1}, + {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7ca}, {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7d9}, {0xa7f2, 0xa827}, {0xa82c, 0xa82c}, + {0xa840, 0xa873}, {0xa880, 0xa8c5}, {0xa8d0, 0xa8d9}, {0xa8e0, 0xa8f7}, {0xa8fb, 0xa8fb}, {0xa8fd, 0xa92d}, {0xa930, 0xa953}, {0xa960, 0xa97c}, + {0xa980, 0xa9c0}, {0xa9cf, 0xa9d9}, {0xa9e0, 0xa9fe}, {0xaa00, 0xaa36}, {0xaa40, 0xaa4d}, {0xaa50, 0xaa59}, {0xaa60, 0xaa76}, {0xaa7a, 0xaac2}, + {0xaadb, 0xaadd}, {0xaae0, 0xaaef}, {0xaaf2, 0xaaf6}, {0xab01, 0xab06}, {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, + {0xab30, 0xab5a}, {0xab5c, 0xab69}, {0xab70, 0xabea}, {0xabec, 0xabed}, {0xabf0, 0xabf9}, {0xac00, 0xac00}, {0xd7a3, 0xd7a3}, {0xd7b0, 0xd7c6}, + {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, + {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, + {0xfe00, 0xfe0f}, {0xfe20, 0xfe2f}, {0xfe33, 0xfe34}, {0xfe4d, 0xfe4f}, {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, {0xfeff, 0xfeff}, {0xff10, 0xff19}, + {0xff21, 0xff3a}, {0xff3f, 0xff3f}, {0xff41, 0xff5a}, {0xff66, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, + {0xfff9, 0xfffb}, {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, + {0x10140, 0x10174}, {0x101fd, 0x101fd}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x102e0, 0x102e0}, {0x10300, 0x1031f}, {0x1032d, 0x1034a}, {0x10350, 0x1037a}, + {0x10380, 0x1039d}, {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d}, {0x104a0, 0x104a9}, {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, + {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10570, 0x1057a}, {0x1057c, 0x1058a}, {0x1058c, 0x10592}, {0x10594, 0x10595}, {0x10597, 0x105a1}, {0x105a3, 0x105b1}, + {0x105b3, 0x105b9}, {0x105bb, 0x105bc}, {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10780, 0x10785}, {0x10787, 0x107b0}, {0x107b2, 0x107ba}, + {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, + {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x1092b}, +}; static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); @@ -22435,47 +21015,49 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { switch (state) { case 0: if (eof) ADVANCE(60); - if (lookahead == '!') ADVANCE(92); - if (lookahead == '"') ADVANCE(140); - if (lookahead == '#') ADVANCE(212); - if (lookahead == '$') ADVANCE(9); - if (lookahead == '%') ADVANCE(106); - if (lookahead == '&') ADVANCE(114); - if (lookahead == '\'') ADVANCE(177); - if (lookahead == '(') ADVANCE(81); - if (lookahead == ')') ADVANCE(82); - if (lookahead == '*') ADVANCE(102); - if (lookahead == '+') ADVANCE(96); - if (lookahead == ',') ADVANCE(69); - if (lookahead == '-') ADVANCE(98); - if (lookahead == '.') ADVANCE(76); - if (lookahead == '/') ADVANCE(104); - if (lookahead == '0') ADVANCE(186); - if (lookahead == ':') ADVANCE(80); - if (lookahead == ';') ADVANCE(61); - if (lookahead == '<') ADVANCE(66); - if (lookahead == '=') ADVANCE(62); - if (lookahead == '>') ADVANCE(72); - if (lookahead == '?') ADVANCE(89); - if (lookahead == '@') ADVANCE(10); - if (lookahead == '[') ADVANCE(77); - if (lookahead == '\\') ADVANCE(40); - if (lookahead == ']') ADVANCE(78); - if (lookahead == '^') ADVANCE(108); - if (lookahead == '{') ADVANCE(84); - if (lookahead == '|') ADVANCE(110); - if (lookahead == '}') ADVANCE(85); - if (lookahead == '~') ADVANCE(87); + ADVANCE_MAP( + '!', 92, + '"', 140, + '#', 212, + '$', 9, + '%', 106, + '&', 114, + '\'', 177, + '(', 81, + ')', 82, + '*', 102, + '+', 96, + ',', 69, + '-', 98, + '.', 76, + '/', 104, + '0', 186, + ':', 80, + ';', 61, + '<', 66, + '=', 62, + '>', 72, + '?', 89, + '@', 10, + '[', 77, + '\\', 40, + ']', 78, + '^', 108, + '{', 84, + '|', 110, + '}', 85, + '~', 87, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) SKIP(0) + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) SKIP(0); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(187); - if (sym__identifier_token_character_set_1(lookahead)) ADVANCE(176); + if (set_contains(sym__identifier_token_character_set_2, 433, lookahead)) ADVANCE(176); END_STATE(); case 1: - if (lookahead == '\n') SKIP(18) + if (lookahead == '\n') SKIP(18); if (lookahead == '"') ADVANCE(139); if (lookahead == '#') ADVANCE(153); if (lookahead == '/') ADVANCE(150); @@ -22483,183 +21065,193 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '{') ADVANCE(84); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) ADVANCE(149); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) ADVANCE(149); if (lookahead != 0) ADVANCE(154); END_STATE(); case 2: - if (lookahead == '\n') SKIP(19) + if (lookahead == '\n') SKIP(19); if (lookahead == '"') ADVANCE(139); if (lookahead == '#') ADVANCE(200); if (lookahead == '/') ADVANCE(197); if (lookahead == '\\') ADVANCE(40); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) ADVANCE(196); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) ADVANCE(196); if (lookahead != 0) ADVANCE(201); END_STATE(); case 3: - if (lookahead == '!') ADVANCE(92); - if (lookahead == '"') ADVANCE(142); - if (lookahead == '#') ADVANCE(212); - if (lookahead == '$') ADVANCE(9); - if (lookahead == '%') ADVANCE(106); - if (lookahead == '&') ADVANCE(114); - if (lookahead == '\'') ADVANCE(177); - if (lookahead == '(') ADVANCE(81); - if (lookahead == ')') ADVANCE(82); - if (lookahead == '*') ADVANCE(102); - if (lookahead == '+') ADVANCE(96); - if (lookahead == ',') ADVANCE(69); - if (lookahead == '-') ADVANCE(98); - if (lookahead == '.') ADVANCE(76); - if (lookahead == '/') ADVANCE(104); - if (lookahead == '0') ADVANCE(186); - if (lookahead == ':') ADVANCE(79); - if (lookahead == ';') ADVANCE(61); - if (lookahead == '<') ADVANCE(66); - if (lookahead == '=') ADVANCE(62); - if (lookahead == '>') ADVANCE(72); - if (lookahead == '?') ADVANCE(89); - if (lookahead == '@') ADVANCE(10); - if (lookahead == '[') ADVANCE(77); - if (lookahead == ']') ADVANCE(78); - if (lookahead == '^') ADVANCE(108); - if (lookahead == '{') ADVANCE(83); - if (lookahead == '|') ADVANCE(110); - if (lookahead == '}') ADVANCE(85); - if (lookahead == '~') ADVANCE(87); + ADVANCE_MAP( + '!', 92, + '"', 142, + '#', 212, + '$', 9, + '%', 106, + '&', 114, + '\'', 177, + '(', 81, + ')', 82, + '*', 102, + '+', 96, + ',', 69, + '-', 98, + '.', 76, + '/', 104, + '0', 186, + ':', 79, + ';', 61, + '<', 66, + '=', 62, + '>', 72, + '?', 89, + '@', 10, + '[', 77, + ']', 78, + '^', 108, + '{', 83, + '|', 110, + '}', 85, + '~', 87, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) SKIP(3) + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) SKIP(3); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(187); - if (sym__identifier_token_character_set_2(lookahead)) ADVANCE(176); + if (set_contains(sym__identifier_token_character_set_2, 433, lookahead)) ADVANCE(176); END_STATE(); case 4: - if (lookahead == '!') ADVANCE(92); - if (lookahead == '"') ADVANCE(17); - if (lookahead == '#') ADVANCE(212); - if (lookahead == '%') ADVANCE(106); - if (lookahead == '&') ADVANCE(114); - if (lookahead == '(') ADVANCE(81); - if (lookahead == ')') ADVANCE(82); - if (lookahead == '*') ADVANCE(102); - if (lookahead == '+') ADVANCE(96); - if (lookahead == ',') ADVANCE(69); - if (lookahead == '-') ADVANCE(98); - if (lookahead == '.') ADVANCE(75); - if (lookahead == '/') ADVANCE(104); - if (lookahead == ':') ADVANCE(80); - if (lookahead == ';') ADVANCE(61); - if (lookahead == '<') ADVANCE(66); - if (lookahead == '=') ADVANCE(62); - if (lookahead == '>') ADVANCE(72); - if (lookahead == '?') ADVANCE(89); - if (lookahead == '@') ADVANCE(57); - if (lookahead == '[') ADVANCE(77); - if (lookahead == ']') ADVANCE(78); - if (lookahead == '^') ADVANCE(108); - if (lookahead == '{') ADVANCE(83); - if (lookahead == '|') ADVANCE(110); - if (lookahead == '}') ADVANCE(85); + ADVANCE_MAP( + '!', 92, + '"', 17, + '#', 212, + '%', 106, + '&', 114, + '(', 81, + ')', 82, + '*', 102, + '+', 96, + ',', 69, + '-', 98, + '.', 75, + '/', 104, + ':', 80, + ';', 61, + '<', 66, + '=', 62, + '>', 72, + '?', 89, + '@', 57, + '[', 77, + ']', 78, + '^', 108, + '{', 83, + '|', 110, + '}', 85, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) SKIP(4) + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) SKIP(4); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(225); - if (sym__identifier_token_character_set_2(lookahead)) ADVANCE(176); + if (set_contains(sym__identifier_token_character_set_2, 433, lookahead)) ADVANCE(176); END_STATE(); case 5: - if (lookahead == '!') ADVANCE(92); - if (lookahead == '#') ADVANCE(212); - if (lookahead == '%') ADVANCE(105); - if (lookahead == '&') ADVANCE(112); - if (lookahead == '*') ADVANCE(101); - if (lookahead == '+') ADVANCE(95); - if (lookahead == '-') ADVANCE(97); - if (lookahead == '/') ADVANCE(103); - if (lookahead == '<') ADVANCE(67); - if (lookahead == '=') ADVANCE(36); - if (lookahead == '>') ADVANCE(73); - if (lookahead == '@') ADVANCE(57); - if (lookahead == '^') ADVANCE(107); - if (lookahead == '|') ADVANCE(109); - if (lookahead == '~') ADVANCE(87); + ADVANCE_MAP( + '!', 92, + '#', 212, + '%', 105, + '&', 112, + '*', 101, + '+', 95, + '-', 97, + '/', 103, + '<', 67, + '=', 36, + '>', 73, + '@', 57, + '^', 107, + '|', 109, + '~', 87, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) SKIP(5) - if (sym__identifier_token_character_set_2(lookahead)) ADVANCE(176); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) SKIP(5); + if (set_contains(sym__identifier_token_character_set_2, 433, lookahead)) ADVANCE(176); END_STATE(); case 6: - if (lookahead == '!') ADVANCE(92); - if (lookahead == '#') ADVANCE(212); - if (lookahead == '%') ADVANCE(105); - if (lookahead == '&') ADVANCE(113); - if (lookahead == '(') ADVANCE(81); - if (lookahead == ')') ADVANCE(82); - if (lookahead == '*') ADVANCE(101); - if (lookahead == '+') ADVANCE(95); - if (lookahead == ',') ADVANCE(69); - if (lookahead == '-') ADVANCE(99); - if (lookahead == '.') ADVANCE(75); - if (lookahead == '/') ADVANCE(103); - if (lookahead == ':') ADVANCE(80); - if (lookahead == ';') ADVANCE(61); - if (lookahead == '<') ADVANCE(67); - if (lookahead == '=') ADVANCE(37); - if (lookahead == '>') ADVANCE(73); - if (lookahead == '?') ADVANCE(90); - if (lookahead == '@') ADVANCE(57); - if (lookahead == '[') ADVANCE(77); - if (lookahead == ']') ADVANCE(78); - if (lookahead == '^') ADVANCE(107); - if (lookahead == '{') ADVANCE(83); - if (lookahead == '|') ADVANCE(111); - if (lookahead == '}') ADVANCE(85); + ADVANCE_MAP( + '!', 92, + '#', 212, + '%', 105, + '&', 113, + '(', 81, + ')', 82, + '*', 101, + '+', 95, + ',', 69, + '-', 99, + '.', 75, + '/', 103, + ':', 80, + ';', 61, + '<', 67, + '=', 37, + '>', 73, + '?', 90, + '@', 57, + '[', 77, + ']', 78, + '^', 107, + '{', 83, + '|', 111, + '}', 85, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) SKIP(6) - if (sym__identifier_token_character_set_2(lookahead)) ADVANCE(176); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) SKIP(6); + if (set_contains(sym__identifier_token_character_set_2, 433, lookahead)) ADVANCE(176); END_STATE(); case 7: - if (lookahead == '!') ADVANCE(91); - if (lookahead == '"') ADVANCE(17); - if (lookahead == '#') ADVANCE(212); - if (lookahead == '(') ADVANCE(81); - if (lookahead == ')') ADVANCE(82); - if (lookahead == '*') ADVANCE(101); - if (lookahead == ',') ADVANCE(69); - if (lookahead == '-') ADVANCE(100); - if (lookahead == '.') ADVANCE(74); - if (lookahead == '/') ADVANCE(31); - if (lookahead == ':') ADVANCE(80); - if (lookahead == ';') ADVANCE(61); - if (lookahead == '<') ADVANCE(65); - if (lookahead == '=') ADVANCE(63); - if (lookahead == '>') ADVANCE(70); - if (lookahead == '?') ADVANCE(88); - if (lookahead == '@') ADVANCE(57); - if (lookahead == '[') ADVANCE(77); - if (lookahead == ']') ADVANCE(78); - if (lookahead == '{') ADVANCE(83); - if (lookahead == '}') ADVANCE(85); + ADVANCE_MAP( + '!', 91, + '"', 17, + '#', 212, + '(', 81, + ')', 82, + '*', 101, + ',', 69, + '-', 100, + '.', 74, + '/', 31, + ':', 80, + ';', 61, + '<', 65, + '=', 63, + '>', 70, + '?', 88, + '@', 57, + '[', 77, + ']', 78, + '{', 83, + '}', 85, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) SKIP(7) + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) SKIP(7); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(225); - if (sym__identifier_token_character_set_2(lookahead)) ADVANCE(176); + if (set_contains(sym__identifier_token_character_set_2, 433, lookahead)) ADVANCE(176); END_STATE(); case 8: if (lookahead == '"') ADVANCE(140); @@ -22668,9 +21260,9 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '{') ADVANCE(83); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) ADVANCE(157); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) ADVANCE(157); if (lookahead != 0) ADVANCE(163); END_STATE(); case 9: @@ -22680,7 +21272,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 10: if (lookahead == '"') ADVANCE(12); if (lookahead == '$') ADVANCE(13); - if (sym__identifier_token_character_set_2(lookahead)) ADVANCE(176); + if (set_contains(sym__identifier_token_character_set_2, 433, lookahead)) ADVANCE(176); END_STATE(); case 11: if (lookahead == '"') ADVANCE(143); @@ -22715,9 +21307,9 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '{') ADVANCE(84); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) SKIP(18) + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) SKIP(18); END_STATE(); case 19: if (lookahead == '"') ADVANCE(139); @@ -22726,9 +21318,9 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\\') ADVANCE(40); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) SKIP(19) + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) SKIP(19); END_STATE(); case 20: if (lookahead == '"') ADVANCE(24); @@ -22740,9 +21332,9 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '{') ADVANCE(84); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) ADVANCE(157); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) ADVANCE(157); if (lookahead != 0) ADVANCE(163); END_STATE(); case 22: @@ -22767,31 +21359,33 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead != 0) ADVANCE(26); END_STATE(); case 27: - if (lookahead == '#') ADVANCE(212); - if (lookahead == '(') ADVANCE(81); - if (lookahead == ')') ADVANCE(82); - if (lookahead == '*') ADVANCE(101); - if (lookahead == ',') ADVANCE(69); - if (lookahead == '-') ADVANCE(38); - if (lookahead == '.') ADVANCE(74); - if (lookahead == '/') ADVANCE(31); - if (lookahead == ':') ADVANCE(79); - if (lookahead == ';') ADVANCE(61); - if (lookahead == '<') ADVANCE(65); - if (lookahead == '=') ADVANCE(39); - if (lookahead == '>') ADVANCE(70); - if (lookahead == '?') ADVANCE(88); - if (lookahead == '@') ADVANCE(57); - if (lookahead == '[') ADVANCE(77); - if (lookahead == ']') ADVANCE(78); - if (lookahead == '{') ADVANCE(83); - if (lookahead == '}') ADVANCE(85); + ADVANCE_MAP( + '#', 212, + '(', 81, + ')', 82, + '*', 101, + ',', 69, + '-', 38, + '.', 74, + '/', 31, + ':', 79, + ';', 61, + '<', 65, + '=', 39, + '>', 70, + '?', 88, + '@', 57, + '[', 77, + ']', 78, + '{', 83, + '}', 85, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) SKIP(27) - if (sym__identifier_token_character_set_2(lookahead)) ADVANCE(176); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) SKIP(27); + if (set_contains(sym__identifier_token_character_set_2, 433, lookahead)) ADVANCE(176); END_STATE(); case 28: if (lookahead == '#') ADVANCE(180); @@ -22799,9 +21393,9 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\\') ADVANCE(40); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) ADVANCE(178); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) ADVANCE(178); if (lookahead != 0 && lookahead != '\'') ADVANCE(178); END_STATE(); @@ -22809,12 +21403,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '#') ADVANCE(213); if (lookahead == '/') ADVANCE(221); if (lookahead == '\n' || - lookahead == '\r') SKIP(29) + lookahead == '\r') SKIP(29); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) ADVANCE(220); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) ADVANCE(220); if (lookahead != 0) ADVANCE(224); END_STATE(); case 30: @@ -22822,11 +21416,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '/') ADVANCE(165); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) ADVANCE(164); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) ADVANCE(164); if (lookahead != 0 && lookahead != '"' && + lookahead != '#' && lookahead != '}') ADVANCE(170); END_STATE(); case 31: @@ -22943,85 +21538,89 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ('a' <= lookahead && lookahead <= 'f')) ADVANCE(55); END_STATE(); case 57: - if (sym__identifier_token_character_set_2(lookahead)) ADVANCE(176); + if (set_contains(sym__identifier_token_character_set_2, 433, lookahead)) ADVANCE(176); END_STATE(); case 58: if (eof) ADVANCE(60); - if (lookahead == '!') ADVANCE(92); - if (lookahead == '"') ADVANCE(142); - if (lookahead == '#') ADVANCE(212); - if (lookahead == '$') ADVANCE(9); - if (lookahead == '%') ADVANCE(105); - if (lookahead == '&') ADVANCE(113); - if (lookahead == '\'') ADVANCE(177); - if (lookahead == '(') ADVANCE(81); - if (lookahead == ')') ADVANCE(82); - if (lookahead == '*') ADVANCE(101); - if (lookahead == '+') ADVANCE(95); - if (lookahead == ',') ADVANCE(69); - if (lookahead == '-') ADVANCE(99); - if (lookahead == '.') ADVANCE(76); - if (lookahead == '/') ADVANCE(103); - if (lookahead == '0') ADVANCE(186); - if (lookahead == ':') ADVANCE(79); - if (lookahead == ';') ADVANCE(61); - if (lookahead == '<') ADVANCE(67); - if (lookahead == '=') ADVANCE(37); - if (lookahead == '>') ADVANCE(73); - if (lookahead == '?') ADVANCE(90); - if (lookahead == '@') ADVANCE(10); - if (lookahead == '[') ADVANCE(77); - if (lookahead == ']') ADVANCE(78); - if (lookahead == '^') ADVANCE(107); - if (lookahead == '{') ADVANCE(83); - if (lookahead == '|') ADVANCE(111); - if (lookahead == '}') ADVANCE(85); - if (lookahead == '~') ADVANCE(87); + ADVANCE_MAP( + '!', 92, + '"', 142, + '#', 212, + '$', 9, + '%', 105, + '&', 113, + '\'', 177, + '(', 81, + ')', 82, + '*', 101, + '+', 95, + ',', 69, + '-', 99, + '.', 76, + '/', 103, + '0', 186, + ':', 79, + ';', 61, + '<', 67, + '=', 37, + '>', 73, + '?', 90, + '@', 10, + '[', 77, + ']', 78, + '^', 107, + '{', 83, + '|', 111, + '}', 85, + '~', 87, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) SKIP(58) + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) SKIP(58); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(187); - if (sym__identifier_token_character_set_2(lookahead)) ADVANCE(176); + if (set_contains(sym__identifier_token_character_set_2, 433, lookahead)) ADVANCE(176); END_STATE(); case 59: if (eof) ADVANCE(60); - if (lookahead == '!') ADVANCE(91); - if (lookahead == '"') ADVANCE(142); - if (lookahead == '#') ADVANCE(212); - if (lookahead == '$') ADVANCE(9); - if (lookahead == '&') ADVANCE(112); - if (lookahead == '\'') ADVANCE(177); - if (lookahead == '(') ADVANCE(81); - if (lookahead == ')') ADVANCE(82); - if (lookahead == '*') ADVANCE(101); - if (lookahead == '+') ADVANCE(95); - if (lookahead == ',') ADVANCE(69); - if (lookahead == '-') ADVANCE(99); - if (lookahead == '.') ADVANCE(76); - if (lookahead == '/') ADVANCE(31); - if (lookahead == '0') ADVANCE(186); - if (lookahead == ':') ADVANCE(80); - if (lookahead == ';') ADVANCE(61); - if (lookahead == '<') ADVANCE(68); - if (lookahead == '=') ADVANCE(63); - if (lookahead == '>') ADVANCE(71); - if (lookahead == '?') ADVANCE(88); - if (lookahead == '@') ADVANCE(10); - if (lookahead == '[') ADVANCE(77); - if (lookahead == ']') ADVANCE(78); - if (lookahead == '^') ADVANCE(107); - if (lookahead == '{') ADVANCE(83); - if (lookahead == '}') ADVANCE(85); - if (lookahead == '~') ADVANCE(87); + ADVANCE_MAP( + '!', 91, + '"', 142, + '#', 212, + '$', 9, + '&', 112, + '\'', 177, + '(', 81, + ')', 82, + '*', 101, + '+', 95, + ',', 69, + '-', 99, + '.', 76, + '/', 31, + '0', 186, + ':', 80, + ';', 61, + '<', 68, + '=', 63, + '>', 71, + '?', 88, + '@', 10, + '[', 77, + ']', 78, + '^', 107, + '{', 83, + '}', 85, + '~', 87, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) SKIP(59) + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) SKIP(59); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(187); - if (sym__identifier_token_character_set_2(lookahead)) ADVANCE(176); + if (set_contains(sym__identifier_token_character_set_2, 433, lookahead)) ADVANCE(176); END_STATE(); case 60: ACCEPT_TOKEN(ts_builtin_sym_end); @@ -23355,14 +21954,15 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '#') ADVANCE(153); if (lookahead == '/') ADVANCE(150); if (lookahead == '\t' || - (11 <= lookahead && lookahead <= '\r') || + (0x0b <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) ADVANCE(149); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) ADVANCE(149); if (lookahead != 0 && - lookahead != '\n' && + (lookahead < '\t' || '\r' < lookahead) && lookahead != '"' && + lookahead != '#' && lookahead != '\\' && lookahead != '{') ADVANCE(154); END_STATE(); @@ -23400,6 +22000,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\t' || lookahead == ' ') ADVANCE(153); if (lookahead != 0 && + lookahead != '\t' && lookahead != '\n' && lookahead != '"' && lookahead != '\\' && @@ -23426,11 +22027,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '/') ADVANCE(158); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) ADVANCE(157); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) ADVANCE(157); if (lookahead != 0 && lookahead != '"' && + lookahead != '#' && lookahead != '{') ADVANCE(163); END_STATE(); case 158: @@ -23484,11 +22086,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '/') ADVANCE(165); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) ADVANCE(164); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) ADVANCE(164); if (lookahead != 0 && lookahead != '"' && + lookahead != '#' && lookahead != '}') ADVANCE(170); END_STATE(); case 165: @@ -23554,7 +22157,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 176: ACCEPT_TOKEN(sym__identifier_token); - if (sym__identifier_token_character_set_3(lookahead)) ADVANCE(176); + if (set_contains(sym__identifier_token_character_set_3, 492, lookahead)) ADVANCE(176); END_STATE(); case 177: ACCEPT_TOKEN(anon_sym_SQUOTE); @@ -23598,38 +22201,46 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 186: ACCEPT_TOKEN(sym_integer_literal); - if (lookahead == '.') ADVANCE(46); - if (lookahead == 'L') ADVANCE(191); - if (lookahead == 'U') ADVANCE(190); - if (lookahead == '_') ADVANCE(41); - if (lookahead == 'l') ADVANCE(191); - if (lookahead == 'u') ADVANCE(190); - if (lookahead == 'B' || - lookahead == 'b') ADVANCE(42); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(45); - if (lookahead == 'X' || - lookahead == 'x') ADVANCE(43); - if (('D' <= lookahead && lookahead <= 'F') || - lookahead == 'M' || - ('d' <= lookahead && lookahead <= 'f') || - lookahead == 'm') ADVANCE(192); + ADVANCE_MAP( + '.', 46, + 'L', 191, + 'U', 190, + '_', 41, + 'l', 191, + 'u', 190, + 'B', 42, + 'b', 42, + 'E', 45, + 'e', 45, + 'X', 43, + 'x', 43, + 'D', 192, + 'F', 192, + 'M', 192, + 'd', 192, + 'f', 192, + 'm', 192, + ); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(187); END_STATE(); case 187: ACCEPT_TOKEN(sym_integer_literal); - if (lookahead == '.') ADVANCE(46); - if (lookahead == 'L') ADVANCE(191); - if (lookahead == 'U') ADVANCE(190); - if (lookahead == '_') ADVANCE(41); - if (lookahead == 'l') ADVANCE(191); - if (lookahead == 'u') ADVANCE(190); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(45); - if (('D' <= lookahead && lookahead <= 'F') || - lookahead == 'M' || - ('d' <= lookahead && lookahead <= 'f') || - lookahead == 'm') ADVANCE(192); + ADVANCE_MAP( + '.', 46, + 'L', 191, + 'U', 190, + '_', 41, + 'l', 191, + 'u', 190, + 'E', 45, + 'e', 45, + 'D', 192, + 'F', 192, + 'M', 192, + 'd', 192, + 'f', 192, + 'm', 192, + ); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(187); END_STATE(); case 188: @@ -23668,13 +22279,17 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 193: ACCEPT_TOKEN(sym_real_literal); - if (lookahead == '_') ADVANCE(44); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(45); - if (('D' <= lookahead && lookahead <= 'F') || - lookahead == 'M' || - ('d' <= lookahead && lookahead <= 'f') || - lookahead == 'm') ADVANCE(192); + ADVANCE_MAP( + '_', 44, + 'E', 45, + 'e', 45, + 'D', 192, + 'F', 192, + 'M', 192, + 'd', 192, + 'f', 192, + 'm', 192, + ); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(193); END_STATE(); case 194: @@ -23701,14 +22316,15 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '#') ADVANCE(200); if (lookahead == '/') ADVANCE(197); if (lookahead == '\t' || - (11 <= lookahead && lookahead <= '\r') || + (0x0b <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) ADVANCE(196); + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) ADVANCE(196); if (lookahead != 0 && - lookahead != '\n' && + (lookahead < '\t' || '\r' < lookahead) && lookahead != '"' && + lookahead != '#' && lookahead != '\\') ADVANCE(201); END_STATE(); case 197: @@ -23742,6 +22358,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\t' || lookahead == ' ') ADVANCE(200); if (lookahead != 0 && + lookahead != '\t' && lookahead != '\n' && lookahead != '"' && lookahead != '\\') ADVANCE(201); @@ -23814,6 +22431,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\t' || lookahead == ' ') ADVANCE(213); if (lookahead != 0 && + lookahead != '\t' && lookahead != '\n' && lookahead != '\r') ADVANCE(224); END_STATE(); @@ -23822,22 +22440,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\t' || lookahead == ' ') ADVANCE(214); if (lookahead != 0 && + lookahead != '\t' && lookahead != '\n' && lookahead != '\r') ADVANCE(219); END_STATE(); case 215: ACCEPT_TOKEN(aux_sym_shebang_directive_token1); - if (lookahead == '#') ADVANCE(214); - if (lookahead == '/') ADVANCE(216); - if (lookahead == '\t' || - lookahead == 11 || - lookahead == '\f' || - lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) ADVANCE(215); + ADVANCE_MAP( + '#', 214, + '/', 216, + '\t', 215, + 0x0b, 215, + '\f', 215, + ' ', 215, + 0xa0, 215, + 0x3000, 215, + 0xfeff, 215, + ); if (lookahead != 0 && - (lookahead < '\n' || '\r' < lookahead)) ADVANCE(219); + (lookahead < '\t' || '\r' < lookahead)) ADVANCE(219); END_STATE(); case 216: ACCEPT_TOKEN(aux_sym_shebang_directive_token1); @@ -23870,17 +22491,19 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 220: ACCEPT_TOKEN(sym_preproc_message); - if (lookahead == '#') ADVANCE(213); - if (lookahead == '/') ADVANCE(221); - if (lookahead == '\t' || - lookahead == 11 || - lookahead == '\f' || - lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) ADVANCE(220); + ADVANCE_MAP( + '#', 213, + '/', 221, + '\t', 220, + 0x0b, 220, + '\f', 220, + ' ', 220, + 0xa0, 220, + 0x3000, 220, + 0xfeff, 220, + ); if (lookahead != 0 && - (lookahead < '\n' || '\r' < lookahead)) ADVANCE(224); + (lookahead < '\t' || '\r' < lookahead)) ADVANCE(224); END_STATE(); case 221: ACCEPT_TOKEN(sym_preproc_message); @@ -23928,39 +22551,41 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (lookahead == 'C') ADVANCE(1); - if (lookahead == 'F') ADVANCE(2); - if (lookahead == 'S') ADVANCE(3); - if (lookahead == 'T') ADVANCE(4); - if (lookahead == 'U') ADVANCE(5); - if (lookahead == '_') ADVANCE(6); - if (lookahead == 'a') ADVANCE(7); - if (lookahead == 'b') ADVANCE(8); - if (lookahead == 'c') ADVANCE(9); - if (lookahead == 'd') ADVANCE(10); - if (lookahead == 'e') ADVANCE(11); - if (lookahead == 'f') ADVANCE(12); - if (lookahead == 'g') ADVANCE(13); - if (lookahead == 'h') ADVANCE(14); - if (lookahead == 'i') ADVANCE(15); - if (lookahead == 'j') ADVANCE(16); - if (lookahead == 'l') ADVANCE(17); - if (lookahead == 'm') ADVANCE(18); - if (lookahead == 'n') ADVANCE(19); - if (lookahead == 'o') ADVANCE(20); - if (lookahead == 'p') ADVANCE(21); - if (lookahead == 'r') ADVANCE(22); - if (lookahead == 's') ADVANCE(23); - if (lookahead == 't') ADVANCE(24); - if (lookahead == 'u') ADVANCE(25); - if (lookahead == 'v') ADVANCE(26); - if (lookahead == 'w') ADVANCE(27); - if (lookahead == 'y') ADVANCE(28); + ADVANCE_MAP( + 'C', 1, + 'F', 2, + 'S', 3, + 'T', 4, + 'U', 5, + '_', 6, + 'a', 7, + 'b', 8, + 'c', 9, + 'd', 10, + 'e', 11, + 'f', 12, + 'g', 13, + 'h', 14, + 'i', 15, + 'j', 16, + 'l', 17, + 'm', 18, + 'n', 19, + 'o', 20, + 'p', 21, + 'r', 22, + 's', 23, + 't', 24, + 'u', 25, + 'v', 26, + 'w', 27, + 'y', 28, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) SKIP(29) + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) SKIP(29); END_STATE(); case 1: if (lookahead == 'd') ADVANCE(30); @@ -24108,38 +22733,40 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == 'i') ADVANCE(115); END_STATE(); case 29: - if (lookahead == 'C') ADVANCE(1); - if (lookahead == 'F') ADVANCE(2); - if (lookahead == 'S') ADVANCE(3); - if (lookahead == 'T') ADVANCE(4); - if (lookahead == '_') ADVANCE(6); - if (lookahead == 'a') ADVANCE(7); - if (lookahead == 'b') ADVANCE(8); - if (lookahead == 'c') ADVANCE(9); - if (lookahead == 'd') ADVANCE(10); - if (lookahead == 'e') ADVANCE(11); - if (lookahead == 'f') ADVANCE(12); - if (lookahead == 'g') ADVANCE(13); - if (lookahead == 'h') ADVANCE(14); - if (lookahead == 'i') ADVANCE(15); - if (lookahead == 'j') ADVANCE(16); - if (lookahead == 'l') ADVANCE(17); - if (lookahead == 'm') ADVANCE(18); - if (lookahead == 'n') ADVANCE(19); - if (lookahead == 'o') ADVANCE(20); - if (lookahead == 'p') ADVANCE(21); - if (lookahead == 'r') ADVANCE(22); - if (lookahead == 's') ADVANCE(23); - if (lookahead == 't') ADVANCE(24); - if (lookahead == 'u') ADVANCE(116); - if (lookahead == 'v') ADVANCE(26); - if (lookahead == 'w') ADVANCE(27); - if (lookahead == 'y') ADVANCE(28); + ADVANCE_MAP( + 'C', 1, + 'F', 2, + 'S', 3, + 'T', 4, + '_', 6, + 'a', 7, + 'b', 8, + 'c', 9, + 'd', 10, + 'e', 11, + 'f', 12, + 'g', 13, + 'h', 14, + 'i', 15, + 'j', 16, + 'l', 17, + 'm', 18, + 'n', 19, + 'o', 20, + 'p', 21, + 'r', 22, + 's', 23, + 't', 24, + 'u', 116, + 'v', 26, + 'w', 27, + 'y', 28, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == 160 || - lookahead == 12288 || - lookahead == 65279) SKIP(29) + lookahead == 0xa0 || + lookahead == 0x3000 || + lookahead == 0xfeff) SKIP(29); END_STATE(); case 30: if (lookahead == 'e') ADVANCE(117); @@ -24361,14 +22988,16 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == 'b') ADVANCE(198); END_STATE(); case 94: - if (lookahead == 'a') ADVANCE(199); - if (lookahead == 'c') ADVANCE(200); - if (lookahead == 'f') ADVANCE(201); - if (lookahead == 'g') ADVANCE(202); - if (lookahead == 'm') ADVANCE(203); - if (lookahead == 'q') ADVANCE(204); - if (lookahead == 's') ADVANCE(205); - if (lookahead == 't') ADVANCE(206); + ADVANCE_MAP( + 'a', 199, + 'c', 200, + 'f', 201, + 'g', 202, + 'm', 203, + 'q', 204, + 's', 205, + 't', 206, + ); END_STATE(); case 95: if (lookahead == 'y') ADVANCE(207); @@ -1302676,7 +1301305,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11039), - [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compilation_unit, 0), + [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compilation_unit, 0, 0, 0), [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4095), [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7501), [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4090), @@ -1302742,74 +1301371,74 @@ static const TSParseActionEntry ts_parse_actions[] = { [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13775), [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6681), [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6681), - [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compilation_unit, 1), - [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compilation_unit, 2), + [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compilation_unit, 1, 0, 0), + [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compilation_unit, 2, 0, 0), [143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4425), [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4587), - [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compilation_unit, 3), + [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compilation_unit, 3, 0, 0), [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(689), [151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11064), - [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compilation_unit, 4), - [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), - [157] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(4095), - [160] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(8928), - [163] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(4090), - [166] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(3881), - [169] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(4425), - [172] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(4587), - [175] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(4591), - [178] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(687), - [181] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(1996), - [184] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(717), - [187] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(4567), - [190] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(4050), - [193] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(8911), - [196] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(4766), - [199] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(8349), - [202] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(973), - [205] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(4814), - [208] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(4052), - [211] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(6721), - [214] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(22), - [217] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(13420), - [220] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(2501), - [223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), - [225] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(6719), - [228] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(2501), - [231] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(2541), - [234] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(12984), - [237] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(4232), - [240] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(11384), - [243] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(15698), - [246] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(15696), - [249] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(122), - [252] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(15695), - [255] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(15693), - [258] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(444), - [261] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(15692), - [264] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(969), - [267] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(6704), - [270] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(15690), - [273] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(15689), - [276] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(13832), - [279] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(371), - [282] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(1537), - [285] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(13827), - [288] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(4441), - [291] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(9200), - [294] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(12629), - [297] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(13300), - [300] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(12561), - [303] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(12554), - [306] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(15680), - [309] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(3933), - [312] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(15679), - [315] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(15678), - [318] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(15677), - [321] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(15676), - [324] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(13775), - [327] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(6681), - [330] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2), SHIFT_REPEAT(6681), + [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compilation_unit, 4, 0, 0), + [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), + [157] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(4095), + [160] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(8928), + [163] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(4090), + [166] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(3881), + [169] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(4425), + [172] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(4587), + [175] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(4591), + [178] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(687), + [181] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(1996), + [184] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(717), + [187] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(4567), + [190] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(4050), + [193] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(8911), + [196] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(4766), + [199] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(8349), + [202] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(973), + [205] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(4814), + [208] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(4052), + [211] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(6721), + [214] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(22), + [217] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(13420), + [220] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(2501), + [223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), + [225] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(6719), + [228] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(2501), + [231] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(2541), + [234] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(12984), + [237] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(4232), + [240] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(11384), + [243] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(15698), + [246] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(15696), + [249] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(122), + [252] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(15695), + [255] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(15693), + [258] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(444), + [261] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(15692), + [264] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(969), + [267] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(6704), + [270] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(15690), + [273] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(15689), + [276] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(13832), + [279] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(371), + [282] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(1537), + [285] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(13827), + [288] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(4441), + [291] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(9200), + [294] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(12629), + [297] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(13300), + [300] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(12561), + [303] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(12554), + [306] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(15680), + [309] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(3933), + [312] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(15679), + [315] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(15678), + [318] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(15677), + [321] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(15676), + [324] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(13775), + [327] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(6681), + [330] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 2, 0, 0), SHIFT_REPEAT(6681), [333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8928), [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4005), [337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4582), @@ -1302859,8 +1301488,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8526), [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14664), [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5643), - [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_section, 2), - [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_section, 2), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_section, 2, 0, 0), + [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_section, 2, 0, 0), [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14339), [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8915), [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10900), @@ -1302876,66 +1301505,66 @@ static const TSParseActionEntry ts_parse_actions[] = { [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5008), [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13873), [463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5308), - [465] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4095), - [468] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(8928), - [471] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4090), - [474] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4005), - [477] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4425), - [480] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4582), - [483] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4591), - [486] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(687), - [489] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1139), - [492] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(717), - [495] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4567), - [498] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4050), - [501] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(8846), - [504] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4766), - [507] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(8498), - [510] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(973), - [513] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4814), - [516] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4052), - [519] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(6721), - [522] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(14), - [525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), - [527] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(13488), - [530] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(2501), - [533] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(6719), - [536] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(2501), - [539] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(2541), - [542] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(12984), - [545] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4232), - [548] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(11384), - [551] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(14366), - [554] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(14337), - [557] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(121), - [560] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(14916), - [563] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(15650), - [566] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(442), - [569] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(15708), - [572] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1037), - [575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), - [577] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(6704), - [580] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(14917), - [583] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(14918), - [586] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(13782), - [589] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(371), - [592] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1773), - [595] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(13837), - [598] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4362), - [601] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(9200), - [604] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(12629), - [607] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(13300), - [610] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(12561), - [613] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(12554), - [616] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(15680), - [619] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(3933), - [622] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(15679), - [625] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(15678), - [628] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(15677), - [631] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(15676), - [634] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(13775), - [637] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(6681), - [640] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(6681), + [465] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4095), + [468] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(8928), + [471] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4090), + [474] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4005), + [477] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4425), + [480] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4582), + [483] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4591), + [486] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(687), + [489] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1139), + [492] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(717), + [495] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4567), + [498] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4050), + [501] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(8846), + [504] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4766), + [507] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(8498), + [510] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(973), + [513] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4814), + [516] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4052), + [519] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(6721), + [522] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(14), + [525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), + [527] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(13488), + [530] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(2501), + [533] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(6719), + [536] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(2501), + [539] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(2541), + [542] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(12984), + [545] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4232), + [548] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(11384), + [551] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(14366), + [554] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(14337), + [557] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(121), + [560] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(14916), + [563] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(15650), + [566] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(442), + [569] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(15708), + [572] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1037), + [575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), + [577] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(6704), + [580] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(14917), + [583] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(14918), + [586] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(13782), + [589] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(371), + [592] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1773), + [595] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(13837), + [598] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4362), + [601] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(9200), + [604] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(12629), + [607] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(13300), + [610] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(12561), + [613] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(12554), + [616] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(15680), + [619] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(3933), + [622] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(15679), + [625] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(15678), + [628] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(15677), + [631] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(15676), + [634] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(13775), + [637] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(6681), + [640] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(6681), [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5664), [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8460), [647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8463), @@ -1302973,10 +1301602,10 @@ static const TSParseActionEntry ts_parse_actions[] = { [711] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15651), [713] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15652), [715] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8911), - [717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 1), + [717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 1, 0, 0), [719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4164), [721] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7340), - [723] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 1), + [723] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 1, 0, 0), [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(684), [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(723), [729] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7341), @@ -1303009,8 +1301638,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13784), [785] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5088), [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5088), - [789] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 2), - [791] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 2), + [789] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 2, 0, 0), + [791] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 2, 0, 0), [793] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7109), [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(685), [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(762), @@ -1303874,7 +1302503,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [2513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), [2515] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3187), [2517] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7244), - [2519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice_pattern, 1), + [2519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice_pattern, 1, 0, 0), [2521] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7243), [2523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2660), [2525] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2661), @@ -1303972,8 +1302601,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [2709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14309), [2711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8969), [2713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4706), - [2715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_expression, 4, .production_id = 21), - [2717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_expression, 4, .production_id = 21), + [2715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_expression, 4, 0, 21), + [2717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_expression, 4, 0, 21), [2719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14033), [2721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6362), [2723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14266), @@ -1303993,9 +1302622,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [2751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15612), [2753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8707), [2755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3990), - [2757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_expression, 1), + [2757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_expression, 1, 0, 0), [2759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(752), - [2761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_expression, 1), + [2761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_expression, 1, 0, 0), [2763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15173), [2765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5372), [2767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3902), @@ -1304503,7 +1303132,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [3771] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9029), [3773] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9054), [3775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1636), - [3777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_rank_specifier_repeat1, 1), + [3777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_rank_specifier_repeat1, 1, 0, 0), [3779] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9041), [3781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6513), [3783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4793), @@ -1304573,41 +1303202,41 @@ static const TSParseActionEntry ts_parse_actions[] = { [3911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5102), [3913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5124), [3915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3938), - [3917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), - [3919] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), - [3921] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_expression, 2), - [3923] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_block, 2), REDUCE(sym_initializer_expression, 2), - [3926] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_block, 2), REDUCE(sym_initializer_expression, 2), - [3929] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_expression, 2), - [3931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 3, .production_id = 5), - [3933] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 3, .production_id = 5), + [3917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), + [3919] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), + [3921] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_expression, 2, 0, 0), + [3923] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), REDUCE(sym_initializer_expression, 2, 0, 0), + [3926] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), REDUCE(sym_initializer_expression, 2, 0, 0), + [3929] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_expression, 2, 0, 0), + [3931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 3, 0, 5), + [3933] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 3, 0, 5), [3935] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12944), [3937] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13851), - [3939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 2, .production_id = 5), - [3941] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 2, .production_id = 5), - [3943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_try_statement_repeat1, 2), - [3945] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), - [3947] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), SHIFT_REPEAT(12944), - [3950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_try_statement_repeat1, 1), - [3952] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 1), - [3954] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 3, .production_id = 69), - [3956] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_clause, 3, .production_id = 69), - [3958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 4, .production_id = 100), - [3960] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_clause, 4, .production_id = 100), - [3962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 2, .production_id = 5), - [3964] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_clause, 2, .production_id = 5), - [3966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), - [3968] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3), - [3970] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat1, 2), - [3972] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat1, 2), - [3974] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat1, 2), SHIFT_REPEAT(15117), - [3977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat2, 2), - [3979] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat2, 2), - [3981] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat2, 2), SHIFT_REPEAT(15115), - [3984] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat2, 2), SHIFT_REPEAT(11003), - [3987] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat3, 2), - [3989] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat3, 2), - [3991] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat3, 2), SHIFT_REPEAT(13788), + [3939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 2, 0, 5), + [3941] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 2, 0, 5), + [3943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_try_statement_repeat1, 2, 0, 0), + [3945] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2, 0, 0), + [3947] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(12944), + [3950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_try_statement_repeat1, 1, 0, 0), + [3952] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 1, 0, 0), + [3954] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 3, 0, 69), + [3956] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_clause, 3, 0, 69), + [3958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 4, 0, 100), + [3960] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_clause, 4, 0, 100), + [3962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 2, 0, 5), + [3964] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_clause, 2, 0, 5), + [3966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), + [3968] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), + [3970] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat1, 2, 0, 0), + [3972] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat1, 2, 0, 0), + [3974] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(15117), + [3977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat2, 2, 0, 0), + [3979] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat2, 2, 0, 0), + [3981] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat2, 2, 0, 0), SHIFT_REPEAT(15115), + [3984] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat2, 2, 0, 0), SHIFT_REPEAT(11003), + [3987] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat3, 2, 0, 0), + [3989] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat3, 2, 0, 0), + [3991] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat3, 2, 0, 0), SHIFT_REPEAT(13788), [3994] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8802), [3996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6174), [3998] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8829), @@ -1304631,260 +1303260,260 @@ static const TSParseActionEntry ts_parse_actions[] = { [4034] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11120), [4036] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8880), [4038] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9436), - [4040] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 5, .production_id = 74), - [4042] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 5, .production_id = 74), - [4044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 8, .production_id = 200), - [4046] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 8, .production_id = 200), - [4048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_statement, 3), - [4050] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_statement, 3), - [4052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, .production_id = 222), - [4054] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, .production_id = 222), - [4056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, .production_id = 223), - [4058] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, .production_id = 223), - [4060] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, .production_id = 224), - [4062] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, .production_id = 224), - [4064] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, .production_id = 225), - [4066] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, .production_id = 225), - [4068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, .production_id = 226), - [4070] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, .production_id = 226), - [4072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 3), - [4074] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_body, 3), - [4076] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_labeled_statement, 3), - [4078] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_labeled_statement, 3), - [4080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_each_statement, 9, .production_id = 227), - [4082] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_each_statement, 9, .production_id = 227), - [4084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 2), - [4086] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 2), - [4088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2), - [4090] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2), - [4092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_empty_statement, 1), - [4094] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_empty_statement, 1), - [4096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 5, .production_id = 79), - [4098] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 5, .production_id = 79), + [4040] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 5, 0, 74), + [4042] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 5, 0, 74), + [4044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 8, 0, 200), + [4046] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 8, 0, 200), + [4048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_statement, 3, 0, 0), + [4050] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_statement, 3, 0, 0), + [4052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, 0, 222), + [4054] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, 0, 222), + [4056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, 0, 223), + [4058] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, 0, 223), + [4060] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, 0, 224), + [4062] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, 0, 224), + [4064] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, 0, 225), + [4066] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, 0, 225), + [4068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, 0, 226), + [4070] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, 0, 226), + [4072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 3, 0, 0), + [4074] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_body, 3, 0, 0), + [4076] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_labeled_statement, 3, 0, 0), + [4078] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_labeled_statement, 3, 0, 0), + [4080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_each_statement, 9, 0, 227), + [4082] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_each_statement, 9, 0, 227), + [4084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 2, 0, 0), + [4086] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 2, 0, 0), + [4088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0), + [4090] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0), + [4092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_empty_statement, 1, 0, 0), + [4094] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_empty_statement, 1, 0, 0), + [4096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 5, 0, 79), + [4098] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 5, 0, 79), [4100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12933), [4102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13791), - [4104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 7, .production_id = 155), - [4106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 7, .production_id = 155), - [4108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 10, .production_id = 260), - [4110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 10, .production_id = 260), - [4112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 10, .production_id = 261), - [4114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 10, .production_id = 261), - [4116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_each_statement, 8, .production_id = 182), - [4118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_each_statement, 8, .production_id = 182), - [4120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_each_statement, 8, .production_id = 181), - [4122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_each_statement, 8, .production_id = 181), - [4124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 180), - [4126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 180), - [4128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 179), - [4130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 179), - [4132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, .production_id = 66), - [4134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, .production_id = 66), - [4136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 178), - [4138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 178), - [4140] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(8802), - [4143] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(6174), - [4146] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(8829), - [4149] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(11009), - [4152] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(11001), - [4155] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(6468), - [4158] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(9438), - [4161] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(8112), - [4164] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(8286), - [4167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(4908), - [4170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(8774), - [4173] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(7962), - [4176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 2), - [4178] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(10990), - [4181] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(12249), - [4184] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(12247), - [4187] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(12248), - [4190] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(12252), - [4193] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(12255), - [4196] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(8111), - [4199] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(12148), - [4202] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(11120), - [4205] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(8880), - [4208] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2), SHIFT_REPEAT(9436), - [4211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 177), - [4213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 177), - [4215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 176), - [4217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 176), - [4219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2), - [4221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2), - [4223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 11, .production_id = 277), - [4225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 11, .production_id = 277), - [4227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield_statement, 3), - [4229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield_statement, 3), - [4231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_checked_statement, 2), - [4233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_checked_statement, 2), - [4235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 3), - [4237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 3), - [4239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 3, .production_id = 24), - [4241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 3, .production_id = 24), - [4243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_declaration_statement, 5), - [4245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_declaration_statement, 5), - [4247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 7, .production_id = 154), - [4249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 7, .production_id = 154), - [4251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_declaration_statement, 3), - [4253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_declaration_statement, 3), - [4255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_statement, 2), - [4257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_statement, 2), - [4259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_statement, 5, .production_id = 53), - [4261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_statement, 5, .production_id = 53), - [4263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 7, .production_id = 150), - [4265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 7, .production_id = 150), - [4267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6, .production_id = 99), - [4269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6, .production_id = 99), - [4271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_statement, 6, .production_id = 99), - [4273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_statement, 6, .production_id = 99), - [4275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1), - [4277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1), - [4279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unsafe_statement, 2), - [4281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unsafe_statement, 2), + [4104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 7, 0, 155), + [4106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 7, 0, 155), + [4108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 10, 0, 260), + [4110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 10, 0, 260), + [4112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 10, 0, 261), + [4114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 10, 0, 261), + [4116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_each_statement, 8, 0, 182), + [4118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_each_statement, 8, 0, 182), + [4120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_each_statement, 8, 0, 181), + [4122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_each_statement, 8, 0, 181), + [4124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, 0, 180), + [4126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, 0, 180), + [4128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, 0, 179), + [4130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, 0, 179), + [4132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, 0, 66), + [4134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, 0, 66), + [4136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, 0, 178), + [4138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, 0, 178), + [4140] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8802), + [4143] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(6174), + [4146] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8829), + [4149] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(11009), + [4152] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(11001), + [4155] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(6468), + [4158] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(9438), + [4161] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8112), + [4164] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8286), + [4167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(4908), + [4170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8774), + [4173] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7962), + [4176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), + [4178] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(10990), + [4181] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(12249), + [4184] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(12247), + [4187] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(12248), + [4190] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(12252), + [4193] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(12255), + [4196] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8111), + [4199] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(12148), + [4202] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(11120), + [4205] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8880), + [4208] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(9436), + [4211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, 0, 177), + [4213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, 0, 177), + [4215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, 0, 176), + [4217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, 0, 176), + [4219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2, 0, 0), + [4221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2, 0, 0), + [4223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 11, 0, 277), + [4225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 11, 0, 277), + [4227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield_statement, 3, 0, 0), + [4229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield_statement, 3, 0, 0), + [4231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_checked_statement, 2, 0, 0), + [4233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_checked_statement, 2, 0, 0), + [4235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 3, 0, 0), + [4237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 3, 0, 0), + [4239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 3, 0, 24), + [4241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 3, 0, 24), + [4243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_declaration_statement, 5, 0, 0), + [4245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_declaration_statement, 5, 0, 0), + [4247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 7, 0, 154), + [4249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 7, 0, 154), + [4251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_declaration_statement, 3, 0, 0), + [4253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_declaration_statement, 3, 0, 0), + [4255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_statement, 2, 0, 0), + [4257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_statement, 2, 0, 0), + [4259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_statement, 5, 0, 53), + [4261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_statement, 5, 0, 53), + [4263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 7, 0, 150), + [4265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 7, 0, 150), + [4267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6, 0, 99), + [4269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6, 0, 99), + [4271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_statement, 6, 0, 99), + [4273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_statement, 6, 0, 99), + [4275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1, 0, 0), + [4277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1, 0, 0), + [4279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unsafe_statement, 2, 0, 0), + [4281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unsafe_statement, 2, 0, 0), [4283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14584), - [4285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 67), - [4287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 67), + [4285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 67), + [4287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 67), [4289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [4291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lock_statement, 5), - [4293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lock_statement, 5), - [4295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, .production_id = 139), - [4297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, .production_id = 139), - [4299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 5, .production_id = 68), - [4301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 5, .production_id = 68), - [4303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_each_statement, 7, .production_id = 138), - [4305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_each_statement, 7, .production_id = 138), - [4307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_declaration_statement, 4), - [4309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_declaration_statement, 4), - [4311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 6, .production_id = 102), - [4313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 6, .production_id = 102), - [4315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 2, .production_id = 45), - [4317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 2, .production_id = 45), - [4319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 4, .production_id = 46), - [4321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 4, .production_id = 46), - [4323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 1, .production_id = 45), - [4325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 1, .production_id = 45), - [4327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 1), - [4329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 1), - [4331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 5, .production_id = 73), - [4333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 5, .production_id = 73), - [4335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_declaration_statement, 2), - [4337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_declaration_statement, 2), - [4339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 137), - [4341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 137), - [4343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 10, .production_id = 259), - [4345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 10, .production_id = 259), - [4347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 136), - [4349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 136), - [4351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 6, .production_id = 109), - [4353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 6, .production_id = 109), - [4355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 6, .production_id = 110), - [4357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 6, .production_id = 110), - [4359] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(8802), - [4362] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(8829), - [4365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__contextual_keywords, 1), - [4367] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(8668), - [4370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), - [4372] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_keywords, 1), SHIFT(8286), + [4291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lock_statement, 5, 0, 0), + [4293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lock_statement, 5, 0, 0), + [4295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, 0, 139), + [4297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, 0, 139), + [4299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 5, 0, 68), + [4301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 5, 0, 68), + [4303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_each_statement, 7, 0, 138), + [4305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_each_statement, 7, 0, 138), + [4307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_declaration_statement, 4, 0, 0), + [4309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_declaration_statement, 4, 0, 0), + [4311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 6, 0, 102), + [4313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 6, 0, 102), + [4315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 2, 0, 45), + [4317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 2, 0, 45), + [4319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 4, 0, 46), + [4321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 4, 0, 46), + [4323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 1, 0, 45), + [4325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 1, 0, 45), + [4327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 1, 0, 0), + [4329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 1, 0, 0), + [4331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 5, 0, 73), + [4333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 5, 0, 73), + [4335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_declaration_statement, 2, 0, 0), + [4337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_declaration_statement, 2, 0, 0), + [4339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, 0, 137), + [4341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, 0, 137), + [4343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 10, 0, 259), + [4345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 10, 0, 259), + [4347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, 0, 136), + [4349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, 0, 136), + [4351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 6, 0, 109), + [4353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 6, 0, 109), + [4355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 6, 0, 110), + [4357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 6, 0, 110), + [4359] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(8802), + [4362] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(8829), + [4365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__contextual_keywords, 1, 0, 0), + [4367] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(8668), + [4370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), + [4372] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(8286), [4375] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8957), - [4377] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(7962), + [4377] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(7962), [4380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15596), - [4382] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(8880), - [4385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fixed_statement, 5), - [4387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fixed_statement, 5), - [4389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield_statement, 4), - [4391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield_statement, 4), - [4393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 4, .production_id = 5), - [4395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 4, .production_id = 5), - [4397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_finally_clause, 2), - [4399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_finally_clause, 2), - [4401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2), - [4403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2), - [4405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 6, .production_id = 111), - [4407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 6, .production_id = 111), - [4409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 2), - [4411] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_body, 2), - [4413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3), - [4415] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3), - [4417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 4), - [4419] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 4), - [4421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 135), - [4423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 135), - [4425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 7, .production_id = 134), - [4427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 7, .production_id = 134), - [4429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2), - [4431] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2), - [4433] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), SHIFT_REPEAT(12933), - [4436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 1), - [4438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 1), - [4440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_attribute_list, 4), - [4442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_attribute_list, 4), - [4444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat3, 1), - [4446] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat3, 1), - [4448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_statement, 1), - [4450] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_statement, 1), - [4452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_attribute_list, 6), - [4454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_attribute_list, 6), - [4456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_directive, 4, .production_id = 33), - [4458] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_directive, 4, .production_id = 33), - [4460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_attribute_list, 5), - [4462] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_attribute_list, 5), - [4464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_directive, 4, .production_id = 34), - [4466] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_directive, 4, .production_id = 34), - [4468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat1, 1), - [4470] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat1, 1), - [4472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat2, 1), - [4474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat2, 1), - [4476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_directive, 5, .production_id = 51), - [4478] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_directive, 5, .production_id = 51), - [4480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_directive, 5, .production_id = 52), - [4482] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_directive, 5, .production_id = 52), - [4484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_directive, 3, .production_id = 12), - [4486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_directive, 3, .production_id = 12), - [4488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extern_alias_directive, 4, .production_id = 33), - [4490] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_extern_alias_directive, 4, .production_id = 33), + [4382] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(8880), + [4385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fixed_statement, 5, 0, 0), + [4387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fixed_statement, 5, 0, 0), + [4389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield_statement, 4, 0, 0), + [4391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield_statement, 4, 0, 0), + [4393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 4, 0, 5), + [4395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 4, 0, 5), + [4397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_finally_clause, 2, 0, 0), + [4399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_finally_clause, 2, 0, 0), + [4401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), + [4403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0), + [4405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_function_statement, 6, 0, 111), + [4407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_function_statement, 6, 0, 111), + [4409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 2, 0, 0), + [4411] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_body, 2, 0, 0), + [4413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0), + [4415] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0), + [4417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 4, 0, 0), + [4419] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 4, 0, 0), + [4421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, 0, 135), + [4423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, 0, 135), + [4425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 7, 0, 134), + [4427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 7, 0, 134), + [4429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), + [4431] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), + [4433] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(12933), + [4436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat4, 1, 0, 0), + [4438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat4, 1, 0, 0), + [4440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_attribute_list, 4, 0, 0), + [4442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_attribute_list, 4, 0, 0), + [4444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat3, 1, 0, 0), + [4446] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat3, 1, 0, 0), + [4448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_statement, 1, 0, 0), + [4450] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_statement, 1, 0, 0), + [4452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_attribute_list, 6, 0, 0), + [4454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_attribute_list, 6, 0, 0), + [4456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_directive, 4, 0, 33), + [4458] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_directive, 4, 0, 33), + [4460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_attribute_list, 5, 0, 0), + [4462] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_attribute_list, 5, 0, 0), + [4464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_directive, 4, 0, 34), + [4466] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_directive, 4, 0, 34), + [4468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat1, 1, 0, 0), + [4470] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat1, 1, 0, 0), + [4472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat2, 1, 0, 0), + [4474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compilation_unit_repeat2, 1, 0, 0), + [4476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_directive, 5, 0, 51), + [4478] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_directive, 5, 0, 51), + [4480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_directive, 5, 0, 52), + [4482] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_directive, 5, 0, 52), + [4484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_directive, 3, 0, 12), + [4486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_directive, 3, 0, 12), + [4488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extern_alias_directive, 4, 0, 33), + [4490] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_extern_alias_directive, 4, 0, 33), [4492] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8916), [4494] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9050), - [4496] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(9977), + [4496] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(9977), [4499] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9474), [4501] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8876), - [4503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_switch_section_repeat1, 2), - [4505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_section_repeat1, 2), - [4507] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_section_repeat1, 2), SHIFT_REPEAT(655), - [4510] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_section_repeat1, 2), SHIFT_REPEAT(14863), + [4503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_switch_section_repeat1, 2, 0, 0), + [4505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_section_repeat1, 2, 0, 0), + [4507] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_section_repeat1, 2, 0, 0), SHIFT_REPEAT(655), + [4510] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_section_repeat1, 2, 0, 0), SHIFT_REPEAT(14863), [4513] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), - [4515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 1), - [4517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 1), - [4519] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_switch_label, 3), - [4521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_switch_label, 3), - [4523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_pattern_switch_label, 3), - [4525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_pattern_switch_label, 3), - [4527] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_pattern_switch_label, 4), - [4529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_pattern_switch_label, 4), - [4531] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_modifier, 1), REDUCE(sym__contextual_keywords, 1), - [4534] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_modifier, 1), - [4536] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_modifier, 1), REDUCE(sym__contextual_keywords, 1), - [4539] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_switch_section_repeat1, 1), - [4541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_section_repeat1, 1), - [4543] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_switch_label, 2), - [4545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_switch_label, 2), + [4515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 1, 0, 0), + [4517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 1, 0, 0), + [4519] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_switch_label, 3, 0, 0), + [4521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_switch_label, 3, 0, 0), + [4523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_pattern_switch_label, 3, 0, 0), + [4525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_pattern_switch_label, 3, 0, 0), + [4527] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_pattern_switch_label, 4, 0, 0), + [4529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_pattern_switch_label, 4, 0, 0), + [4531] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_modifier, 1, 0, 0), REDUCE(sym__contextual_keywords, 1, 0, 0), + [4534] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_modifier, 1, 0, 0), + [4536] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_modifier, 1, 0, 0), REDUCE(sym__contextual_keywords, 1, 0, 0), + [4539] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_switch_section_repeat1, 1, 0, 0), + [4541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_section_repeat1, 1, 0, 0), + [4543] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_switch_label, 2, 0, 0), + [4545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_switch_label, 2, 0, 0), [4547] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8668), - [4549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_this_expression, 1), - [4551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_this_expression, 1), - [4553] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_this_expression, 1), SHIFT(8286), + [4549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_this_expression, 1, 0, 0), + [4551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_this_expression, 1, 0, 0), + [4553] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_this_expression, 1, 0, 0), SHIFT(8286), [4556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6397), - [4558] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(4095), - [4561] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(4090), - [4564] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(4164), + [4558] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(4095), + [4561] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(4090), + [4564] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(4164), [4567] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8852), - [4569] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(4619), - [4572] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(4632), - [4575] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(4646), + [4569] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(4619), + [4572] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(4632), + [4575] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(4646), [4578] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8979), [4580] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4906), [4582] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4902), [4584] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4909), [4586] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8905), - [4588] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(4902), + [4588] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(4902), [4591] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8951), [4593] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9002), [4595] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4948), @@ -1304894,67 +1303523,67 @@ static const TSParseActionEntry ts_parse_actions[] = { [4603] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8912), [4605] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4962), [4607] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4963), - [4609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_is_expression, 3, .production_id = 27), - [4611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_is_expression, 3, .production_id = 27), + [4609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_is_expression, 3, 0, 27), + [4611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_is_expression, 3, 0, 27), [4613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), - [4615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_pattern, 1, .production_id = 3), + [4615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_pattern, 1, 0, 3), [4617] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4968), [4619] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4649), [4621] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4648), [4623] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4624), [4625] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8922), - [4627] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(4648), - [4630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_pattern, 1, .production_id = 3), + [4627] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(4648), + [4630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_pattern, 1, 0, 3), [4632] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4960), [4634] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4957), [4636] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8937), [4638] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8985), - [4640] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(9617), + [4640] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(9617), [4643] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8938), - [4645] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(4403), + [4645] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(4403), [4648] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9001), - [4650] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_implicit_type, 1, .dynamic_precedence = 1), REDUCE(sym__contextual_keywords, 1), - [4653] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_implicit_type, 1, .dynamic_precedence = 1), REDUCE(sym__contextual_keywords, 1), + [4650] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_implicit_type, 1, 1, 0), REDUCE(sym__contextual_keywords, 1, 0, 0), + [4653] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_implicit_type, 1, 1, 0), REDUCE(sym__contextual_keywords, 1, 0, 0), [4656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11321), [4658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8904), - [4660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 1), - [4662] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 1), + [4660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 1, 0, 0), + [4662] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 1, 0, 0), [4664] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8866), - [4666] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(4950), + [4666] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(4950), [4669] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8298), [4671] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8302), [4673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11209), [4675] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8559), - [4677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 2, .production_id = 3), - [4679] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 2, .production_id = 3), + [4677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 2, 0, 3), + [4679] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 2, 0, 3), [4681] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8870), [4683] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8198), [4685] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8201), [4687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11208), [4689] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8750), - [4691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 2), - [4693] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 2), - [4695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), - [4697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), - [4699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 3, .production_id = 3), - [4701] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 3, .production_id = 3), + [4691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 2, 0, 0), + [4693] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 2, 0, 0), + [4695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1, 0, 0), + [4697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1, 0, 0), + [4699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 3, 0, 3), + [4701] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 3, 0, 3), [4703] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8950), [4705] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5700), [4707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8908), - [4709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 2, .dynamic_precedence = 19), - [4711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 2, .dynamic_precedence = 19), - [4713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_name, 1), - [4715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_name, 1), + [4709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 2, 19, 0), + [4711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 2, 19, 0), + [4713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), + [4715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), [4717] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8338), - [4719] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_name, 2, .production_id = 9), - [4721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_name, 2, .production_id = 9), + [4719] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_name, 2, 0, 9), + [4721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_name, 2, 0, 9), [4723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12091), - [4725] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1), SHIFT(7717), - [4728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_parameter, 1, .production_id = 1), - [4730] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 4, .dynamic_precedence = 19), - [4732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 4, .dynamic_precedence = 19), - [4734] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 3, .dynamic_precedence = 19), - [4736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 3, .dynamic_precedence = 19), + [4725] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(7717), + [4728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_parameter, 1, 0, 1), + [4730] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 4, 19, 0), + [4732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 4, 19, 0), + [4734] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list, 3, 19, 0), + [4736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list, 3, 19, 0), [4738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12039), [4740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6006), [4742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6206), @@ -1304969,101 +1303598,101 @@ static const TSParseActionEntry ts_parse_actions[] = { [4760] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8068), [4762] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12149), [4764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12078), - [4766] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_global, 1), REDUCE(sym__contextual_keywords, 1), - [4769] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_global, 1), REDUCE(sym__contextual_keywords, 1), - [4772] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_pointer_type, 6), - [4774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_type, 6), - [4776] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type, 1), REDUCE(sym__ref_base_type, 1), - [4779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ref_base_type, 1), - [4781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__ref_base_type, 1), + [4766] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_global, 1, 0, 0), REDUCE(sym__contextual_keywords, 1, 0, 0), + [4769] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_global, 1, 0, 0), REDUCE(sym__contextual_keywords, 1, 0, 0), + [4772] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_pointer_type, 6, 0, 0), + [4774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_type, 6, 0, 0), + [4776] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type, 1, 0, 0), REDUCE(sym__ref_base_type, 1, 0, 0), + [4779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ref_base_type, 1, 0, 0), + [4781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__ref_base_type, 1, 0, 0), [4783] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12100), - [4785] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__array_base_type, 1), REDUCE(sym__ref_base_type, 1), - [4788] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type, 1), REDUCE(sym__ref_base_type, 1), - [4791] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__nullable_base_type, 1), REDUCE(sym__ref_base_type, 1), - [4794] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__pointer_base_type, 1), REDUCE(sym__ref_base_type, 1), + [4785] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__array_base_type, 1, 0, 0), REDUCE(sym__ref_base_type, 1, 0, 0), + [4788] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type, 1, 0, 0), REDUCE(sym__ref_base_type, 1, 0, 0), + [4791] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__nullable_base_type, 1, 0, 0), REDUCE(sym__ref_base_type, 1, 0, 0), + [4794] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__pointer_base_type, 1, 0, 0), REDUCE(sym__ref_base_type, 1, 0, 0), [4797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12100), - [4799] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_name, 3, .production_id = 25), - [4801] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_qualified_name, 3, .production_id = 25), REDUCE(sym_member_access_expression, 3, .production_id = 23), - [4804] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_access_expression, 3, .production_id = 23), - [4806] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_name, 3, .production_id = 25), REDUCE(sym_member_access_expression, 3, .production_id = 23), - [4809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_name, 3, .production_id = 25), - [4811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_access_expression, 3, .production_id = 23), - [4813] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 6), - [4815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 6), - [4817] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type, 1), - [4819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1), - [4821] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type, 1), REDUCE(sym__array_base_type, 1), - [4824] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type, 1), REDUCE(sym__pointer_base_type, 1), - [4827] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__name, 1), - [4829] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name, 1), - [4831] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lvalue_expression, 1), - [4833] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__name, 1), REDUCE(sym__lvalue_expression, 1), - [4836] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__name, 1), REDUCE(sym__lvalue_expression, 1), - [4839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lvalue_expression, 1), - [4841] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_nullable_type, 2, .production_id = 3), - [4843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nullable_type, 2, .production_id = 3), - [4845] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_positional_pattern_clause, 2), - [4847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_pattern_clause, 2), - [4849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2), - [4851] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type, 2, .production_id = 6), - [4853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 2, .production_id = 6), - [4855] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_positional_pattern_clause, 6), - [4857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_pattern_clause, 6), - [4859] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type, 1), REDUCE(sym__nullable_base_type, 1), - [4862] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_type, 3, .production_id = 21), - [4864] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_type, 3, .production_id = 21), - [4866] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_pointer_type, 7), - [4868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_type, 7), + [4799] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_name, 3, 0, 25), + [4801] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_qualified_name, 3, 0, 25), REDUCE(sym_member_access_expression, 3, 0, 23), + [4804] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_access_expression, 3, 0, 23), + [4806] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_name, 3, 0, 25), REDUCE(sym_member_access_expression, 3, 0, 23), + [4809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_name, 3, 0, 25), + [4811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_access_expression, 3, 0, 23), + [4813] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 6, 0, 0), + [4815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 6, 0, 0), + [4817] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type, 1, 0, 0), + [4819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1, 0, 0), + [4821] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type, 1, 0, 0), REDUCE(sym__array_base_type, 1, 0, 0), + [4824] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type, 1, 0, 0), REDUCE(sym__pointer_base_type, 1, 0, 0), + [4827] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__name, 1, 0, 0), + [4829] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name, 1, 0, 0), + [4831] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lvalue_expression, 1, 0, 0), + [4833] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__name, 1, 0, 0), REDUCE(sym__lvalue_expression, 1, 0, 0), + [4836] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__name, 1, 0, 0), REDUCE(sym__lvalue_expression, 1, 0, 0), + [4839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lvalue_expression, 1, 0, 0), + [4841] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_nullable_type, 2, 0, 3), + [4843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nullable_type, 2, 0, 3), + [4845] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_positional_pattern_clause, 2, 0, 0), + [4847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_pattern_clause, 2, 0, 0), + [4849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), + [4851] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type, 2, 0, 6), + [4853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 2, 0, 6), + [4855] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_positional_pattern_clause, 6, 0, 0), + [4857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_pattern_clause, 6, 0, 0), + [4859] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type, 1, 0, 0), REDUCE(sym__nullable_base_type, 1, 0, 0), + [4862] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_type, 3, 0, 21), + [4864] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_type, 3, 0, 21), + [4866] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_pointer_type, 7, 0, 0), + [4868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_type, 7, 0, 0), [4870] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11963), [4872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11963), - [4874] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__name, 1), REDUCE(sym_constant_pattern, 1), - [4877] = {.entry = {.count = 3, .reusable = false}}, REDUCE(sym__name, 1), REDUCE(sym_constant_pattern, 1), REDUCE(sym__lvalue_expression, 1), - [4881] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__name, 1), REDUCE(sym_constant_pattern, 1), REDUCE(sym__lvalue_expression, 1), - [4885] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__name, 1), REDUCE(sym_constant_pattern, 1), - [4888] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type, 2, .production_id = 3), - [4890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type, 2, .production_id = 3), - [4892] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_scoped_type, 2, .production_id = 4), - [4894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_scoped_type, 2, .production_id = 4), - [4896] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_qualified_name, 3, .production_id = 31), - [4898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_qualified_name, 3, .production_id = 31), - [4900] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_positional_pattern_clause, 5), - [4902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_pattern_clause, 5), - [4904] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_rank_specifier, 4), - [4906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_rank_specifier, 4), - [4908] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__scoped_base_type, 1), - [4910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__scoped_base_type, 1), - [4912] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_type, 2, .production_id = 4), - [4914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_type, 2, .production_id = 4), - [4916] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5), - [4918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5), - [4920] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_rank_specifier, 2), - [4922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_rank_specifier, 2), - [4924] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_pointer_type, 5), - [4926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_type, 5), - [4928] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_rank_specifier, 3), - [4930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_rank_specifier, 3), + [4874] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__name, 1, 0, 0), REDUCE(sym_constant_pattern, 1, 0, 0), + [4877] = {.entry = {.count = 3, .reusable = false}}, REDUCE(sym__name, 1, 0, 0), REDUCE(sym_constant_pattern, 1, 0, 0), REDUCE(sym__lvalue_expression, 1, 0, 0), + [4881] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__name, 1, 0, 0), REDUCE(sym_constant_pattern, 1, 0, 0), REDUCE(sym__lvalue_expression, 1, 0, 0), + [4885] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__name, 1, 0, 0), REDUCE(sym_constant_pattern, 1, 0, 0), + [4888] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type, 2, 0, 3), + [4890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type, 2, 0, 3), + [4892] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_scoped_type, 2, 0, 4), + [4894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_scoped_type, 2, 0, 4), + [4896] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_qualified_name, 3, 0, 31), + [4898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_qualified_name, 3, 0, 31), + [4900] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_positional_pattern_clause, 5, 0, 0), + [4902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_pattern_clause, 5, 0, 0), + [4904] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_rank_specifier, 4, 0, 0), + [4906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_rank_specifier, 4, 0, 0), + [4908] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__scoped_base_type, 1, 0, 0), + [4910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__scoped_base_type, 1, 0, 0), + [4912] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_type, 2, 0, 4), + [4914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_type, 2, 0, 4), + [4916] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5, 0, 0), + [4918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5, 0, 0), + [4920] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_rank_specifier, 2, 0, 0), + [4922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_rank_specifier, 2, 0, 0), + [4924] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_pointer_type, 5, 0, 0), + [4926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_type, 5, 0, 0), + [4928] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_rank_specifier, 3, 0, 0), + [4930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_rank_specifier, 3, 0, 0), [4932] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12010), [4934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12010), [4936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11137), - [4938] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_pattern_clause, 5), - [4940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_pattern_clause, 5), - [4942] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_pattern_clause, 4), - [4944] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_pattern_clause, 4), - [4946] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_pattern_clause, 2), - [4948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_pattern_clause, 2), - [4950] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_pattern_clause, 3), - [4952] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_pattern_clause, 3), + [4938] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_pattern_clause, 5, 0, 0), + [4940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_pattern_clause, 5, 0, 0), + [4942] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_pattern_clause, 4, 0, 0), + [4944] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_pattern_clause, 4, 0, 0), + [4946] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_pattern_clause, 2, 0, 0), + [4948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_pattern_clause, 2, 0, 0), + [4950] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_pattern_clause, 3, 0, 0), + [4952] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_pattern_clause, 3, 0, 0), [4954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12112), [4956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4619), [4958] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4632), [4960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11236), [4962] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8924), - [4964] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1), SHIFT(2575), - [4967] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1), REDUCE(sym_parameter, 1, .production_id = 1), - [4970] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1), SHIFT(4559), + [4964] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(2575), + [4967] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), REDUCE(sym_parameter, 1, 0, 1), + [4970] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(4559), [4973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11253), [4975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12047), - [4977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_designation, 1, .production_id = 1), + [4977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_designation, 1, 0, 1), [4979] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4388), [4981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4932), [4983] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4411), @@ -1305075,8 +1303704,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [4995] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8299), [4997] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12146), [4999] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4559), - [5001] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_name, 1), - [5003] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_name, 1), + [5001] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_name, 1, 0, 0), + [5003] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_name, 1, 0, 0), [5005] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12120), [5007] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6131), [5009] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6067), @@ -1305091,7 +1303720,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [5027] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7796), [5029] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7958), [5031] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8889), - [5033] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(7796), + [5033] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(7796), [5036] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8065), [5038] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8717), [5040] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11002), @@ -1305112,15 +1303741,15 @@ static const TSParseActionEntry ts_parse_actions[] = { [5070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), [5072] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6060), [5074] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8899), - [5076] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(6067), + [5076] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(6067), [5079] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6278), [5081] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8844), [5083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12027), - [5085] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1), REDUCE(sym_implicit_parameter, 1, .production_id = 1), + [5085] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), REDUCE(sym_implicit_parameter, 1, 0, 1), [5088] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3813), [5090] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14389), [5092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12033), - [5094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_modifier, 1), + [5094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_modifier, 1, 0, 0), [5096] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4657), [5098] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4594), [5100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9453), @@ -1305139,8 +1303768,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [5126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8144), [5128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12154), [5130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12084), - [5132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_colon, 2), - [5134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_colon, 2), + [5132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_colon, 2, 0, 0), + [5134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_colon, 2, 0, 0), [5136] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12086), [5138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12052), [5140] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12110), @@ -1305174,174 +1303803,174 @@ static const TSParseActionEntry ts_parse_actions[] = { [5196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12040), [5198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11978), [5200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4646), - [5202] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(8201), + [5202] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(8201), [5205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13524), [5207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(778), [5209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(816), [5211] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6461), [5213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6439), [5215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(984), - [5217] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1), SHIFT(6280), + [5217] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_keywords, 1, 0, 0), SHIFT(6280), [5220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(974), [5222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(907), [5224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(874), - [5226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_name_colon, 2, .production_id = 1), - [5228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_name_colon, 2, .production_id = 1), + [5226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_name_colon, 2, 0, 1), + [5228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_name_colon, 2, 0, 1), [5230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1007), [5232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1000), - [5234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_creation_expression, 2, .dynamic_precedence = 17, .production_id = 4), - [5236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_creation_expression, 2, .dynamic_precedence = 17, .production_id = 4), - [5238] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__array_base_type, 1), REDUCE(sym_array_creation_expression, 2, .dynamic_precedence = 17, .production_id = 4), - [5241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__nullable_base_type, 1), REDUCE(sym_array_creation_expression, 2, .dynamic_precedence = 17, .production_id = 4), - [5244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_object_creation_expression, 2), - [5246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_implicit_object_creation_expression, 2), + [5234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_creation_expression, 2, 17, 4), + [5236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_creation_expression, 2, 17, 4), + [5238] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__array_base_type, 1, 0, 0), REDUCE(sym_array_creation_expression, 2, 17, 4), + [5241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__nullable_base_type, 1, 0, 0), REDUCE(sym_array_creation_expression, 2, 17, 4), + [5244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_object_creation_expression, 2, 0, 0), + [5246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_implicit_object_creation_expression, 2, 0, 0), [5248] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7222), - [5250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_stack_alloc_array_creation_expression, 2, .production_id = 4), - [5252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_stack_alloc_array_creation_expression, 2, .production_id = 4), - [5254] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__array_base_type, 1), REDUCE(sym_stack_alloc_array_creation_expression, 2, .production_id = 4), - [5257] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__nullable_base_type, 1), REDUCE(sym_stack_alloc_array_creation_expression, 2, .production_id = 4), - [5260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_creation_expression, 3, .production_id = 19), - [5262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_creation_expression, 3, .production_id = 19), - [5264] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1), SHIFT(7532), + [5250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_stack_alloc_array_creation_expression, 2, 0, 4), + [5252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_stack_alloc_array_creation_expression, 2, 0, 4), + [5254] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__array_base_type, 1, 0, 0), REDUCE(sym_stack_alloc_array_creation_expression, 2, 0, 4), + [5257] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__nullable_base_type, 1, 0, 0), REDUCE(sym_stack_alloc_array_creation_expression, 2, 0, 4), + [5260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_creation_expression, 3, 0, 19), + [5262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_creation_expression, 3, 0, 19), + [5264] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(7532), [5267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12063), - [5269] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1), SHIFT(7711), - [5272] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type, 1), REDUCE(sym__pointer_base_type, 1), - [5275] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__pointer_base_type, 1), REDUCE(sym__ref_base_type, 1), - [5278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__object_creation_type, 1), - [5280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__object_creation_type, 1), - [5282] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__array_base_type, 1), REDUCE(sym__object_creation_type, 1), - [5285] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__nullable_base_type, 1), REDUCE(sym__object_creation_type, 1), - [5288] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__pointer_base_type, 1), REDUCE(sym__object_creation_type, 1), - [5291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_name_equals, 2), - [5293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_name_equals, 2), - [5295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1), - [5297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1), - [5299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 4, .production_id = 49), - [5301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 4, .production_id = 49), - [5303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__query_body, 3), - [5305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__query_body, 3), - [5307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 5, .production_id = 55), - [5309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 5, .production_id = 55), - [5311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_expression, 4), - [5313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_expression, 4), - [5315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_method_expression, 5, .production_id = 54), - [5317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_method_expression, 5, .production_id = 54), - [5319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression, 4), - [5321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression, 4), - [5323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_binding_expression, 2, .production_id = 12), - [5325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_binding_expression, 2, .production_id = 12), - [5327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 6), - [5329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 6), + [5269] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(7711), + [5272] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type, 1, 0, 0), REDUCE(sym__pointer_base_type, 1, 0, 0), + [5275] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__pointer_base_type, 1, 0, 0), REDUCE(sym__ref_base_type, 1, 0, 0), + [5278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__object_creation_type, 1, 0, 0), + [5280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__object_creation_type, 1, 0, 0), + [5282] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__array_base_type, 1, 0, 0), REDUCE(sym__object_creation_type, 1, 0, 0), + [5285] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__nullable_base_type, 1, 0, 0), REDUCE(sym__object_creation_type, 1, 0, 0), + [5288] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__pointer_base_type, 1, 0, 0), REDUCE(sym__object_creation_type, 1, 0, 0), + [5291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_name_equals, 2, 0, 0), + [5293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_name_equals, 2, 0, 0), + [5295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), + [5297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), + [5299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 4, 0, 49), + [5301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 4, 0, 49), + [5303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__query_body, 3, 0, 0), + [5305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__query_body, 3, 0, 0), + [5307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 5, 0, 55), + [5309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 5, 0, 55), + [5311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_expression, 4, 0, 0), + [5313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_expression, 4, 0, 0), + [5315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_method_expression, 5, 0, 54), + [5317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_method_expression, 5, 0, 54), + [5319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression, 4, 0, 0), + [5321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression, 4, 0, 0), + [5323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_binding_expression, 2, 0, 12), + [5325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_binding_expression, 2, 0, 12), + [5327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 6, 0, 0), + [5329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 6, 0, 0), [5331] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12068), - [5333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 4, .production_id = 44), - [5335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 4, .production_id = 44), - [5337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_array_creation_expression, 5), - [5339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_implicit_array_creation_expression, 5), - [5341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_object_creation_expression, 5), - [5343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_object_creation_expression, 5), - [5345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_type_expression, 4), - [5347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_type_expression, 4), - [5349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_method_expression, 2), - [5351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_method_expression, 2), - [5353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_make_ref_expression, 4), - [5355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_make_ref_expression, 4), - [5357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), - [5359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1), - [5361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_stack_alloc_array_creation_expression, 4), - [5363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_implicit_stack_alloc_array_creation_expression, 4), - [5365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 5), - [5367] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 5), - [5369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bracketed_argument_list, 4), - [5371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bracketed_argument_list, 4), - [5373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_statement_expression, 1), - [5375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_statement_expression, 1), - [5377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__non_lvalue_expression, 1), - [5379] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__non_lvalue_expression, 1), - [5381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_query_continuation, 3, .production_id = 12), - [5383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_query_continuation, 3, .production_id = 12), - [5385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression, 5), - [5387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression, 5), - [5389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parenthesized_lvalue_expression, 3), - [5391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parenthesized_lvalue_expression, 3), - [5393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bracketed_argument_list, 3), - [5395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bracketed_argument_list, 3), - [5397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_expression, 5), - [5399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_expression, 5), - [5401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 5, .production_id = 77), - [5403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 5, .production_id = 77), - [5405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 5, .production_id = 78), - [5407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 5, .production_id = 78), - [5409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_checked_expression, 4), - [5411] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_checked_expression, 4), - [5413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_expression, 4), - [5415] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_expression, 4), - [5417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_creation_expression, 4, .production_id = 42), - [5419] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_creation_expression, 4, .production_id = 42), - [5421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_object_creation_expression, 4), - [5423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_object_creation_expression, 4), - [5425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_array_creation_expression, 4), - [5427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_implicit_array_creation_expression, 4), - [5429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 6, .production_id = 80), - [5431] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 6, .production_id = 80), - [5433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 4, .production_id = 37), - [5435] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 4, .production_id = 37), - [5437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_method_expression, 4, .production_id = 36), - [5439] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_method_expression, 4, .production_id = 36), - [5441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_object_creation_expression, 6), - [5443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_object_creation_expression, 6), - [5445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_query_expression, 2), - [5447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_query_expression, 2), - [5449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_method_expression, 4, .production_id = 35), - [5451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_method_expression, 4, .production_id = 35), - [5453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__select_or_group_clause, 1), - [5455] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__select_or_group_clause, 1), - [5457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_access_expression, 2, .production_id = 7), - [5459] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element_access_expression, 2, .production_id = 7), - [5461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_expression, 1), - [5463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_expression, 1), - [5465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_value_expression, 6, .production_id = 101), - [5467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_value_expression, 6, .production_id = 101), - [5469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression, 6), - [5471] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression, 6), - [5473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 6, .production_id = 104), - [5475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 6, .production_id = 104), - [5477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 6, .production_id = 105), - [5479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 6, .production_id = 105), - [5481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_as_expression, 3, .production_id = 27), - [5483] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_as_expression, 3, .production_id = 27), - [5485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_expression, 5), - [5487] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_expression, 5), - [5489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 5, .production_id = 56), - [5491] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 5, .production_id = 56), - [5493] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_access_expression, 3, .production_id = 28), - [5495] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_access_expression, 3, .production_id = 28), - [5497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression, 7), - [5499] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression, 7), - [5501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 7, .production_id = 141), - [5503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 7, .production_id = 141), - [5505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__query_body, 2), - [5507] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__query_body, 2), - [5509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 3, .production_id = 26), - [5511] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 3, .production_id = 26), + [5333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 4, 0, 44), + [5335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 4, 0, 44), + [5337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_array_creation_expression, 5, 0, 0), + [5339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_implicit_array_creation_expression, 5, 0, 0), + [5341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_object_creation_expression, 5, 0, 0), + [5343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_object_creation_expression, 5, 0, 0), + [5345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_type_expression, 4, 0, 0), + [5347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_type_expression, 4, 0, 0), + [5349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_method_expression, 2, 0, 0), + [5351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_method_expression, 2, 0, 0), + [5353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_make_ref_expression, 4, 0, 0), + [5355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_make_ref_expression, 4, 0, 0), + [5357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), + [5359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), + [5361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_stack_alloc_array_creation_expression, 4, 0, 0), + [5363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_implicit_stack_alloc_array_creation_expression, 4, 0, 0), + [5365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 5, 0, 0), + [5367] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 5, 0, 0), + [5369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bracketed_argument_list, 4, 0, 0), + [5371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bracketed_argument_list, 4, 0, 0), + [5373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_statement_expression, 1, 0, 0), + [5375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_statement_expression, 1, 0, 0), + [5377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__non_lvalue_expression, 1, 0, 0), + [5379] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__non_lvalue_expression, 1, 0, 0), + [5381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_query_continuation, 3, 0, 12), + [5383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_query_continuation, 3, 0, 12), + [5385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression, 5, 0, 0), + [5387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression, 5, 0, 0), + [5389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parenthesized_lvalue_expression, 3, 0, 0), + [5391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parenthesized_lvalue_expression, 3, 0, 0), + [5393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bracketed_argument_list, 3, 0, 0), + [5395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bracketed_argument_list, 3, 0, 0), + [5397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_expression, 5, 0, 0), + [5399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_expression, 5, 0, 0), + [5401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 5, 0, 77), + [5403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 5, 0, 77), + [5405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 5, 0, 78), + [5407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 5, 0, 78), + [5409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_checked_expression, 4, 0, 0), + [5411] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_checked_expression, 4, 0, 0), + [5413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_expression, 4, 0, 0), + [5415] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_expression, 4, 0, 0), + [5417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_creation_expression, 4, 0, 42), + [5419] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_creation_expression, 4, 0, 42), + [5421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_object_creation_expression, 4, 0, 0), + [5423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_object_creation_expression, 4, 0, 0), + [5425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_array_creation_expression, 4, 0, 0), + [5427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_implicit_array_creation_expression, 4, 0, 0), + [5429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 6, 0, 80), + [5431] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 6, 0, 80), + [5433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 4, 0, 37), + [5435] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 4, 0, 37), + [5437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_method_expression, 4, 0, 36), + [5439] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_method_expression, 4, 0, 36), + [5441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_object_creation_expression, 6, 0, 0), + [5443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_object_creation_expression, 6, 0, 0), + [5445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_query_expression, 2, 0, 0), + [5447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_query_expression, 2, 0, 0), + [5449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_method_expression, 4, 0, 35), + [5451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_method_expression, 4, 0, 35), + [5453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__select_or_group_clause, 1, 0, 0), + [5455] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__select_or_group_clause, 1, 0, 0), + [5457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_access_expression, 2, 0, 7), + [5459] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element_access_expression, 2, 0, 7), + [5461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_expression, 1, 0, 0), + [5463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_expression, 1, 0, 0), + [5465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_value_expression, 6, 0, 101), + [5467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_value_expression, 6, 0, 101), + [5469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression, 6, 0, 0), + [5471] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression, 6, 0, 0), + [5473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 6, 0, 104), + [5475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 6, 0, 104), + [5477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 6, 0, 105), + [5479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 6, 0, 105), + [5481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_as_expression, 3, 0, 27), + [5483] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_as_expression, 3, 0, 27), + [5485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_expression, 5, 0, 0), + [5487] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_expression, 5, 0, 0), + [5489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 5, 0, 56), + [5491] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 5, 0, 56), + [5493] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_access_expression, 3, 0, 28), + [5495] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_access_expression, 3, 0, 28), + [5497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression, 7, 0, 0), + [5499] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression, 7, 0, 0), + [5501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 7, 0, 141), + [5503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 7, 0, 141), + [5505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__query_body, 2, 0, 0), + [5507] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__query_body, 2, 0, 0), + [5509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 3, 0, 26), + [5511] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 3, 0, 26), [5513] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12065), - [5515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_stack_alloc_array_creation_expression, 3, .production_id = 4), - [5517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_stack_alloc_array_creation_expression, 3, .production_id = 4), - [5519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_method_expression, 3, .production_id = 13), - [5521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_method_expression, 3, .production_id = 13), - [5523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_binding_expression, 1), - [5525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element_binding_expression, 1), - [5527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_method_expression, 3, .production_id = 22), - [5529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_method_expression, 3, .production_id = 22), - [5531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_expression, 3), - [5533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_expression, 3), - [5535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_creation_expression, 3, .production_id = 20), - [5537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_creation_expression, 3, .production_id = 20), - [5539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_creation_expression, 3, .dynamic_precedence = 17, .production_id = 4), - [5541] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_creation_expression, 3, .dynamic_precedence = 17, .production_id = 4), - [5543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_object_creation_expression, 3), - [5545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_implicit_object_creation_expression, 3), - [5547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_object_creation_expression, 3), - [5549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_object_creation_expression, 3), + [5515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_stack_alloc_array_creation_expression, 3, 0, 4), + [5517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_stack_alloc_array_creation_expression, 3, 0, 4), + [5519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_method_expression, 3, 0, 13), + [5521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_method_expression, 3, 0, 13), + [5523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_binding_expression, 1, 0, 0), + [5525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element_binding_expression, 1, 0, 0), + [5527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_method_expression, 3, 0, 22), + [5529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_method_expression, 3, 0, 22), + [5531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_expression, 3, 0, 0), + [5533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_expression, 3, 0, 0), + [5535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_creation_expression, 3, 0, 20), + [5537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_creation_expression, 3, 0, 20), + [5539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_creation_expression, 3, 17, 4), + [5541] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_creation_expression, 3, 17, 4), + [5543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_object_creation_expression, 3, 0, 0), + [5545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_implicit_object_creation_expression, 3, 0, 0), + [5547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_object_creation_expression, 3, 0, 0), + [5549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_object_creation_expression, 3, 0, 0), [5551] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12101), [5553] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11970), [5555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12104), @@ -1305349,24 +1303978,24 @@ static const TSParseActionEntry ts_parse_actions[] = { [5559] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11989), [5561] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12130), [5563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12106), - [5565] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1), SHIFT(7784), - [5568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_creation_expression, 2, .production_id = 4), - [5570] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_creation_expression, 2, .production_id = 4), + [5565] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(7784), + [5568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_creation_expression, 2, 0, 4), + [5570] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_creation_expression, 2, 0, 4), [5572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(791), [5574] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12031), - [5576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_unary_expression, 2), - [5578] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_unary_expression, 2), + [5576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_unary_expression, 2, 0, 0), + [5578] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_unary_expression, 2, 0, 0), [5580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(807), [5582] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5074), [5584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5074), - [5586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_await_expression, 2), - [5588] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_await_expression, 2), - [5590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 4, .dynamic_precedence = 1, .production_id = 40), - [5592] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 4, .dynamic_precedence = 1, .production_id = 40), - [5594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pointer_indirection_expression, 2), - [5596] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pointer_indirection_expression, 2), + [5586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_await_expression, 2, 0, 0), + [5588] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_await_expression, 2, 0, 0), + [5590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 4, 1, 40), + [5592] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 4, 1, 40), + [5594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pointer_indirection_expression, 2, 0, 0), + [5596] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pointer_indirection_expression, 2, 0, 0), [5598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12019), - [5600] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1), SHIFT(7609), + [5600] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(7609), [5603] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10920), [5605] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6858), [5607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9464), @@ -1305379,26 +1304008,26 @@ static const TSParseActionEntry ts_parse_actions[] = { [5621] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10992), [5623] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9617), [5625] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5765), - [5627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2), - [5629] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2), + [5627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), + [5629] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2, 0, 0), [5631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6929), [5633] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6928), [5635] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6960), [5637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6961), [5639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12105), - [5641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4), - [5643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4), - [5645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3), - [5647] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3), + [5641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 0), + [5643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, 0, 0), + [5645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 0), + [5647] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, 0, 0), [5649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(790), - [5651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), - [5653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), + [5651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, 0, 0), + [5653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, 0, 0), [5655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5053), - [5657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), - [5659] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [5657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2, 0, 0), + [5659] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2, 0, 0), [5661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5066), - [5663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_designation, 1), - [5665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_designation, 1), + [5663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_designation, 1, 0, 0), + [5665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_designation, 1, 0, 0), [5667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(797), [5669] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2212), [5671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(808), @@ -1305421,101 +1304050,101 @@ static const TSParseActionEntry ts_parse_actions[] = { [5705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2242), [5707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2243), [5709] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8500), - [5711] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, .production_id = 30), - [5713] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 30), - [5715] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 5, .production_id = 75), - [5717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 5, .production_id = 75), - [5719] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .dynamic_precedence = 2, .production_id = 27), - [5721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .dynamic_precedence = 2, .production_id = 27), + [5711] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, 0, 30), + [5713] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, 0, 30), + [5715] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 5, 0, 75), + [5717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 5, 0, 75), + [5719] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 2, 27), + [5721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 2, 27), [5723] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12135), - [5725] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_relational_pattern, 2), - [5727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_relational_pattern, 2), - [5729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_variable_designation, 4, .production_id = 140), - [5731] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_variable_designation, 4, .production_id = 140), - [5733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 5), - [5735] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_pattern, 5), - [5737] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 3, .production_id = 76), - [5739] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 3, .production_id = 76), - [5741] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 4, .production_id = 103), - [5743] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 4, .production_id = 103), - [5745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_variable_designation, 3, .production_id = 47), - [5747] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_variable_designation, 3, .production_id = 47), - [5749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 4), - [5751] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_pattern, 4), + [5725] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_relational_pattern, 2, 0, 0), + [5727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_relational_pattern, 2, 0, 0), + [5729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_variable_designation, 4, 0, 140), + [5731] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_variable_designation, 4, 0, 140), + [5733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 5, 0, 0), + [5735] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_pattern, 5, 0, 0), + [5737] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 3, 0, 76), + [5739] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 3, 0, 76), + [5741] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 4, 0, 103), + [5743] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 4, 0, 103), + [5745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_variable_designation, 3, 0, 47), + [5747] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_variable_designation, 3, 0, 47), + [5749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 4, 0, 0), + [5751] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_pattern, 4, 0, 0), [5753] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12060), - [5755] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 27), - [5757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 27), - [5759] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_select_clause, 2), - [5761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_clause, 2), - [5763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 3, .production_id = 70), - [5765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 3, .production_id = 70), - [5767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_and_pattern, 3, .production_id = 27), - [5769] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_and_pattern, 3, .production_id = 27), - [5771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_variable_designation, 2), - [5773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_variable_designation, 2), - [5775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_pattern, 3), - [5777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_pattern, 3), - [5779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 3), - [5781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_pattern, 3), - [5783] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_group_clause, 4), - [5785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_group_clause, 4), - [5787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 2, .production_id = 47), - [5789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 2, .production_id = 47), - [5791] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_designation, 1, .production_id = 1), - [5793] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_pattern, 2, .production_id = 48), - [5795] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_pattern, 2, .production_id = 48), - [5797] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_pattern, 2, .production_id = 47), - [5799] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_pattern, 2, .production_id = 47), - [5801] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 2), - [5803] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_pattern, 2), - [5805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_of_expression, 4, .production_id = 21), - [5807] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_of_expression, 4, .production_id = 21), - [5809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_size_of_expression, 4, .production_id = 21), - [5811] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_size_of_expression, 4, .production_id = 21), - [5813] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 4), - [5815] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 4), - [5817] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_expression, 2), - [5819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_expression, 2), - [5821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_pattern, 1), - [5823] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_constant_pattern, 1), REDUCE(sym__lvalue_expression, 1), - [5826] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constant_pattern, 1), REDUCE(sym__lvalue_expression, 1), - [5829] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_pattern, 1), - [5831] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_constant_pattern, 1), REDUCE(sym__expression_statement_expression, 1), - [5834] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constant_pattern, 1), REDUCE(sym__expression_statement_expression, 1), - [5837] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_constant_pattern, 1), REDUCE(sym__non_lvalue_expression, 1), - [5840] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constant_pattern, 1), REDUCE(sym__non_lvalue_expression, 1), - [5843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pattern, 1), - [5845] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pattern, 1), - [5847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_literal, 3), - [5849] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_literal, 3), - [5851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolated_string_expression, 3), - [5853] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolated_string_expression, 3), - [5855] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3), - [5857] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3), + [5755] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 27), + [5757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 27), + [5759] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_select_clause, 2, 0, 0), + [5761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_clause, 2, 0, 0), + [5763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 3, 0, 70), + [5765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 3, 0, 70), + [5767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_and_pattern, 3, 0, 27), + [5769] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_and_pattern, 3, 0, 27), + [5771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_variable_designation, 2, 0, 0), + [5773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_variable_designation, 2, 0, 0), + [5775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_pattern, 3, 0, 0), + [5777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_pattern, 3, 0, 0), + [5779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 3, 0, 0), + [5781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_pattern, 3, 0, 0), + [5783] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_group_clause, 4, 0, 0), + [5785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_group_clause, 4, 0, 0), + [5787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recursive_pattern, 2, 0, 47), + [5789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recursive_pattern, 2, 0, 47), + [5791] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_designation, 1, 0, 1), + [5793] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_pattern, 2, 0, 48), + [5795] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_pattern, 2, 0, 48), + [5797] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_pattern, 2, 0, 47), + [5799] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_pattern, 2, 0, 47), + [5801] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 2, 0, 0), + [5803] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_pattern, 2, 0, 0), + [5805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_of_expression, 4, 0, 21), + [5807] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_of_expression, 4, 0, 21), + [5809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_size_of_expression, 4, 0, 21), + [5811] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_size_of_expression, 4, 0, 21), + [5813] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 4, 0, 0), + [5815] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 4, 0, 0), + [5817] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_expression, 2, 0, 0), + [5819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_expression, 2, 0, 0), + [5821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_pattern, 1, 0, 0), + [5823] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_constant_pattern, 1, 0, 0), REDUCE(sym__lvalue_expression, 1, 0, 0), + [5826] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constant_pattern, 1, 0, 0), REDUCE(sym__lvalue_expression, 1, 0, 0), + [5829] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_pattern, 1, 0, 0), + [5831] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_constant_pattern, 1, 0, 0), REDUCE(sym__expression_statement_expression, 1, 0, 0), + [5834] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constant_pattern, 1, 0, 0), REDUCE(sym__expression_statement_expression, 1, 0, 0), + [5837] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_constant_pattern, 1, 0, 0), REDUCE(sym__non_lvalue_expression, 1, 0, 0), + [5840] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constant_pattern, 1, 0, 0), REDUCE(sym__non_lvalue_expression, 1, 0, 0), + [5843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pattern, 1, 0, 0), + [5845] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pattern, 1, 0, 0), + [5847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_literal, 3, 0, 0), + [5849] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_literal, 3, 0, 0), + [5851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolated_string_expression, 3, 0, 0), + [5853] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolated_string_expression, 3, 0, 0), + [5855] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [5857] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), [5859] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12055), - [5861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_invocation_expression, 2, .production_id = 8), - [5863] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_invocation_expression, 2, .production_id = 8), - [5865] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_unary_expression, 2), - [5867] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix_unary_expression, 2), - [5869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolated_string_expression, 2), - [5871] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolated_string_expression, 2), + [5861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_invocation_expression, 2, 0, 8), + [5863] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_invocation_expression, 2, 0, 8), + [5865] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_unary_expression, 2, 0, 0), + [5867] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix_unary_expression, 2, 0, 0), + [5869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolated_string_expression, 2, 0, 0), + [5871] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolated_string_expression, 2, 0, 0), [5873] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12092), - [5875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal, 1), - [5877] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__literal, 1), + [5875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal, 1, 0, 0), + [5877] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__literal, 1, 0, 0), [5879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8617), - [5881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), - [5883] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1), + [5881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [5883] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), [5885] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12117), [5887] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12020), [5889] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12131), [5891] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12036), [5893] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11979), - [5895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_is_pattern_expression, 3, .production_id = 29), - [5897] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_is_pattern_expression, 3, .production_id = 29), - [5899] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_expression, 2), - [5901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_expression, 2), - [5903] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 3), - [5905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 3), + [5895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_is_pattern_expression, 3, 0, 29), + [5897] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_is_pattern_expression, 3, 0, 29), + [5899] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_expression, 2, 0, 0), + [5901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_expression, 2, 0, 0), + [5903] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 3, 0, 0), + [5905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 3, 0, 0), [5907] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2228), [5909] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2227), [5911] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2226), @@ -1305532,37 +1304161,37 @@ static const TSParseActionEntry ts_parse_actions[] = { [5933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2219), [5935] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2218), [5937] = {.entry = {.count = 1, .reusable = false}}, SHIFT(948), - [5939] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 5, .production_id = 167), + [5939] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 5, 0, 167), [5941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2177), - [5943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 5, .production_id = 167), - [5945] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 6, .production_id = 210), + [5943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 5, 0, 167), + [5945] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 6, 0, 210), [5947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2263), - [5949] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 6, .production_id = 210), - [5951] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 5, .production_id = 159), + [5949] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 6, 0, 210), + [5951] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 5, 0, 159), [5953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2154), - [5955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 5, .production_id = 159), + [5955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 5, 0, 159), [5957] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11969), [5959] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12059), - [5961] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_accessor_list, 3), - [5963] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_accessor_list, 3), + [5961] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_accessor_list, 3, 0, 0), + [5963] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_accessor_list, 3, 0, 0), [5965] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12102), - [5967] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 3, .production_id = 84), + [5967] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 3, 0, 84), [5969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2843), - [5971] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 3, .production_id = 84), + [5971] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 3, 0, 84), [5973] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11962), - [5975] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(4702), - [5978] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1), SHIFT(4702), + [5975] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), SHIFT(4702), + [5978] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), SHIFT(4702), [5981] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11992), [5983] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12111), [5985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11972), - [5987] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 4, .production_id = 116), + [5987] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 4, 0, 116), [5989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2343), - [5991] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 4, .production_id = 116), - [5993] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_accessor_list, 2), - [5995] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_accessor_list, 2), - [5997] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 4, .production_id = 119), + [5991] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 4, 0, 116), + [5993] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_accessor_list, 2, 0, 0), + [5995] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_accessor_list, 2, 0, 0), + [5997] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 4, 0, 119), [5999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2391), - [6001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 4, .production_id = 119), + [6001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 4, 0, 119), [6003] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4702), [6005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4702), [6007] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11974), @@ -1305572,22 +1304201,22 @@ static const TSParseActionEntry ts_parse_actions[] = { [6015] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9977), [6017] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13642), [6019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5339), - [6021] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__query_body, 1), - [6023] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__query_body, 1), + [6021] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__query_body, 1, 0, 0), + [6023] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__query_body, 1, 0, 0), [6025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12181), [6027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5359), - [6029] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conversion_operator_declaration, 9, .production_id = 279), - [6031] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conversion_operator_declaration, 9, .production_id = 279), - [6033] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 10, .production_id = 265), - [6035] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 10, .production_id = 265), + [6029] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conversion_operator_declaration, 9, 0, 279), + [6031] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conversion_operator_declaration, 9, 0, 279), + [6033] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 10, 0, 265), + [6035] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 10, 0, 265), [6037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(801), [6039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [6041] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 4, .production_id = 39), - [6043] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 4, .production_id = 39), - [6045] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 4, .production_id = 116), - [6047] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 4, .production_id = 116), - [6049] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_destructor_declaration, 4, .production_id = 117), - [6051] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructor_declaration, 4, .production_id = 117), + [6041] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 4, 0, 39), + [6043] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 4, 0, 39), + [6045] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 4, 0, 116), + [6047] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 4, 0, 116), + [6049] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_destructor_declaration, 4, 0, 117), + [6051] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructor_declaration, 4, 0, 117), [6053] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3127), [6055] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1014), [6057] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3126), @@ -1305602,640 +1304231,640 @@ static const TSParseActionEntry ts_parse_actions[] = { [6075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3115), [6077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3114), [6079] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3113), - [6081] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 4, .production_id = 118), - [6083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 4, .production_id = 118), - [6085] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 4, .production_id = 46), - [6087] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 4, .production_id = 46), - [6089] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 4, .production_id = 120), - [6091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 4, .production_id = 120), - [6093] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_declaration, 4, .production_id = 121), - [6095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_declaration, 4, .production_id = 121), - [6097] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_field_declaration, 4, .dynamic_precedence = 1), - [6099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_field_declaration, 4, .dynamic_precedence = 1), + [6081] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 4, 0, 118), + [6083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 4, 0, 118), + [6085] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 4, 0, 46), + [6087] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 4, 0, 46), + [6089] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 4, 0, 120), + [6091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 4, 0, 120), + [6093] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_declaration, 4, 0, 121), + [6095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_declaration, 4, 0, 121), + [6097] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_field_declaration, 4, 1, 0), + [6099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_field_declaration, 4, 1, 0), [6101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8420), - [6103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_declaration, 4, .production_id = 117), - [6105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_declaration, 4, .production_id = 117), - [6107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4), - [6109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4), - [6111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 11, .production_id = 278), - [6113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 11, .production_id = 278), - [6115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_or_pattern, 3, .production_id = 27), - [6117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_or_pattern, 3, .production_id = 27), + [6103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_declaration, 4, 0, 117), + [6105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_declaration, 4, 0, 117), + [6107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, 0, 0), + [6109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, 0, 0), + [6111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 11, 0, 278), + [6113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 11, 0, 278), + [6115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_or_pattern, 3, 0, 27), + [6117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_or_pattern, 3, 0, 27), [6119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), - [6121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, .production_id = 221), - [6123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, .production_id = 221), - [6125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 11, .production_id = 278), - [6127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 11, .production_id = 278), - [6129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 10, .production_id = 267), - [6131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 10, .production_id = 267), - [6133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 10, .production_id = 266), - [6135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 10, .production_id = 266), - [6137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 10, .production_id = 264), - [6139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 10, .production_id = 264), - [6141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 10, .production_id = 267), - [6143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 10, .production_id = 267), - [6145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 10, .production_id = 266), - [6147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 10, .production_id = 266), - [6149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 10, .production_id = 265), - [6151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 10, .production_id = 265), - [6153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 10, .production_id = 264), - [6155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 10, .production_id = 264), - [6157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 10, .production_id = 263), - [6159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 10, .production_id = 263), - [6161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 10, .production_id = 262), - [6163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 10, .production_id = 262), - [6165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 10, .production_id = 262), - [6167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 10, .production_id = 262), - [6169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 241), - [6171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 241), - [6173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 240), - [6175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 240), - [6177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 239), - [6179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 239), - [6181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 238), - [6183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 238), - [6185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 237), - [6187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 237), - [6189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 236), - [6191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 236), - [6193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, .production_id = 241), - [6195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, .production_id = 241), - [6197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, .production_id = 240), - [6199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, .production_id = 240), - [6201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3), - [6203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3), - [6205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, .production_id = 239), - [6207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, .production_id = 239), - [6209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, .production_id = 238), - [6211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, .production_id = 238), - [6213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, .production_id = 237), - [6215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, .production_id = 237), - [6217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_declaration, 3, .production_id = 85), - [6219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_declaration, 3, .production_id = 85), - [6221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_destructor_declaration, 5, .production_id = 157), - [6223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructor_declaration, 5, .production_id = 157), - [6225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 5, .production_id = 158), - [6227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 5, .production_id = 158), - [6229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 5, .production_id = 159), - [6231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 5, .production_id = 159), - [6233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, .production_id = 236), - [6235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, .production_id = 236), - [6237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conversion_operator_declaration, 5, .production_id = 160), - [6239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conversion_operator_declaration, 5, .production_id = 160), - [6241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 5, .production_id = 161), - [6243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 5, .production_id = 161), - [6245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 9, .production_id = 195), - [6247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 9, .production_id = 195), - [6249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 5, .production_id = 162), - [6251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 5, .production_id = 162), - [6253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 5, .production_id = 163), - [6255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 5, .production_id = 163), - [6257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 5, .production_id = 164), - [6259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 5, .production_id = 164), - [6261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 5, .production_id = 165), - [6263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 5, .production_id = 165), - [6265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 9, .production_id = 232), - [6267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 9, .production_id = 232), - [6269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 9, .production_id = 232), - [6271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 9, .production_id = 232), - [6273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 5, .production_id = 73), - [6275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 5, .production_id = 73), - [6277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 5, .production_id = 74), - [6279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 5, .production_id = 74), - [6281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 9, .production_id = 232), - [6283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 9, .production_id = 232), - [6285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 5, .production_id = 58), - [6287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 5, .production_id = 58), - [6289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 5, .production_id = 167), - [6291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 5, .production_id = 167), - [6293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 5, .production_id = 168), - [6295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 5, .production_id = 168), - [6297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 9, .production_id = 235), - [6299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 9, .production_id = 235), - [6301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_field_declaration, 3, .dynamic_precedence = 1), - [6303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_field_declaration, 3, .dynamic_precedence = 1), - [6305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 9, .production_id = 234), - [6307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 9, .production_id = 234), - [6309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 9, .production_id = 233), - [6311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 9, .production_id = 233), - [6313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 232), - [6315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 232), - [6317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 231), - [6319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 231), - [6321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 230), - [6323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 230), - [6325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 229), - [6327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 229), - [6329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, .production_id = 232), - [6331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, .production_id = 232), - [6333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, .production_id = 231), - [6335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, .production_id = 231), - [6337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, .production_id = 230), - [6339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, .production_id = 230), - [6341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, .production_id = 229), - [6343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, .production_id = 229), - [6345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 9, .production_id = 228), - [6347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 9, .production_id = 228), - [6349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 221), - [6351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, .production_id = 221), - [6353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, .production_id = 185), - [6355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, .production_id = 185), - [6357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 199), - [6359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 199), - [6361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 198), - [6363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 198), - [6365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 5, .production_id = 79), - [6367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 5, .production_id = 79), - [6369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 197), - [6371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 197), - [6373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 196), - [6375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 196), - [6377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 199), - [6379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 199), - [6381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 5, .production_id = 169), - [6383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 5, .production_id = 169), - [6385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 198), - [6387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 198), - [6389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_declaration, 5, .production_id = 170), - [6391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_declaration, 5, .production_id = 170), - [6393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 197), - [6395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 197), - [6397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 196), - [6399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 196), - [6401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 8, .production_id = 195), - [6403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 8, .production_id = 195), - [6405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 8, .production_id = 152), - [6407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 8, .production_id = 152), - [6409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 8, .production_id = 191), - [6411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 8, .production_id = 191), - [6413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 8, .production_id = 190), - [6415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 8, .production_id = 190), - [6417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 8, .production_id = 189), - [6419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 8, .production_id = 189), - [6421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, .production_id = 191), - [6423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, .production_id = 191), - [6425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, .production_id = 190), - [6427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, .production_id = 190), - [6429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, .production_id = 189), - [6431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, .production_id = 189), - [6433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 8, .production_id = 191), - [6435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 8, .production_id = 191), - [6437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 8, .production_id = 190), - [6439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 8, .production_id = 190), - [6441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 8, .production_id = 189), - [6443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 8, .production_id = 189), - [6445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, .production_id = 194), - [6447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, .production_id = 194), - [6449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, .production_id = 193), - [6451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, .production_id = 193), - [6453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, .production_id = 192), - [6455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, .production_id = 192), - [6457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 191), - [6459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 191), - [6461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 190), - [6463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 190), - [6465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 189), - [6467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 189), - [6469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 188), - [6471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 188), - [6473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 187), - [6475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 187), - [6477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 186), - [6479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 186), - [6481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 191), - [6483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 191), - [6485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 190), - [6487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 190), - [6489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 189), - [6491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 189), - [6493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_field_declaration, 5, .dynamic_precedence = 1), - [6495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_field_declaration, 5, .dynamic_precedence = 1), - [6497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 188), - [6499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 188), - [6501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 187), - [6503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 187), - [6505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 186), - [6507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 186), - [6509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 8, .production_id = 145), - [6511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 8, .production_id = 145), - [6513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 8, .production_id = 174), - [6515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 8, .production_id = 174), - [6517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, .production_id = 174), - [6519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, .production_id = 174), - [6521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 8, .production_id = 174), - [6523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 8, .production_id = 174), - [6525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 123), - [6527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 123), - [6529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, .production_id = 184), - [6531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, .production_id = 184), - [6533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_declaration, 5, .production_id = 157), - [6535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_declaration, 5, .production_id = 157), - [6537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, .production_id = 183), - [6539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, .production_id = 183), - [6541] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 175), - [6543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 175), - [6545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 174), - [6547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 174), - [6549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 173), - [6551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 173), - [6553] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 172), - [6555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 172), - [6557] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 171), - [6559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, .production_id = 171), - [6561] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 174), - [6563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 174), - [6565] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 173), - [6567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 173), - [6569] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 172), - [6571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 172), - [6573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, .production_id = 171), - [6575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, .production_id = 171), - [6577] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, .production_id = 156), - [6579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, .production_id = 156), - [6581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 153), - [6583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 153), - [6585] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 153), - [6587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 153), - [6589] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 7, .production_id = 152), - [6591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 7, .production_id = 152), - [6593] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, .production_id = 149), - [6595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, .production_id = 149), - [6597] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, .production_id = 148), - [6599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, .production_id = 148), - [6601] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, .production_id = 147), - [6603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, .production_id = 147), - [6605] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 7, .production_id = 148), - [6607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 7, .production_id = 148), - [6609] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 149), - [6611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 149), - [6613] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 148), - [6615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 148), - [6617] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 147), - [6619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 147), - [6621] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, .production_id = 149), - [6623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, .production_id = 149), - [6625] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, .production_id = 148), - [6627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, .production_id = 148), - [6629] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, .production_id = 147), - [6631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, .production_id = 147), - [6633] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 151), - [6635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 151), - [6637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 149), - [6639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 149), - [6641] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 148), - [6643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 148), - [6645] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 147), - [6647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 147), - [6649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 146), - [6651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 146), - [6653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 149), - [6655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 149), - [6657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 148), - [6659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 148), - [6661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 147), - [6663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 147), - [6665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 146), - [6667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 146), - [6669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 7, .production_id = 145), - [6671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 7, .production_id = 145), - [6673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 7, .production_id = 107), - [6675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 7, .production_id = 107), - [6677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, .production_id = 130), - [6679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, .production_id = 130), - [6681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, .production_id = 129), - [6683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, .production_id = 129), - [6685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, .production_id = 128), - [6687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, .production_id = 128), - [6689] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 130), - [6691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 130), - [6693] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 129), - [6695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 129), - [6697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 128), - [6699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 128), - [6701] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, .production_id = 130), - [6703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, .production_id = 130), - [6705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, .production_id = 129), - [6707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, .production_id = 129), - [6709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, .production_id = 128), - [6711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, .production_id = 128), - [6713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 144), - [6715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 144), - [6717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 143), - [6719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 143), - [6721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 142), - [6723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 142), - [6725] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 127), - [6727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 127), - [6729] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 133), - [6731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 133), - [6733] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 132), - [6735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 132), - [6737] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 131), - [6739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 131), - [6741] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 130), - [6743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 130), - [6745] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 129), - [6747] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 129), - [6749] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 128), - [6751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 128), - [6753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 127), - [6755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 127), - [6757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 126), - [6759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 126), - [6761] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 125), - [6763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, .production_id = 125), - [6765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 130), - [6767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 130), - [6769] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 129), - [6771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 129), - [6773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 128), - [6775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 128), - [6777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 126), - [6779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 126), - [6781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, .production_id = 125), - [6783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, .production_id = 125), - [6785] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conversion_operator_declaration, 6, .production_id = 201), - [6787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conversion_operator_declaration, 6, .production_id = 201), - [6789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 7, .production_id = 91), - [6791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 7, .production_id = 91), - [6793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 6, .production_id = 202), - [6795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 6, .production_id = 202), - [6797] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 6, .production_id = 203), - [6799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 6, .production_id = 203), - [6801] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, .production_id = 204), - [6803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, .production_id = 204), - [6805] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, .production_id = 123), - [6807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, .production_id = 123), - [6809] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, .production_id = 205), - [6811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, .production_id = 205), - [6813] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 123), - [6815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 123), - [6817] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, .production_id = 123), - [6819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, .production_id = 123), - [6821] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 115), - [6823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 115), - [6825] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 114), - [6827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 114), - [6829] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, .production_id = 113), - [6831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, .production_id = 113), - [6833] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, .production_id = 108), - [6835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, .production_id = 108), - [6837] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 6, .production_id = 108), - [6839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 6, .production_id = 108), - [6841] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, .production_id = 108), - [6843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, .production_id = 108), - [6845] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, .production_id = 108), - [6847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, .production_id = 108), - [6849] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 6, .production_id = 108), - [6851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 6, .production_id = 108), - [6853] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, .production_id = 108), - [6855] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, .production_id = 108), - [6857] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 6, .production_id = 107), - [6859] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 6, .production_id = 107), - [6861] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, .production_id = 95), - [6863] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, .production_id = 95), - [6865] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, .production_id = 94), - [6867] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, .production_id = 94), - [6869] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, .production_id = 93), - [6871] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, .production_id = 93), - [6873] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 6, .production_id = 94), - [6875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 6, .production_id = 94), - [6877] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, .production_id = 95), - [6879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, .production_id = 95), - [6881] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, .production_id = 94), - [6883] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, .production_id = 94), - [6885] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, .production_id = 93), - [6887] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, .production_id = 93), - [6889] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, .production_id = 95), - [6891] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, .production_id = 95), - [6893] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, .production_id = 94), - [6895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, .production_id = 94), - [6897] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, .production_id = 93), - [6899] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, .production_id = 93), - [6901] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, .production_id = 106), - [6903] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, .production_id = 106), - [6905] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, .production_id = 89), - [6907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, .production_id = 89), - [6909] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, .production_id = 88), - [6911] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, .production_id = 88), - [6913] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, .production_id = 87), - [6915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, .production_id = 87), - [6917] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, .production_id = 98), - [6919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, .production_id = 98), - [6921] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, .production_id = 97), - [6923] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, .production_id = 97), - [6925] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, .production_id = 96), - [6927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, .production_id = 96), + [6121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, 0, 221), + [6123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, 0, 221), + [6125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 11, 0, 278), + [6127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 11, 0, 278), + [6129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 10, 0, 267), + [6131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 10, 0, 267), + [6133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 10, 0, 266), + [6135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 10, 0, 266), + [6137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 10, 0, 264), + [6139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 10, 0, 264), + [6141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 10, 0, 267), + [6143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 10, 0, 267), + [6145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 10, 0, 266), + [6147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 10, 0, 266), + [6149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 10, 0, 265), + [6151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 10, 0, 265), + [6153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 10, 0, 264), + [6155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 10, 0, 264), + [6157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 10, 0, 263), + [6159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 10, 0, 263), + [6161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 10, 0, 262), + [6163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 10, 0, 262), + [6165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 10, 0, 262), + [6167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 10, 0, 262), + [6169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, 0, 241), + [6171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, 0, 241), + [6173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, 0, 240), + [6175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, 0, 240), + [6177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, 0, 239), + [6179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, 0, 239), + [6181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, 0, 238), + [6183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, 0, 238), + [6185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, 0, 237), + [6187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, 0, 237), + [6189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, 0, 236), + [6191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, 0, 236), + [6193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, 0, 241), + [6195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, 0, 241), + [6197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, 0, 240), + [6199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, 0, 240), + [6201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, 0, 0), + [6203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, 0, 0), + [6205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, 0, 239), + [6207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, 0, 239), + [6209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, 0, 238), + [6211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, 0, 238), + [6213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, 0, 237), + [6215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, 0, 237), + [6217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_declaration, 3, 0, 85), + [6219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_declaration, 3, 0, 85), + [6221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_destructor_declaration, 5, 0, 157), + [6223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructor_declaration, 5, 0, 157), + [6225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 5, 0, 158), + [6227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 5, 0, 158), + [6229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 5, 0, 159), + [6231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 5, 0, 159), + [6233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, 0, 236), + [6235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, 0, 236), + [6237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conversion_operator_declaration, 5, 0, 160), + [6239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conversion_operator_declaration, 5, 0, 160), + [6241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 5, 0, 161), + [6243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 5, 0, 161), + [6245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 9, 0, 195), + [6247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 9, 0, 195), + [6249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 5, 0, 162), + [6251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 5, 0, 162), + [6253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 5, 0, 163), + [6255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 5, 0, 163), + [6257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 5, 0, 164), + [6259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 5, 0, 164), + [6261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 5, 0, 165), + [6263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 5, 0, 165), + [6265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 9, 0, 232), + [6267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 9, 0, 232), + [6269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 9, 0, 232), + [6271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 9, 0, 232), + [6273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 5, 0, 73), + [6275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 5, 0, 73), + [6277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 5, 0, 74), + [6279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 5, 0, 74), + [6281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 9, 0, 232), + [6283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 9, 0, 232), + [6285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 5, 0, 58), + [6287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 5, 0, 58), + [6289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 5, 0, 167), + [6291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 5, 0, 167), + [6293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 5, 0, 168), + [6295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 5, 0, 168), + [6297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 9, 0, 235), + [6299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 9, 0, 235), + [6301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_field_declaration, 3, 1, 0), + [6303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_field_declaration, 3, 1, 0), + [6305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 9, 0, 234), + [6307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 9, 0, 234), + [6309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 9, 0, 233), + [6311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 9, 0, 233), + [6313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, 0, 232), + [6315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, 0, 232), + [6317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, 0, 231), + [6319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, 0, 231), + [6321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, 0, 230), + [6323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, 0, 230), + [6325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, 0, 229), + [6327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, 0, 229), + [6329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, 0, 232), + [6331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, 0, 232), + [6333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, 0, 231), + [6335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, 0, 231), + [6337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, 0, 230), + [6339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, 0, 230), + [6341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 9, 0, 229), + [6343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 9, 0, 229), + [6345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 9, 0, 228), + [6347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 9, 0, 228), + [6349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 9, 0, 221), + [6351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 9, 0, 221), + [6353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, 0, 185), + [6355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, 0, 185), + [6357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 199), + [6359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 199), + [6361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 198), + [6363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 198), + [6365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 5, 0, 79), + [6367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 5, 0, 79), + [6369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 197), + [6371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 197), + [6373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 196), + [6375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 196), + [6377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 199), + [6379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 199), + [6381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 5, 0, 169), + [6383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 5, 0, 169), + [6385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 198), + [6387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 198), + [6389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_declaration, 5, 0, 170), + [6391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_declaration, 5, 0, 170), + [6393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 197), + [6395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 197), + [6397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 196), + [6399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 196), + [6401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 8, 0, 195), + [6403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 8, 0, 195), + [6405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 8, 0, 152), + [6407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 8, 0, 152), + [6409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 8, 0, 191), + [6411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 8, 0, 191), + [6413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 8, 0, 190), + [6415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 8, 0, 190), + [6417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 8, 0, 189), + [6419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 8, 0, 189), + [6421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, 0, 191), + [6423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, 0, 191), + [6425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, 0, 190), + [6427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, 0, 190), + [6429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, 0, 189), + [6431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, 0, 189), + [6433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 8, 0, 191), + [6435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 8, 0, 191), + [6437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 8, 0, 190), + [6439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 8, 0, 190), + [6441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 8, 0, 189), + [6443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 8, 0, 189), + [6445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, 0, 194), + [6447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, 0, 194), + [6449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, 0, 193), + [6451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, 0, 193), + [6453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, 0, 192), + [6455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, 0, 192), + [6457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 191), + [6459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 191), + [6461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 190), + [6463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 190), + [6465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 189), + [6467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 189), + [6469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 188), + [6471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 188), + [6473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 187), + [6475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 187), + [6477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 186), + [6479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 186), + [6481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 191), + [6483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 191), + [6485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 190), + [6487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 190), + [6489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 189), + [6491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 189), + [6493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_field_declaration, 5, 1, 0), + [6495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_field_declaration, 5, 1, 0), + [6497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 188), + [6499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 188), + [6501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 187), + [6503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 187), + [6505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 186), + [6507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 186), + [6509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 8, 0, 145), + [6511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 8, 0, 145), + [6513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 8, 0, 174), + [6515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 8, 0, 174), + [6517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, 0, 174), + [6519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, 0, 174), + [6521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 8, 0, 174), + [6523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 8, 0, 174), + [6525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 123), + [6527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 123), + [6529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, 0, 184), + [6531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, 0, 184), + [6533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_declaration, 5, 0, 157), + [6535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_declaration, 5, 0, 157), + [6537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, 0, 183), + [6539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, 0, 183), + [6541] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 175), + [6543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 175), + [6545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 174), + [6547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 174), + [6549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 173), + [6551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 173), + [6553] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 172), + [6555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 172), + [6557] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 8, 0, 171), + [6559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 8, 0, 171), + [6561] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 174), + [6563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 174), + [6565] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 173), + [6567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 173), + [6569] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 172), + [6571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 172), + [6573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 8, 0, 171), + [6575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 8, 0, 171), + [6577] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 8, 0, 156), + [6579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 8, 0, 156), + [6581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, 0, 153), + [6583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, 0, 153), + [6585] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 153), + [6587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 153), + [6589] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 7, 0, 152), + [6591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 7, 0, 152), + [6593] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, 0, 149), + [6595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, 0, 149), + [6597] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, 0, 148), + [6599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, 0, 148), + [6601] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, 0, 147), + [6603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, 0, 147), + [6605] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 7, 0, 148), + [6607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 7, 0, 148), + [6609] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 149), + [6611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 149), + [6613] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 148), + [6615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 148), + [6617] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 147), + [6619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 147), + [6621] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, 0, 149), + [6623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, 0, 149), + [6625] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, 0, 148), + [6627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, 0, 148), + [6629] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, 0, 147), + [6631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, 0, 147), + [6633] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 151), + [6635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 151), + [6637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, 0, 149), + [6639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, 0, 149), + [6641] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, 0, 148), + [6643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, 0, 148), + [6645] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, 0, 147), + [6647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, 0, 147), + [6649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, 0, 146), + [6651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, 0, 146), + [6653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 149), + [6655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 149), + [6657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 148), + [6659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 148), + [6661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 147), + [6663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 147), + [6665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 146), + [6667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 146), + [6669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 7, 0, 145), + [6671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 7, 0, 145), + [6673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 7, 0, 107), + [6675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 7, 0, 107), + [6677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, 0, 130), + [6679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, 0, 130), + [6681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, 0, 129), + [6683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, 0, 129), + [6685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, 0, 128), + [6687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, 0, 128), + [6689] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 130), + [6691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 130), + [6693] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 129), + [6695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 129), + [6697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 128), + [6699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 128), + [6701] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, 0, 130), + [6703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, 0, 130), + [6705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, 0, 129), + [6707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, 0, 129), + [6709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, 0, 128), + [6711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, 0, 128), + [6713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 144), + [6715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 144), + [6717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 143), + [6719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 143), + [6721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 142), + [6723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 142), + [6725] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 127), + [6727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 127), + [6729] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 133), + [6731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 133), + [6733] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 132), + [6735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 132), + [6737] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 131), + [6739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 131), + [6741] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, 0, 130), + [6743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, 0, 130), + [6745] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, 0, 129), + [6747] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, 0, 129), + [6749] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, 0, 128), + [6751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, 0, 128), + [6753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, 0, 127), + [6755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, 0, 127), + [6757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, 0, 126), + [6759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, 0, 126), + [6761] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 7, 0, 125), + [6763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 7, 0, 125), + [6765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 130), + [6767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 130), + [6769] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 129), + [6771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 129), + [6773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 128), + [6775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 128), + [6777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 126), + [6779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 126), + [6781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 7, 0, 125), + [6783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 7, 0, 125), + [6785] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conversion_operator_declaration, 6, 0, 201), + [6787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conversion_operator_declaration, 6, 0, 201), + [6789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 7, 0, 91), + [6791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 7, 0, 91), + [6793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 6, 0, 202), + [6795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 6, 0, 202), + [6797] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 6, 0, 203), + [6799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 6, 0, 203), + [6801] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, 0, 204), + [6803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, 0, 204), + [6805] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 7, 0, 123), + [6807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 7, 0, 123), + [6809] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, 0, 205), + [6811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, 0, 205), + [6813] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 123), + [6815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 123), + [6817] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, 0, 123), + [6819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, 0, 123), + [6821] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 115), + [6823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 115), + [6825] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 114), + [6827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 114), + [6829] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 7, 0, 113), + [6831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 7, 0, 113), + [6833] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, 0, 108), + [6835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, 0, 108), + [6837] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 6, 0, 108), + [6839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 6, 0, 108), + [6841] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, 0, 108), + [6843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, 0, 108), + [6845] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, 0, 108), + [6847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, 0, 108), + [6849] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 6, 0, 108), + [6851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 6, 0, 108), + [6853] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, 0, 108), + [6855] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, 0, 108), + [6857] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 6, 0, 107), + [6859] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 6, 0, 107), + [6861] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, 0, 95), + [6863] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, 0, 95), + [6865] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, 0, 94), + [6867] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, 0, 94), + [6869] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, 0, 93), + [6871] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, 0, 93), + [6873] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 6, 0, 94), + [6875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 6, 0, 94), + [6877] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, 0, 95), + [6879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, 0, 95), + [6881] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, 0, 94), + [6883] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, 0, 94), + [6885] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, 0, 93), + [6887] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, 0, 93), + [6889] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, 0, 95), + [6891] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, 0, 95), + [6893] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, 0, 94), + [6895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, 0, 94), + [6897] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, 0, 93), + [6899] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, 0, 93), + [6901] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, 0, 106), + [6903] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, 0, 106), + [6905] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, 0, 89), + [6907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, 0, 89), + [6909] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, 0, 88), + [6911] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, 0, 88), + [6913] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, 0, 87), + [6915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, 0, 87), + [6917] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, 0, 98), + [6919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, 0, 98), + [6921] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, 0, 97), + [6923] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, 0, 97), + [6925] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, 0, 96), + [6927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, 0, 96), [6929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(787), - [6931] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 6, .production_id = 95), - [6933] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 6, .production_id = 95), - [6935] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 6, .production_id = 94), - [6937] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 6, .production_id = 94), - [6939] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 6, .production_id = 93), - [6941] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 6, .production_id = 93), - [6943] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 6, .production_id = 92), - [6945] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 6, .production_id = 92), - [6947] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, .production_id = 95), - [6949] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, .production_id = 95), - [6951] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 2), - [6953] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 2), - [6955] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, .production_id = 94), - [6957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, .production_id = 94), - [6959] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, .production_id = 93), - [6961] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, .production_id = 93), - [6963] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, .production_id = 92), - [6965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, .production_id = 92), - [6967] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 6, .production_id = 91), - [6969] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 6, .production_id = 91), - [6971] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 6, .production_id = 63), - [6973] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 6, .production_id = 63), - [6975] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, .production_id = 89), - [6977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, .production_id = 89), - [6979] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, .production_id = 88), - [6981] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, .production_id = 88), - [6983] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, .production_id = 87), - [6985] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, .production_id = 87), - [6987] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, .production_id = 89), - [6989] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, .production_id = 89), - [6991] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, .production_id = 88), - [6993] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, .production_id = 88), - [6995] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, .production_id = 87), - [6997] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, .production_id = 87), - [6999] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, .production_id = 89), - [7001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, .production_id = 89), - [7003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, .production_id = 88), - [7005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, .production_id = 88), - [7007] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, .production_id = 87), - [7009] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, .production_id = 87), - [7011] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, .production_id = 83), - [7013] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, .production_id = 83), - [7015] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, .production_id = 82), - [7017] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, .production_id = 82), - [7019] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, .production_id = 81), - [7021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, .production_id = 81), - [7023] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 5, .production_id = 64), - [7025] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 5, .production_id = 64), - [7027] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 5, .production_id = 64), - [7029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 5, .production_id = 64), - [7031] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, .production_id = 64), - [7033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, .production_id = 64), - [7035] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 5, .production_id = 64), - [7037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 5, .production_id = 64), - [7039] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 5, .production_id = 62), - [7041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 5, .production_id = 62), - [7043] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, .production_id = 102), - [7045] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, .production_id = 102), - [7047] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 5, .production_id = 61), - [7049] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 5, .production_id = 61), - [7051] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 6, .production_id = 207), - [7053] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 6, .production_id = 207), - [7055] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_destructor_declaration, 6, .production_id = 208), - [7057] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructor_declaration, 6, .production_id = 208), - [7059] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 6, .production_id = 209), - [7061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 6, .production_id = 209), - [7063] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 6, .production_id = 210), - [7065] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 6, .production_id = 210), - [7067] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 5, .production_id = 60), - [7069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 5, .production_id = 60), - [7071] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 6, .production_id = 211), - [7073] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 6, .production_id = 211), - [7075] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 6, .production_id = 212), - [7077] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 6, .production_id = 212), - [7079] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 6, .production_id = 213), - [7081] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 6, .production_id = 213), - [7083] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 5, .production_id = 65), - [7085] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 5, .production_id = 65), - [7087] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 5, .production_id = 64), - [7089] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 5, .production_id = 64), - [7091] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, .production_id = 214), - [7093] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, .production_id = 214), - [7095] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 5, .production_id = 64), - [7097] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 5, .production_id = 64), - [7099] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 5, .production_id = 63), - [7101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 5, .production_id = 63), - [7103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 6, .production_id = 215), - [7105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 6, .production_id = 215), - [7107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 5, .production_id = 62), - [7109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 5, .production_id = 62), - [7111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 5, .production_id = 61), - [7113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 5, .production_id = 61), - [7115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 5, .production_id = 60), - [7117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 5, .production_id = 60), - [7119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, .production_id = 109), - [7121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, .production_id = 109), - [7123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 5, .production_id = 61), - [7125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 5, .production_id = 61), - [7127] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, .production_id = 110), - [7129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, .production_id = 110), - [7131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, .production_id = 62), - [7133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, .production_id = 62), - [7135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, .production_id = 61), - [7137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, .production_id = 61), - [7139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, .production_id = 60), - [7141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, .production_id = 60), - [7143] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 5, .production_id = 62), - [7145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 5, .production_id = 62), - [7147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 5, .production_id = 61), - [7149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 5, .production_id = 61), - [7151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 5, .production_id = 60), - [7153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 5, .production_id = 60), - [7155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, .production_id = 59), - [7157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, .production_id = 59), - [7159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 6, .production_id = 216), - [7161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 6, .production_id = 216), - [7163] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 6, .production_id = 217), - [7165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 6, .production_id = 217), + [6931] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 6, 0, 95), + [6933] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 6, 0, 95), + [6935] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 6, 0, 94), + [6937] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 6, 0, 94), + [6939] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 6, 0, 93), + [6941] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 6, 0, 93), + [6943] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 6, 0, 92), + [6945] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 6, 0, 92), + [6947] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, 0, 95), + [6949] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, 0, 95), + [6951] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 2, 0, 0), + [6953] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 2, 0, 0), + [6955] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, 0, 94), + [6957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, 0, 94), + [6959] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, 0, 93), + [6961] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, 0, 93), + [6963] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 6, 0, 92), + [6965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 6, 0, 92), + [6967] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 6, 0, 91), + [6969] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 6, 0, 91), + [6971] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 6, 0, 63), + [6973] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 6, 0, 63), + [6975] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, 0, 89), + [6977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, 0, 89), + [6979] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, 0, 88), + [6981] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, 0, 88), + [6983] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 6, 0, 87), + [6985] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 6, 0, 87), + [6987] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, 0, 89), + [6989] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, 0, 89), + [6991] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, 0, 88), + [6993] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, 0, 88), + [6995] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, 0, 87), + [6997] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, 0, 87), + [6999] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, 0, 89), + [7001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, 0, 89), + [7003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, 0, 88), + [7005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, 0, 88), + [7007] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, 0, 87), + [7009] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, 0, 87), + [7011] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, 0, 83), + [7013] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, 0, 83), + [7015] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, 0, 82), + [7017] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, 0, 82), + [7019] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, 0, 81), + [7021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, 0, 81), + [7023] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 5, 0, 64), + [7025] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 5, 0, 64), + [7027] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 5, 0, 64), + [7029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 5, 0, 64), + [7031] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, 0, 64), + [7033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, 0, 64), + [7035] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 5, 0, 64), + [7037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 5, 0, 64), + [7039] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 5, 0, 62), + [7041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 5, 0, 62), + [7043] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, 0, 102), + [7045] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, 0, 102), + [7047] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 5, 0, 61), + [7049] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 5, 0, 61), + [7051] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 6, 0, 207), + [7053] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 6, 0, 207), + [7055] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_destructor_declaration, 6, 0, 208), + [7057] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructor_declaration, 6, 0, 208), + [7059] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 6, 0, 209), + [7061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 6, 0, 209), + [7063] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 6, 0, 210), + [7065] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 6, 0, 210), + [7067] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 5, 0, 60), + [7069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 5, 0, 60), + [7071] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 6, 0, 211), + [7073] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 6, 0, 211), + [7075] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 6, 0, 212), + [7077] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 6, 0, 212), + [7079] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 6, 0, 213), + [7081] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 6, 0, 213), + [7083] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 5, 0, 65), + [7085] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 5, 0, 65), + [7087] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_struct_declaration, 5, 0, 64), + [7089] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_struct_declaration, 5, 0, 64), + [7091] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, 0, 214), + [7093] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, 0, 214), + [7095] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 5, 0, 64), + [7097] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 5, 0, 64), + [7099] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delegate_declaration, 5, 0, 63), + [7101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delegate_declaration, 5, 0, 63), + [7103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 6, 0, 215), + [7105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 6, 0, 215), + [7107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 5, 0, 62), + [7109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 5, 0, 62), + [7111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 5, 0, 61), + [7113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 5, 0, 61), + [7115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 5, 0, 60), + [7117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 5, 0, 60), + [7119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, 0, 109), + [7121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, 0, 109), + [7123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 5, 0, 61), + [7125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 5, 0, 61), + [7127] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, 0, 110), + [7129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, 0, 110), + [7131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, 0, 62), + [7133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, 0, 62), + [7135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, 0, 61), + [7137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, 0, 61), + [7139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, 0, 60), + [7141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, 0, 60), + [7143] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 5, 0, 62), + [7145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 5, 0, 62), + [7147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 5, 0, 61), + [7149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 5, 0, 61), + [7151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 5, 0, 60), + [7153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 5, 0, 60), + [7155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, 0, 59), + [7157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, 0, 59), + [7159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 6, 0, 216), + [7161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 6, 0, 216), + [7163] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 6, 0, 217), + [7165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 6, 0, 217), [7167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(517), - [7169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 6, .production_id = 218), - [7171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 6, .production_id = 218), - [7173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_negated_pattern, 2), - [7175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_negated_pattern, 2), - [7177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_declaration, 4, .production_id = 43), - [7179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_declaration, 4, .production_id = 43), - [7181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 4, .production_id = 43), - [7183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 4, .production_id = 43), - [7185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 4, .production_id = 43), - [7187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 4, .production_id = 43), - [7189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 4, .production_id = 43), - [7191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 4, .production_id = 43), - [7193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 4, .production_id = 43), - [7195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 4, .production_id = 43), - [7197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 4, .production_id = 43), - [7199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 4, .production_id = 43), - [7201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, .production_id = 111), - [7203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, .production_id = 111), - [7205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 6, .production_id = 219), - [7207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 6, .production_id = 219), - [7209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_declaration, 6, .production_id = 220), - [7211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_declaration, 6, .production_id = 220), - [7213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 9, .production_id = 280), - [7215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 9, .production_id = 280), - [7217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 9, .production_id = 282), - [7219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 9, .production_id = 282), - [7221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 9, .production_id = 281), - [7223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 9, .production_id = 281), - [7225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 8, .production_id = 276), - [7227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 8, .production_id = 276), - [7229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 8, .production_id = 200), - [7231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 8, .production_id = 200), - [7233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 8, .production_id = 275), - [7235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 8, .production_id = 275), - [7237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 8, .production_id = 274), - [7239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 8, .production_id = 274), - [7241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 8, .production_id = 273), - [7243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 8, .production_id = 273), - [7245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 8, .production_id = 272), - [7247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 8, .production_id = 272), - [7249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 8, .production_id = 271), - [7251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 8, .production_id = 271), - [7253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 8, .production_id = 270), - [7255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 8, .production_id = 270), - [7257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 8, .production_id = 269), - [7259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 8, .production_id = 269), - [7261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conversion_operator_declaration, 8, .production_id = 268), - [7263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conversion_operator_declaration, 8, .production_id = 268), - [7265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, .production_id = 155), - [7267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, .production_id = 155), - [7269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, .production_id = 154), - [7271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, .production_id = 154), - [7273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 7, .production_id = 258), - [7275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 7, .production_id = 258), - [7277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conversion_operator_declaration, 7, .production_id = 242), - [7279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conversion_operator_declaration, 7, .production_id = 242), - [7281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 7, .production_id = 243), - [7283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 7, .production_id = 243), - [7285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration, 1), - [7287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration, 1), - [7289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, .production_id = 244), - [7291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, .production_id = 244), - [7293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 7, .production_id = 245), - [7295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 7, .production_id = 245), - [7297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 1), - [7299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 1), - [7301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, .production_id = 257), - [7303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, .production_id = 257), - [7305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 7, .production_id = 256), - [7307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 7, .production_id = 256), - [7309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 7, .production_id = 255), - [7311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 7, .production_id = 255), - [7313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 7, .production_id = 247), - [7315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 7, .production_id = 247), - [7317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 7, .production_id = 254), - [7319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 7, .production_id = 254), - [7321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 7, .production_id = 248), - [7323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 7, .production_id = 248), - [7325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 7, .production_id = 253), - [7327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 7, .production_id = 253), - [7329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 7, .production_id = 252), - [7331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 7, .production_id = 252), - [7333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 7, .production_id = 251), - [7335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 7, .production_id = 251), - [7337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, .production_id = 150), - [7339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, .production_id = 150), - [7341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, .production_id = 249), - [7343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, .production_id = 249), - [7345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, .production_id = 250), - [7347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, .production_id = 250), + [7169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 6, 0, 218), + [7171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 6, 0, 218), + [7173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_negated_pattern, 2, 0, 0), + [7175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_negated_pattern, 2, 0, 0), + [7177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_declaration, 4, 0, 43), + [7179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_declaration, 4, 0, 43), + [7181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 4, 0, 43), + [7183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 4, 0, 43), + [7185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 4, 0, 43), + [7187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 4, 0, 43), + [7189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 4, 0, 43), + [7191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 4, 0, 43), + [7193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 4, 0, 43), + [7195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 4, 0, 43), + [7197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 4, 0, 43), + [7199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 4, 0, 43), + [7201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 6, 0, 111), + [7203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 6, 0, 111), + [7205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 6, 0, 219), + [7207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 6, 0, 219), + [7209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_declaration, 6, 0, 220), + [7211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_declaration, 6, 0, 220), + [7213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 9, 0, 280), + [7215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 9, 0, 280), + [7217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 9, 0, 282), + [7219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 9, 0, 282), + [7221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 9, 0, 281), + [7223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 9, 0, 281), + [7225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 8, 0, 276), + [7227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 8, 0, 276), + [7229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 8, 0, 200), + [7231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 8, 0, 200), + [7233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 8, 0, 275), + [7235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 8, 0, 275), + [7237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 8, 0, 274), + [7239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 8, 0, 274), + [7241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 8, 0, 273), + [7243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 8, 0, 273), + [7245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 8, 0, 272), + [7247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 8, 0, 272), + [7249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 8, 0, 271), + [7251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 8, 0, 271), + [7253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 8, 0, 270), + [7255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 8, 0, 270), + [7257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 8, 0, 269), + [7259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 8, 0, 269), + [7261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conversion_operator_declaration, 8, 0, 268), + [7263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conversion_operator_declaration, 8, 0, 268), + [7265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, 0, 155), + [7267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, 0, 155), + [7269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, 0, 154), + [7271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, 0, 154), + [7273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 7, 0, 258), + [7275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 7, 0, 258), + [7277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conversion_operator_declaration, 7, 0, 242), + [7279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conversion_operator_declaration, 7, 0, 242), + [7281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 7, 0, 243), + [7283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 7, 0, 243), + [7285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration, 1, 0, 0), + [7287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration, 1, 0, 0), + [7289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, 0, 244), + [7291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, 0, 244), + [7293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 7, 0, 245), + [7295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 7, 0, 245), + [7297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 1, 0, 0), + [7299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 1, 0, 0), + [7301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, 0, 257), + [7303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, 0, 257), + [7305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 7, 0, 256), + [7307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 7, 0, 256), + [7309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 7, 0, 255), + [7311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 7, 0, 255), + [7313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 7, 0, 247), + [7315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 7, 0, 247), + [7317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 7, 0, 254), + [7319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 7, 0, 254), + [7321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_indexer_declaration, 7, 0, 248), + [7323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_indexer_declaration, 7, 0, 248), + [7325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 7, 0, 253), + [7327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 7, 0, 253), + [7329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_event_declaration, 7, 0, 252), + [7331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_event_declaration, 7, 0, 252), + [7333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 7, 0, 251), + [7335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 7, 0, 251), + [7337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, 0, 150), + [7339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, 0, 150), + [7341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, 0, 249), + [7343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, 0, 249), + [7345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_declaration, 7, 0, 250), + [7347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, 0, 250), [7349] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2479), [7351] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2478), [7353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2476), @@ -1306275,9 +1304904,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [7421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(658), [7423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(469), [7425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11993), - [7427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2), - [7429] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2), SHIFT_REPEAT(9438), - [7432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2), + [7427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2, 0, 0), + [7429] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(9438), + [7432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2, 0, 0), [7434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11984), [7436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2626), [7438] = {.entry = {.count = 1, .reusable = false}}, SHIFT(962), @@ -1306330,13 +1304959,13 @@ static const TSParseActionEntry ts_parse_actions[] = { [7532] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12235), [7534] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9255), [7536] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15685), - [7538] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_accessor_list_repeat1, 2), SHIFT_REPEAT(4095), - [7541] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_accessor_list_repeat1, 2), SHIFT_REPEAT(8672), - [7544] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_accessor_list_repeat1, 2), SHIFT_REPEAT(4090), - [7547] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_accessor_list_repeat1, 2), SHIFT_REPEAT(9465), - [7550] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_accessor_list_repeat1, 2), SHIFT_REPEAT(7893), - [7553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_accessor_list_repeat1, 2), - [7555] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_accessor_list_repeat1, 2), SHIFT_REPEAT(12951), + [7538] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_accessor_list_repeat1, 2, 0, 0), SHIFT_REPEAT(4095), + [7541] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_accessor_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8672), + [7544] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_accessor_list_repeat1, 2, 0, 0), SHIFT_REPEAT(4090), + [7547] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_accessor_list_repeat1, 2, 0, 0), SHIFT_REPEAT(9465), + [7550] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_accessor_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7893), + [7553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_accessor_list_repeat1, 2, 0, 0), + [7555] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_accessor_list_repeat1, 2, 0, 0), SHIFT_REPEAT(12951), [7558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6092), [7560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12069), [7562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7256), @@ -1306382,8 +1305011,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [7642] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7142), [7644] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7226), [7646] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7227), - [7648] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_list, 6), - [7650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 6), + [7648] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_list, 6, 0, 0), + [7650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 6, 0, 0), [7652] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7148), [7654] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7147), [7656] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7112), @@ -1306428,8 +1305057,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [7734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7258), [7736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7261), [7738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7262), - [7740] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_list, 3), - [7742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 3), + [7740] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_list, 3, 0, 0), + [7742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 3, 0, 0), [7744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6829), [7746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6828), [7748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7160), @@ -1306440,8 +1305069,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [7758] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7080), [7760] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7079), [7762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12239), - [7764] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_list, 5), - [7766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 5), + [7764] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_list, 5, 0, 0), + [7766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 5, 0, 0), [7768] = {.entry = {.count = 1, .reusable = false}}, SHIFT(616), [7770] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7272), [7772] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7275), @@ -1306477,15 +1305106,15 @@ static const TSParseActionEntry ts_parse_actions[] = { [7832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7062), [7834] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7264), [7836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7263), - [7838] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_list, 4), - [7840] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 4), + [7838] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_list, 4, 0, 0), + [7840] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 4, 0, 0), [7842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7059), [7844] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7058), [7846] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7053), [7848] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7052), [7850] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7325), [7852] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7330), - [7854] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1), SHIFT(7658), + [7854] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(7658), [7857] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7270), [7859] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7269), [7861] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7337), @@ -1306500,13 +1305129,13 @@ static const TSParseActionEntry ts_parse_actions[] = { [7879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6953), [7881] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6916), [7883] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6915), - [7885] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat2, 2), - [7887] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat2, 2), SHIFT_REPEAT(6468), - [7890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat2, 2), + [7885] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat2, 2, 0, 0), + [7887] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat2, 2, 0, 0), SHIFT_REPEAT(6468), + [7890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat2, 2, 0, 0), [7892] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7382), [7894] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7381), - [7896] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat1, 1), - [7898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 1), + [7896] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat1, 1, 0, 0), + [7898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 1, 0, 0), [7900] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7312), [7902] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7311), [7904] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7349), @@ -1306541,7 +1305170,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [7962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12217), [7964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), [7966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(612), - [7968] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1), SHIFT(7723), + [7968] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(7723), [7971] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3809), [7973] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3804), [7975] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3803), @@ -1306608,7 +1305237,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [8097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8395), [8099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12301), [8101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12044), - [8103] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__pointer_base_type, 1), REDUCE(sym__object_creation_type, 1), + [8103] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__pointer_base_type, 1, 0, 0), REDUCE(sym__object_creation_type, 1, 0, 0), [8106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6519), [8108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6519), [8110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6477), @@ -1306644,8 +1305273,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [8170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10091), [8172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12127), [8174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9091), - [8176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat2, 1), - [8178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat2, 1), + [8176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat2, 1, 0, 0), + [8178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat2, 1, 0, 0), [8180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6551), [8182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9158), [8184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12929), @@ -1307172,7 +1305801,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [9226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6520), [9228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12138), [9230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12116), - [9232] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1), SHIFT(7663), + [9232] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(7663), [9235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551), [9237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4945), [9239] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2929), @@ -1307249,7 +1305878,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [9381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8489), [9383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8083), [9385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(581), - [9387] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2), SHIFT_REPEAT(9465), + [9387] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(9465), [9390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), [9392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), [9394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574), @@ -1307273,14 +1305902,14 @@ static const TSParseActionEntry ts_parse_actions[] = { [9430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4811), [9432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), [9434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568), - [9436] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2), SHIFT_REPEAT(8802), - [9439] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2), SHIFT_REPEAT(8829), - [9442] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2), SHIFT_REPEAT(8668), - [9445] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2), SHIFT_REPEAT(8286), - [9448] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2), SHIFT_REPEAT(9065), - [9451] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2), SHIFT_REPEAT(15596), - [9454] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2), SHIFT_REPEAT(8880), - [9457] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2), SHIFT_REPEAT(9474), + [9436] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2, 0, 0), SHIFT_REPEAT(8802), + [9439] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2, 0, 0), SHIFT_REPEAT(8829), + [9442] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2, 0, 0), SHIFT_REPEAT(8668), + [9445] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2, 0, 0), SHIFT_REPEAT(8286), + [9448] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2, 0, 0), SHIFT_REPEAT(9065), + [9451] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2, 0, 0), SHIFT_REPEAT(15596), + [9454] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2, 0, 0), SHIFT_REPEAT(8880), + [9457] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2, 0, 0), SHIFT_REPEAT(9474), [9460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(572), [9462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8040), [9464] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12096), @@ -1307338,13 +1305967,13 @@ static const TSParseActionEntry ts_parse_actions[] = { [9568] = {.entry = {.count = 1, .reusable = false}}, SHIFT(897), [9570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2573), [9572] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2512), - [9574] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_accessor_declaration, 4, .production_id = 246), - [9576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_accessor_declaration, 4, .production_id = 246), + [9574] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_accessor_declaration, 4, 0, 246), + [9576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_accessor_declaration, 4, 0, 246), [9578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(792), [9580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), [9582] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9260), - [9584] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2), SHIFT_REPEAT(9453), - [9587] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat2, 2), SHIFT_REPEAT(8672), + [9584] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(9453), + [9587] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat2, 2, 0, 0), SHIFT_REPEAT(8672), [9590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2416), [9592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1010), [9594] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2418), @@ -1307361,7 +1305990,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [9616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2428), [9618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2429), [9620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11999), - [9622] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1), SHIFT(7644), + [9622] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(7644), [9625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5012), [9627] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8647), [9629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(634), @@ -1307390,8 +1306019,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [9675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8440), [9677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4738), [9679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606), - [9681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_accessor_list_repeat1, 1), - [9683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_accessor_list_repeat1, 1), + [9681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_accessor_list_repeat1, 1, 0, 0), + [9683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_accessor_list_repeat1, 1, 0, 0), [9685] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8382), [9687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12229), [9689] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2726), @@ -1307412,8 +1306041,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [9719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8503), [9721] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12115), [9723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512), - [9725] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_accessor_declaration, 3, .production_id = 206), - [9727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_accessor_declaration, 3, .production_id = 206), + [9725] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_accessor_declaration, 3, 0, 206), + [9727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_accessor_declaration, 3, 0, 206), [9729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513), [9731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12208), [9733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(608), @@ -1307421,8 +1306050,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [9737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12291), [9739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12209), [9741] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8567), - [9743] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_accessor_declaration, 2, .production_id = 166), - [9745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_accessor_declaration, 2, .production_id = 166), + [9743] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_accessor_declaration, 2, 0, 166), + [9745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_accessor_declaration, 2, 0, 166), [9747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5326), [9749] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9296), [9751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8031), @@ -1307441,7 +1306070,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [9777] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15705), [9779] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4949), [9781] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5068), - [9783] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat2, 2), SHIFT_REPEAT(8928), + [9783] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_event_field_declaration_repeat2, 2, 0, 0), SHIFT_REPEAT(8928), [9786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8032), [9788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4524), [9790] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15700), @@ -1307462,7 +1306091,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [9820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4098), [9822] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4108), [9824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4100), - [9826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_scoped_namespace_declaration, 4, .production_id = 12), + [9826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_scoped_namespace_declaration, 4, 0, 12), [9828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7501), [9830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15115), [9832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11003), @@ -1307545,7 +1306174,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [9986] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4142), [9988] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4547), [9990] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4075), - [9992] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_scoped_namespace_declaration, 3, .production_id = 12), + [9992] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_scoped_namespace_declaration, 3, 0, 12), [9994] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4529), [9996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4061), [9998] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4072), @@ -1307654,7 +1306283,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [10204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9052), [10206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9028), [10208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9018), - [10210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_scoped_namespace_declaration, 5, .production_id = 12), + [10210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_scoped_namespace_declaration, 5, 0, 12), [10212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8362), [10214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9090), [10216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4693), @@ -1307703,21 +1306332,21 @@ static const TSParseActionEntry ts_parse_actions[] = { [10302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2182), [10304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8611), [10306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11064), - [10308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2), - [10310] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2), SHIFT_REPEAT(6468), - [10313] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2), SHIFT_REPEAT(9438), - [10316] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2), SHIFT_REPEAT(15444), - [10319] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2), SHIFT_REPEAT(12173), - [10322] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2), SHIFT_REPEAT(12174), - [10325] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2), SHIFT_REPEAT(12177), - [10328] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2), SHIFT_REPEAT(12178), - [10331] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2), SHIFT_REPEAT(8436), - [10334] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2), SHIFT_REPEAT(12155), - [10337] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2), SHIFT_REPEAT(11064), - [10340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compilation_unit, 5), + [10308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2, 0, 0), + [10310] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2, 0, 0), SHIFT_REPEAT(6468), + [10313] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2, 0, 0), SHIFT_REPEAT(9438), + [10316] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2, 0, 0), SHIFT_REPEAT(15444), + [10319] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2, 0, 0), SHIFT_REPEAT(12173), + [10322] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2, 0, 0), SHIFT_REPEAT(12174), + [10325] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2, 0, 0), SHIFT_REPEAT(12177), + [10328] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2, 0, 0), SHIFT_REPEAT(12178), + [10331] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2, 0, 0), SHIFT_REPEAT(8436), + [10334] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2, 0, 0), SHIFT_REPEAT(12155), + [10337] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 2, 0, 0), SHIFT_REPEAT(11064), + [10340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compilation_unit, 5, 0, 0), [10342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12258), [10344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7546), - [10346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ordering, 1), + [10346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ordering, 1, 0, 0), [10348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12709), [10350] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2551), [10352] = {.entry = {.count = 1, .reusable = false}}, SHIFT(954), @@ -1307759,7 +1306388,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [10424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2786), [10426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8558), [10428] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2401), - [10430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_join_clause, 9, .production_id = 39), + [10430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_join_clause, 9, 0, 39), [10432] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1030), [10434] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2402), [10436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2404), @@ -1307787,7 +1306416,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [10480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13940), [10482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12221), [10484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13905), - [10486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_join_clause, 8, .production_id = 12), + [10486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_join_clause, 8, 0, 12), [10488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14419), [10490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14162), [10492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13975), @@ -1307836,7 +1306465,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [10578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3258), [10580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8519), [10582] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3331), - [10584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_from_clause, 4, .production_id = 12), + [10584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_from_clause, 4, 0, 12), [10586] = {.entry = {.count = 1, .reusable = false}}, SHIFT(981), [10588] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3343), [10590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3351), @@ -1307873,23 +1306502,23 @@ static const TSParseActionEntry ts_parse_actions[] = { [10652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8466), [10654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548), [10656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550), - [10658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_scoped_namespace_declaration, 6, .production_id = 12), + [10658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_scoped_namespace_declaration, 6, 0, 12), [10660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), [10662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(475), - [10664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2), - [10666] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2), SHIFT_REPEAT(6468), - [10669] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2), SHIFT_REPEAT(9438), - [10672] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2), SHIFT_REPEAT(15444), - [10675] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2), SHIFT_REPEAT(12173), - [10678] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2), SHIFT_REPEAT(12174), - [10681] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2), SHIFT_REPEAT(12177), - [10684] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2), SHIFT_REPEAT(12178), - [10687] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2), SHIFT_REPEAT(8436), - [10690] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2), SHIFT_REPEAT(12155), - [10693] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_where_clause, 2), + [10664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2, 0, 0), + [10666] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(6468), + [10669] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(9438), + [10672] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(15444), + [10675] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(12173), + [10678] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(12174), + [10681] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(12177), + [10684] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(12178), + [10687] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(8436), + [10690] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(12155), + [10693] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_where_clause, 2, 0, 0), [10695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12299), - [10697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_from_clause, 5, .production_id = 39), - [10699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_clause, 4), + [10697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_from_clause, 5, 0, 39), + [10699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_clause, 4, 0, 0), [10701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12243), [10703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), [10705] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2275), @@ -1307906,9 +1306535,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [10727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(538), [10729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8413), [10731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2265), - [10733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__array_base_type, 1), - [10735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nullable_base_type, 1), - [10737] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pointer_base_type, 1), + [10733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__array_base_type, 1, 0, 0), + [10735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nullable_base_type, 1, 0, 0), + [10737] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pointer_base_type, 1, 0, 0), [10739] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2264), [10741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2253), [10743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2251), @@ -1308021,7 +1306650,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [10957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13006), [10959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594), [10961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487), - [10963] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_tuple_element, 1, .production_id = 3), REDUCE(sym_type_pattern, 1, .production_id = 3), + [10963] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_tuple_element, 1, 0, 3), REDUCE(sym_type_pattern, 1, 0, 3), [10966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2436), [10968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2866), [10970] = {.entry = {.count = 1, .reusable = false}}, SHIFT(983), @@ -1308141,7 +1306770,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [11198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2850), [11200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8414), [11202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3564), - [11204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_for_statement_repeat1, 2), + [11204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_for_statement_repeat1, 2, 0, 0), [11206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2873), [11208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2768), [11210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2245), @@ -1308164,7 +1306793,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [11244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2425), [11246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8449), [11248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3535), - [11250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equals_value_clause, 2), + [11250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equals_value_clause, 2, 0, 0), [11252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2181), [11254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12231), [11256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1772), @@ -1308306,9 +1306935,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [11528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), [11530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8649), [11532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560), - [11534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 2, .production_id = 1), + [11534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 2, 0, 1), [11536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4951), - [11538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 2), + [11538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 2, 0, 0), [11540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), [11542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(629), [11544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(631), @@ -1308333,7 +1306962,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [11582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3571), [11584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3568), [11586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8596), - [11588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 1), + [11588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 1, 0, 0), [11590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), [11592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), [11594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1522), @@ -1308342,7 +1306971,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [11600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6425), [11602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12191), [11604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12195), - [11606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 3, .production_id = 1), + [11606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 3, 0, 1), [11608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), [11610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4658), [11612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5117), @@ -1308379,7 +1307008,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [11674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12226), [11676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), [11678] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3367), - [11680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation_alignment_clause, 2), + [11680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation_alignment_clause, 2, 0, 0), [11682] = {.entry = {.count = 1, .reusable = false}}, SHIFT(873), [11684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3437), [11686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3442), @@ -1308396,7 +1307025,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [11708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3477), [11710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3478), [11712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3483), - [11714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__anonymous_object_member_declarator, 2, .dynamic_precedence = 1), + [11714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__anonymous_object_member_declarator, 2, 1, 0), [11716] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3197), [11718] = {.entry = {.count = 1, .reusable = false}}, SHIFT(859), [11720] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3103), @@ -1308434,7 +1307063,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [11784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3494), [11786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(653), [11788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(650), - [11790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression_arm, 3), + [11790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression_arm, 3, 0, 0), [11792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(531), [11794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(532), [11796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12537), @@ -1308461,14 +1307090,14 @@ static const TSParseActionEntry ts_parse_actions[] = { [11838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2316), [11840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2315), [11842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8650), - [11844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_simple_assignment_expression, 3), + [11844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_simple_assignment_expression, 3, 0, 0), [11846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(604), [11848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602), [11850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483), [11852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), - [11854] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_argument, 1), - [11856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_rank_specifier_repeat1, 2), - [11858] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_argument, 2), + [11854] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_argument, 1, 0, 0), + [11856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_rank_specifier_repeat1, 2, 0, 0), + [11858] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_argument, 2, 0, 0), [11860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(678), [11862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515), [11864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), @@ -1308494,10 +1307123,10 @@ static const TSParseActionEntry ts_parse_actions[] = { [11904] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13686), [11906] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12302), [11908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13794), - [11910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression_arm, 4), - [11912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration, 3, .production_id = 90), - [11914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__anonymous_object_member_declarator, 1), - [11916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration, 4, .production_id = 124), + [11910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression_arm, 4, 0, 0), + [11912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration, 3, 0, 90), + [11914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__anonymous_object_member_declarator, 1, 0, 0), + [11916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration, 4, 0, 124), [11918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13785), [11920] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13663), [11922] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12281), @@ -1308548,7 +1307177,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [12012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3096), [12014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2497), [12016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2380), - [12018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_when_clause, 2), + [12018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_when_clause, 2, 0, 0), [12020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), [12022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3037), [12024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), @@ -1308636,7 +1307265,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [12188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3511), [12190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2910), [12192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2575), - [12194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2, .production_id = 12), + [12194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2, 0, 12), [12196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2298), [12198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2141), [12200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2667), @@ -1308778,7 +1307407,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [12472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2131), [12474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3677), [12476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3672), - [12478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arrow_expression_clause, 2), + [12478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arrow_expression_clause, 2, 0, 0), [12480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3095), [12482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3668), [12484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3662), @@ -1308800,7 +1307429,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [12516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3536), [12518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3528), [12520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3425), - [12522] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2), SHIFT_REPEAT(9464), + [12522] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(9464), [12525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3512), [12527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3487), [12529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2757), @@ -1308927,7 +1307556,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [12771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2618), [12773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2605), [12775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2575), - [12777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, .production_id = 1), + [12777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 1), [12779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2884), [12781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2883), [12783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2880), @@ -1308944,8 +1307573,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [12805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3427), [12807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3420), [12809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3412), - [12811] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter, 1, .production_id = 1), SHIFT(12136), - [12814] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter, 1, .production_id = 1), SHIFT(12948), + [12811] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 1), SHIFT(12136), + [12814] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 1), SHIFT(12948), [12817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3353), [12819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3359), [12821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3376), @@ -1308988,12 +1307617,12 @@ static const TSParseActionEntry ts_parse_actions[] = { [12895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12163), [12897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10984), [12899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10975), - [12901] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attribute, 1, .production_id = 1), REDUCE(sym__type, 1), - [12904] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type, 1), SHIFT(813), + [12901] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 1), REDUCE(sym__type, 1, 0, 0), + [12904] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type, 1, 0, 0), SHIFT(813), [12907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8690), [12909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6054), [12911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6004), - [12913] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1), SHIFT(5872), + [12913] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(5872), [12916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8602), [12918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8694), [12920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12034), @@ -1309008,7 +1307637,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [12938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12024), [12940] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8012), [12942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12013), - [12944] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1), SHIFT(12136), + [12944] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), SHIFT(12136), [12947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12948), [12949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12314), [12951] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11121), @@ -1309019,9 +1307648,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [12961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12023), [12963] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11069), [12965] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11000), - [12967] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__ref_base_type, 1), REDUCE(sym__scoped_base_type, 1), + [12967] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__ref_base_type, 1, 0, 0), REDUCE(sym__scoped_base_type, 1, 0, 0), [12970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12093), - [12972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_element, 1, .production_id = 3), + [12972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_element, 1, 0, 3), [12974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5306), [12976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15111), [12978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12230), @@ -1309092,10 +1307721,10 @@ static const TSParseActionEntry ts_parse_actions[] = { [13108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3496), [13110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2767), [13112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5725), - [13114] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_explicit_interface_specifier, 2, .production_id = 1), SHIFT(4095), - [13117] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_explicit_interface_specifier, 2, .production_id = 1), SHIFT(4090), - [13120] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_explicit_interface_specifier, 2, .production_id = 1), SHIFT(8668), - [13123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_explicit_interface_specifier, 2, .production_id = 1), + [13114] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_explicit_interface_specifier, 2, 0, 1), SHIFT(4095), + [13117] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_explicit_interface_specifier, 2, 0, 1), SHIFT(4090), + [13120] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_explicit_interface_specifier, 2, 0, 1), SHIFT(8668), + [13123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_explicit_interface_specifier, 2, 0, 1), [13125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14011), [13127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8789), [13129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8607), @@ -1309103,17 +1307732,17 @@ static const TSParseActionEntry ts_parse_actions[] = { [13133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12007), [13135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8970), [13137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12263), - [13139] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_ref_type, 2, .production_id = 4), REDUCE(sym__parameter_type_with_modifiers, 3, .production_id = 38), + [13139] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_ref_type, 2, 0, 4), REDUCE(sym__parameter_type_with_modifiers, 3, 0, 38), [13142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14032), [13144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8285), - [13146] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__parameter_type_with_modifiers, 2, .production_id = 15), REDUCE(sym_ref_type, 2, .production_id = 4), + [13146] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__parameter_type_with_modifiers, 2, 0, 15), REDUCE(sym_ref_type, 2, 0, 4), [13149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9206), [13151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5039), - [13153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, .production_id = 1), + [13153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 1), [13155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6076), - [13157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declaration, 1), - [13159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__namespace_member_declaration, 1), - [13161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 1), + [13157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declaration, 1, 0, 0), + [13159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__namespace_member_declaration, 1, 0, 0), + [13161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compilation_unit_repeat5, 1, 0, 0), [13163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12089), [13165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12107), [13167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11964), @@ -1309124,7 +1307753,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [13177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12123), [13179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12094), [13181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12056), - [13183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 1), + [13183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_file_scoped_namespace_declaration_repeat1, 1, 0, 0), [13185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12088), [13187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12018), [13189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12074), @@ -1309144,8 +1307773,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [13217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12204), [13219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8542), [13221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12154), - [13223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2), - [13225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2), + [13223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2, 0, 0), + [13225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_pointer_type_repeat1, 2, 0, 0), [13227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4959), [13229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8332), [13231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4711), @@ -1309161,7 +1307790,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [13251] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4860), [13253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4857), [13255] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4856), - [13257] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2), SHIFT_REPEAT(9437), + [13257] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_event_field_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(9437), [13260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8882), [13262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5111), [13264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8705), @@ -1309185,7 +1307814,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [13300] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12256), [13302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12254), [13304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13476), - [13306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 3), + [13306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 3, 0, 0), [13308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13697), [13310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12286), [13312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13689), @@ -1309198,11 +1307827,11 @@ static const TSParseActionEntry ts_parse_actions[] = { [13326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12306), [13328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12307), [13330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12304), - [13332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parameter_type_with_modifiers, 2, .production_id = 15), - [13334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parameter_type_with_modifiers, 1, .production_id = 3), - [13336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parameter_type_with_modifiers, 4, .production_id = 57), - [13338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_target_specifier, 2), - [13340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parameter_type_with_modifiers, 3, .production_id = 38), + [13332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parameter_type_with_modifiers, 2, 0, 15), + [13334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parameter_type_with_modifiers, 1, 0, 3), + [13336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parameter_type_with_modifiers, 4, 0, 57), + [13338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_target_specifier, 2, 0, 0), + [13340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parameter_type_with_modifiers, 3, 0, 38), [13342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2930), [13344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8404), [13346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8399), @@ -1309280,25 +1307909,25 @@ static const TSParseActionEntry ts_parse_actions[] = { [13490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3347), [13492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3763), [13494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2300), - [13496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declarator, 1, .production_id = 1), + [13496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declarator, 1, 0, 1), [13498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5954), [13500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5953), [13502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3032), - [13504] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 2), SHIFT_REPEAT(2930), - [13507] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 2), SHIFT_REPEAT(8404), - [13510] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 2), SHIFT_REPEAT(8399), - [13513] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 2), SHIFT_REPEAT(12212), - [13516] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 2), SHIFT_REPEAT(1685), - [13519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 2), + [13504] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 2, 0, 0), SHIFT_REPEAT(2930), + [13507] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 2, 0, 0), SHIFT_REPEAT(8404), + [13510] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 2, 0, 0), SHIFT_REPEAT(8399), + [13513] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 2, 0, 0), SHIFT_REPEAT(12212), + [13516] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 2, 0, 0), SHIFT_REPEAT(1685), + [13519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 2, 0, 0), [13521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15190), [13523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11085), [13525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11012), [13527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3867), [13529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12159), - [13531] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_declarator, 1, .production_id = 1), SHIFT(5735), - [13534] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_declarator, 1, .production_id = 1), SHIFT(5496), - [13537] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_declarator, 1, .production_id = 1), SHIFT(5378), - [13540] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_parameter_constraint, 1), REDUCE(sym__contextual_keywords, 1), + [13531] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_declarator, 1, 0, 1), SHIFT(5735), + [13534] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_declarator, 1, 0, 1), SHIFT(5496), + [13537] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_declarator, 1, 0, 1), SHIFT(5378), + [13540] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_parameter_constraint, 1, 0, 0), REDUCE(sym__contextual_keywords, 1, 0, 0), [13543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5422), [13545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), [13547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12161), @@ -1309334,66 +1307963,66 @@ static const TSParseActionEntry ts_parse_actions[] = { [13607] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8494), [13609] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8945), [13611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1315), - [13613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_order_by_clause, 2), + [13613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_order_by_clause, 2, 0, 0), [13615] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6560), - [13617] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_order_by_clause_repeat1, 2), SHIFT_REPEAT(1315), - [13620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_order_by_clause_repeat1, 2), + [13617] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_order_by_clause_repeat1, 2, 0, 0), SHIFT_REPEAT(1315), + [13620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_order_by_clause_repeat1, 2, 0, 0), [13622] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8830), - [13624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_order_by_clause, 3), - [13626] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1), REDUCE(sym_type_parameter, 1, .production_id = 1), + [13624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_order_by_clause, 3, 0, 0), + [13626] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_name, 1, 0, 0), REDUCE(sym_type_parameter, 1, 0, 1), [13629] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5341), [13631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5075), [13633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4037), - [13635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_body_repeat1, 2), - [13637] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_body_repeat1, 2), SHIFT_REPEAT(655), - [13640] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_body_repeat1, 2), SHIFT_REPEAT(14863), - [13643] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat3, 2), SHIFT_REPEAT(2490), - [13646] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat3, 2), SHIFT_REPEAT(13099), - [13649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat3, 2), - [13651] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpolated_string_expression_repeat3, 2), SHIFT_REPEAT(13099), - [13654] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat2, 2), SHIFT_REPEAT(3816), - [13657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat2, 2), - [13659] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat2, 2), SHIFT_REPEAT(13116), - [13662] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpolated_string_expression_repeat2, 2), SHIFT_REPEAT(13116), + [13635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_body_repeat1, 2, 0, 0), + [13637] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_body_repeat1, 2, 0, 0), SHIFT_REPEAT(655), + [13640] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_body_repeat1, 2, 0, 0), SHIFT_REPEAT(14863), + [13643] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat3, 2, 0, 0), SHIFT_REPEAT(2490), + [13646] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat3, 2, 0, 0), SHIFT_REPEAT(13099), + [13649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat3, 2, 0, 0), + [13651] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpolated_string_expression_repeat3, 2, 0, 0), SHIFT_REPEAT(13099), + [13654] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat2, 2, 0, 0), SHIFT_REPEAT(3816), + [13657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat2, 2, 0, 0), + [13659] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat2, 2, 0, 0), SHIFT_REPEAT(13116), + [13662] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpolated_string_expression_repeat2, 2, 0, 0), SHIFT_REPEAT(13116), [13665] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5067), [13667] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8919), - [13669] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat1, 2), SHIFT_REPEAT(3177), - [13672] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat1, 2), - [13674] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat1, 2), SHIFT_REPEAT(13186), - [13677] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpolated_string_expression_repeat1, 2), SHIFT_REPEAT(13186), + [13669] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(3177), + [13672] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat1, 2, 0, 0), + [13674] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(13186), + [13677] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpolated_string_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(13186), [13680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3940), - [13682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ordering, 2), + [13682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ordering, 2, 0, 0), [13684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13692), - [13686] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__query_clause, 1), - [13688] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_base, 2), + [13686] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__query_clause, 1, 0, 0), + [13688] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_base, 2, 0, 0), [13690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11016), - [13692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_join_into_clause, 2), - [13694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_join_clause, 10, .production_id = 39), - [13696] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declarator, 1), - [13698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_join_clause, 9, .production_id = 12), - [13700] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 1), - [13702] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_declarator, 1, .production_id = 1), REDUCE(sym_tuple_element, 2, .production_id = 14), + [13692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_join_into_clause, 2, 0, 0), + [13694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_join_clause, 10, 0, 39), + [13696] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declarator, 1, 0, 0), + [13698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_join_clause, 9, 0, 12), + [13700] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__query_body_repeat1, 1, 0, 0), + [13702] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_declarator, 1, 0, 1), REDUCE(sym_tuple_element, 2, 0, 14), [13705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8192), [13707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [13709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 4, .production_id = 70), - [13711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 4, .production_id = 72), + [13709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 4, 0, 70), + [13711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 4, 0, 72), [13713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8380), [13715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14857), - [13717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_declaration_repeat1, 2), - [13719] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_declaration_repeat1, 2), SHIFT_REPEAT(12161), - [13722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_constraint, 1), + [13717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_declaration_repeat1, 2, 0, 0), + [13719] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(12161), + [13722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_constraint, 1, 0, 0), [13724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13021), - [13726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 3), - [13728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_constraints_clause, 5, .production_id = 122), + [13726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 3, 0, 0), + [13728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_constraints_clause, 5, 0, 122), [13730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6366), - [13732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_parameter_constraints_clause_repeat1, 2), - [13734] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_parameter_constraints_clause_repeat1, 2), SHIFT_REPEAT(6366), - [13737] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 3, .production_id = 12), - [13739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_constraints_clause, 4, .production_id = 86), - [13741] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat1, 1), - [13743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpolated_string_expression_repeat1, 1), - [13745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preproc_expression, 1, .production_id = 11), - [13747] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, .production_id = 41), + [13732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_parameter_constraints_clause_repeat1, 2, 0, 0), + [13734] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_parameter_constraints_clause_repeat1, 2, 0, 0), SHIFT_REPEAT(6366), + [13737] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 3, 0, 12), + [13739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_constraints_clause, 4, 0, 86), + [13741] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat1, 1, 0, 0), + [13743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpolated_string_expression_repeat1, 1, 0, 0), + [13745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preproc_expression, 1, 0, 11), + [13747] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 41), [13749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), [13751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6073), [13753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(667), @@ -1309402,88 +1308031,88 @@ static const TSParseActionEntry ts_parse_actions[] = { [13759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), [13761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5041), [13763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [13765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 5), - [13767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 5), + [13765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 5, 0, 0), + [13767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 5, 0, 0), [13769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3664), [13771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), [13773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566), [13775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3661), [13777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [13779] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 4), - [13781] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 4), - [13783] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 3), - [13785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 3), + [13779] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 4, 0, 0), + [13781] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 4, 0, 0), + [13783] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 3, 0, 0), + [13785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 3, 0, 0), [13787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), [13789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), [13791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13014), [13793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10707), [13795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10704), [13797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10702), - [13799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declarator, 2), + [13799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declarator, 2, 0, 0), [13801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13264), - [13803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_parenthesized_expression, 3), - [13805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_binary_expression, 3, .production_id = 27), - [13807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declarator, 2, .production_id = 1), + [13803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_parenthesized_expression, 3, 0, 0), + [13805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_binary_expression, 3, 0, 27), + [13807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declarator, 2, 0, 1), [13809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), [13811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10576), - [13813] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_parameter_constraints_clause_repeat1, 2), SHIFT_REPEAT(6503), + [13813] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_parameter_constraints_clause_repeat1, 2, 0, 0), SHIFT_REPEAT(6503), [13816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), [13818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8591), [13820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10577), - [13822] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_constraint, 2), - [13824] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_base, 4), - [13826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_unary_expression, 2, .production_id = 32), - [13828] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_for_statement_repeat1, 2), SHIFT_REPEAT(2785), + [13822] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_constraint, 2, 0, 0), + [13824] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_base, 4, 0, 0), + [13826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_unary_expression, 2, 0, 32), + [13828] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_for_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2785), [13831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), [13833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8797), [13835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), [13837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8892), - [13839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preproc_expression, 1), - [13841] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preproc_expression, 1, .production_id = 10), - [13843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constraint, 1, .production_id = 3), + [13839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preproc_expression, 1, 0, 0), + [13841] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preproc_expression, 1, 0, 10), + [13843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constraint, 1, 0, 3), [13845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), [13847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4045), [13849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545), [13851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542), [13853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3701), [13855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [13857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_base, 5), - [13859] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interpolated_raw_string_content, 1), - [13861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interpolated_raw_string_content, 1), - [13863] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_declaration_repeat1, 2), SHIFT_REPEAT(12159), - [13866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_constraint, 3), - [13868] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat3, 1), - [13870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpolated_string_expression_repeat3, 1), + [13857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_base, 5, 0, 0), + [13859] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interpolated_raw_string_content, 1, 0, 0), + [13861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interpolated_raw_string_content, 1, 0, 0), + [13863] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(12159), + [13866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_constraint, 3, 0, 0), + [13868] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat3, 1, 0, 0), + [13870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpolated_string_expression_repeat3, 1, 0, 0), [13872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [13874] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2, .production_id = 17), - [13876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, .production_id = 16), - [13878] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolated_raw_string_text, 1), - [13880] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolated_raw_string_text, 1), - [13882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_list, 3), - [13884] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interpolated_verbatim_string_content, 1), - [13886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interpolated_verbatim_string_content, 1), - [13888] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat2, 1), - [13890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpolated_string_expression_repeat2, 1), - [13892] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolated_verbatim_string_text, 1), - [13894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolated_verbatim_string_text, 1), + [13874] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2, 0, 17), + [13876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 16), + [13878] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolated_raw_string_text, 1, 0, 0), + [13880] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolated_raw_string_text, 1, 0, 0), + [13882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_list, 3, 0, 0), + [13884] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interpolated_verbatim_string_content, 1, 0, 0), + [13886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interpolated_verbatim_string_content, 1, 0, 0), + [13888] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpolated_string_expression_repeat2, 1, 0, 0), + [13890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpolated_string_expression_repeat2, 1, 0, 0), + [13892] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolated_verbatim_string_text, 1, 0, 0), + [13894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolated_verbatim_string_text, 1, 0, 0), [13896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), [13898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9207), [13900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10578), - [13902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_directive, 2), - [13904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_list, 4), - [13906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elif_directive, 2), - [13908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_base, 3), + [13902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_directive, 2, 0, 0), + [13904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_list, 4, 0, 0), + [13906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elif_directive, 2, 0, 0), + [13908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_base, 3, 0, 0), [13910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), [13912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5723), - [13914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_base_repeat1, 2), - [13916] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_base_repeat1, 2), SHIFT_REPEAT(11016), + [13914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_base_repeat1, 2, 0, 0), + [13916] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_base_repeat1, 2, 0, 0), SHIFT_REPEAT(11016), [13919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), [13921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8326), - [13923] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolated_string_text, 1), - [13925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolated_string_text, 1), + [13923] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolated_string_text, 1, 0, 0), + [13925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolated_string_text, 1, 0, 0), [13927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13002), - [13929] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interpolated_string_content, 1), - [13931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interpolated_string_content, 1), + [13929] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interpolated_string_content, 1, 0, 0), + [13931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interpolated_string_content, 1, 0, 0), [13933] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8722), [13935] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13414), [13937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13414), @@ -1309496,24 +1308125,24 @@ static const TSParseActionEntry ts_parse_actions[] = { [13951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15394), [13953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13798), [13955] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6525), - [13957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subpattern, 1), + [13957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subpattern, 1, 0, 0), [13959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6075), [13961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(535), [13963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(534), [13965] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8518), - [13967] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_variable_declaration_repeat1, 2), - [13969] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_variable_declaration_repeat1, 2), SHIFT_REPEAT(12005), + [13967] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_variable_declaration_repeat1, 2, 0, 0), + [13969] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_variable_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(12005), [13972] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7860), [13974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5486), [13976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11356), [13978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8610), - [13980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_constructor_base_type, 2, .production_id = 3), + [13980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_constructor_base_type, 2, 0, 3), [13982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(813), - [13984] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_declaration_repeat1, 2), SHIFT_REPEAT(12160), + [13984] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(12160), [13987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6383), - [13989] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subpattern, 2), + [13989] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subpattern, 2, 0, 0), [13991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8367), - [13993] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_list, 3), + [13993] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_list, 3, 0, 0), [13995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8287), [13997] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8102), [13999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6495), @@ -1309521,27 +1308150,27 @@ static const TSParseActionEntry ts_parse_actions[] = { [14003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11089), [14005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9218), [14007] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6236), - [14009] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_expression, 2, .production_id = 14), + [14009] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_expression, 2, 0, 14), [14011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5672), [14013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11329), [14015] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5319), [14017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5525), [14019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11330), [14021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11139), - [14023] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat2, 2), + [14023] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat2, 2, 0, 0), [14025] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6223), [14027] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8437), [14029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11281), [14031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5623), - [14033] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), - [14035] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(13414), - [14038] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(13414), + [14033] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), + [14035] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(13414), + [14038] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(13414), [14041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6434), [14043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5724), [14045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5713), - [14047] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_parameter_constraints_clause_repeat1, 2), SHIFT_REPEAT(6459), + [14047] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_parameter_constraints_clause_repeat1, 2, 0, 0), SHIFT_REPEAT(6459), [14050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5988), - [14052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__formal_parameter_list, 2, .production_id = 16), + [14052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__formal_parameter_list, 2, 0, 16), [14054] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8117), [14056] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4967), [14058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8858), @@ -1309549,34 +1308178,34 @@ static const TSParseActionEntry ts_parse_actions[] = { [14062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6431), [14064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6492), [14066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11355), - [14068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__formal_parameter_list, 2, .production_id = 18), - [14070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__formal_parameter_list, 1, .production_id = 2), - [14072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_list, 2), - [14074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__formal_parameter_list, 1), + [14068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__formal_parameter_list, 2, 0, 18), + [14070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__formal_parameter_list, 1, 0, 2), + [14072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_list, 2, 0, 0), + [14074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__formal_parameter_list, 1, 0, 0), [14076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5593), [14078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11196), [14080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8791), [14082] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7988), [14084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6412), [14086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11258), - [14088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2, .production_id = 3), + [14088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2, 0, 3), [14090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12005), [14092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11285), [14094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8604), [14096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6459), [14098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11255), [14100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5640), - [14102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_declaration_repeat1, 1), + [14102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_declaration_repeat1, 1, 0, 0), [14104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5934), [14106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11178), [14108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5594), - [14110] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat2, 2), SHIFT_REPEAT(8367), + [14110] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat2, 2, 0, 0), SHIFT_REPEAT(8367), [14113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5970), [14115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8743), [14117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5040), [14119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6407), - [14121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 3, .production_id = 3), - [14123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_pattern_repeat1, 2), + [14121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 3, 0, 3), + [14123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_pattern_repeat1, 2, 0, 0), [14125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6403), [14127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5331), [14129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6539), @@ -1309584,22 +1308213,22 @@ static const TSParseActionEntry ts_parse_actions[] = { [14133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6354), [14135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5526), [14137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11015), - [14139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__formal_parameter_list_repeat1, 2, .production_id = 18), SHIFT_REPEAT(5988), - [14142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__formal_parameter_list_repeat1, 2, .production_id = 18), + [14139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__formal_parameter_list_repeat1, 2, 0, 18), SHIFT_REPEAT(5988), + [14142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__formal_parameter_list_repeat1, 2, 0, 18), [14144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4965), - [14146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2), SHIFT_REPEAT(13559), - [14149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2), + [14146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(13559), + [14149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 2, 0, 0), [14151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8524), [14153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), [14155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(798), [14157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4804), - [14159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, .production_id = 17), - [14161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__formal_parameter_list_repeat1, 2), - [14163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__formal_parameter_list_repeat1, 2, .production_id = 16), + [14159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 17), + [14161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__formal_parameter_list_repeat1, 2, 0, 0), + [14163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__formal_parameter_list_repeat1, 2, 0, 16), [14165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8046), [14167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9432), [14169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8444), - [14171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, .production_id = 12), + [14171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 12), [14173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11247), [14175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8512), [14177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8619), @@ -1309608,8 +1308237,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [14183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11399), [14185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9237), [14187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4668), - [14189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_initializer, 3), - [14191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_array, 3, .production_id = 39), + [14189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_initializer, 3, 0, 0), + [14191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_array, 3, 0, 39), [14193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8063), [14195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(821), [14197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13690), @@ -1309618,13 +1308247,13 @@ static const TSParseActionEntry ts_parse_actions[] = { [14203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13733), [14205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1959), [14207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12168), - [14209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_initializer_expression, 2), + [14209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_initializer_expression, 2, 0, 0), [14211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8964), [14213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(845), [14215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5257), [14217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13797), - [14219] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_bracketed_argument_list_repeat1, 2), SHIFT_REPEAT(804), - [14222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bracketed_argument_list_repeat1, 2), + [14219] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_bracketed_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(804), + [14222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bracketed_argument_list_repeat1, 2, 0, 0), [14224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11251), [14226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13988), [14228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5328), @@ -1309632,12 +1308261,12 @@ static const TSParseActionEntry ts_parse_actions[] = { [14232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8274), [14234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11126), [14236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13109), - [14238] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2), SHIFT_REPEAT(11005), - [14241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2), + [14238] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2, 0, 0), SHIFT_REPEAT(11005), + [14241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2, 0, 0), [14243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5279), [14245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(836), - [14247] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_positional_pattern_clause_repeat1, 2), SHIFT_REPEAT(420), - [14250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_positional_pattern_clause_repeat1, 2), + [14247] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_positional_pattern_clause_repeat1, 2, 0, 0), SHIFT_REPEAT(420), + [14250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_positional_pattern_clause_repeat1, 2, 0, 0), [14252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10986), [14254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12167), [14256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5091), @@ -1309677,7 +1308306,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [14324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5095), [14326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7945), [14328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15085), - [14330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nullable_directive, 2), + [14330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nullable_directive, 2, 0, 0), [14332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8199), [14334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), [14336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(822), @@ -1309688,15 +1308317,15 @@ static const TSParseActionEntry ts_parse_actions[] = { [14346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), [14348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), [14350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8442), - [14352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 1), - [14354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 1), - [14356] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat2, 2), SHIFT_REPEAT(8444), + [14352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 1, 0, 0), + [14354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 1, 0, 0), + [14356] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat2, 2, 0, 0), SHIFT_REPEAT(8444), [14359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9232), [14361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), [14363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), [14365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6100), [14367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3489), - [14369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_initializer_expression, 1), + [14369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_initializer_expression, 1, 0, 0), [14371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14034), [14373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13792), [14375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8554), @@ -1309705,9 +1308334,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [14381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11185), [14383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14551), [14385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12165), - [14387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 5, .production_id = 50), - [14389] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_positional_pattern_clause_repeat1, 2), SHIFT_REPEAT(428), - [14392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 5), + [14387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 5, 0, 50), + [14389] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_positional_pattern_clause_repeat1, 2, 0, 0), SHIFT_REPEAT(428), + [14392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 5, 0, 0), [14394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1320), [14396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5973), [14398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8622), @@ -1309716,29 +1308345,29 @@ static const TSParseActionEntry ts_parse_actions[] = { [14404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(843), [14406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4699), [14408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3766), - [14410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration, 1, .production_id = 1), + [14410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration, 1, 0, 1), [14412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(833), [14414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8441), [14416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1269), - [14418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declarator, 3), + [14418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declarator, 3, 0, 0), [14420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8572), [14422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(838), [14424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8781), [14426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), [14428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [14430] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_argument_list_repeat1, 2), SHIFT_REPEAT(821), - [14433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_argument_list_repeat1, 2), + [14430] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(821), + [14433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_argument_list_repeat1, 2, 0, 0), [14435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1276), [14437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4676), - [14439] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, .production_id = 71), SHIFT_REPEAT(12136), - [14442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, .production_id = 71), - [14444] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), SHIFT_REPEAT(8046), - [14447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), + [14439] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, 0, 71), SHIFT_REPEAT(12136), + [14442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, 0, 71), + [14444] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2, 0, 0), SHIFT_REPEAT(8046), + [14447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2, 0, 0), [14449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3243), - [14451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration, 2, .production_id = 12), + [14451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration, 2, 0, 12), [14453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13684), [14455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10959), - [14457] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_bracketed_argument_list_repeat1, 2), SHIFT_REPEAT(798), + [14457] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_bracketed_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(798), [14460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6464), [14462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), [14464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), @@ -1309756,17 +1308385,17 @@ static const TSParseActionEntry ts_parse_actions[] = { [14488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), [14490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10960), [14492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10974), - [14494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 4, .production_id = 50), + [14494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 4, 0, 50), [14496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4130), - [14498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declarator, 3, .production_id = 1), + [14498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declarator, 3, 0, 1), [14500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10958), [14502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [14504] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_parameter_list_repeat1, 2), SHIFT_REPEAT(11126), - [14507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_parameter_list_repeat1, 2), + [14504] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(11126), + [14507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_parameter_list_repeat1, 2, 0, 0), [14509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), [14511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5295), [14513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4823), - [14515] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat2, 2), SHIFT_REPEAT(8512), + [14515] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat2, 2, 0, 0), SHIFT_REPEAT(8512), [14518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5736), [14520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5330), [14522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4677), @@ -1309788,27 +1308417,27 @@ static const TSParseActionEntry ts_parse_actions[] = { [14554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1931), [14556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), [14558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5315), - [14560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_body_repeat1, 1), + [14560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_body_repeat1, 1, 0, 0), [14562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8785), - [14564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_object_creation_expression_repeat1, 2), SHIFT_REPEAT(922), - [14567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_anonymous_object_creation_expression_repeat1, 2), + [14564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_object_creation_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(922), + [14567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_anonymous_object_creation_expression_repeat1, 2, 0, 0), [14569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), [14571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4790), - [14573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2, .production_id = 1), - [14575] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_with_initializer_expression_repeat1, 2), SHIFT_REPEAT(12168), - [14578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_with_initializer_expression_repeat1, 2), - [14580] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_tuple_element, 2, .production_id = 14), REDUCE(sym_declaration_expression, 2, .production_id = 14), + [14573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2, 0, 1), + [14575] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_with_initializer_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(12168), + [14578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_with_initializer_expression_repeat1, 2, 0, 0), + [14580] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_tuple_element, 2, 0, 14), REDUCE(sym_declaration_expression, 2, 0, 14), [14583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(831), [14585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13807), [14587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4664), [14589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13707), [14591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6320), - [14593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 4, .production_id = 41), + [14593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 4, 0, 41), [14595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6304), [14597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6336), - [14599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_array, 4, .production_id = 58), - [14601] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parenthesized_variable_designation_repeat1, 2, .production_id = 71), SHIFT_REPEAT(11399), - [14604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parenthesized_variable_designation_repeat1, 2, .production_id = 71), + [14599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_array, 4, 0, 58), + [14601] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parenthesized_variable_designation_repeat1, 2, 0, 71), SHIFT_REPEAT(11399), + [14604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parenthesized_variable_designation_repeat1, 2, 0, 71), [14606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6358), [14608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9460), [14610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4954), @@ -1309828,10 +1308457,10 @@ static const TSParseActionEntry ts_parse_actions[] = { [14638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), [14640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4698), [14642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13753), - [14644] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 1), + [14644] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_repeat1, 1, 0, 0), [14646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5157), - [14648] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pragma_directive_repeat1, 2), SHIFT_REPEAT(12165), - [14651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pragma_directive_repeat1, 2), + [14648] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pragma_directive_repeat1, 2, 0, 0), SHIFT_REPEAT(12165), + [14651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pragma_directive_repeat1, 2, 0, 0), [14653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5258), [14655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4955), [14657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5481), @@ -1309863,9 +1308492,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [14709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), [14711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4238), [14713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4652), - [14715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 4), - [14717] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_pointer_unmanaged_calling_convention_list_repeat1, 2), SHIFT_REPEAT(11251), - [14720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_pointer_unmanaged_calling_convention_list_repeat1, 2), + [14715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 4, 0, 0), + [14717] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_pointer_unmanaged_calling_convention_list_repeat1, 2, 0, 0), SHIFT_REPEAT(11251), + [14720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_pointer_unmanaged_calling_convention_list_repeat1, 2, 0, 0), [14722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5965), [14724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1801), [14726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8208), @@ -1309881,14 +1308510,14 @@ static const TSParseActionEntry ts_parse_actions[] = { [14746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6556), [14748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10982), [14750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8520), - [14752] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_pattern_repeat1, 2), SHIFT_REPEAT(440), + [14752] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_pattern_repeat1, 2, 0, 0), SHIFT_REPEAT(440), [14755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), [14757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1872), [14759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12924), [14761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10976), [14763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6045), [14765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [14767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_calling_convention, 1), + [14767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_calling_convention, 1, 0, 0), [14769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11221), [14771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5025), [14773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(849), @@ -1309906,15 +1308535,15 @@ static const TSParseActionEntry ts_parse_actions[] = { [14797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4671), [14799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5099), [14801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4739), - [14803] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2), SHIFT_REPEAT(441), - [14806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2), + [14803] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(441), + [14806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), [14808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4215), [14810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5011), [14812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), [14814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4737), [14816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12945), - [14818] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_member_declaration_list_repeat1, 2), SHIFT_REPEAT(11486), - [14821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_member_declaration_list_repeat1, 2), + [14818] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_member_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(11486), + [14821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_member_declaration_list_repeat1, 2, 0, 0), [14823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10968), [14825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7959), [14827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), @@ -1309922,7 +1308551,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [14831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10962), [14833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8670), [14835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13670), - [14837] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_rank_specifier_repeat1, 2), SHIFT_REPEAT(1004), + [14837] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_rank_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(1004), [14840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(835), [14842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13727), [14844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), @@ -1309935,40 +1308564,40 @@ static const TSParseActionEntry ts_parse_actions[] = { [14858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13700), [14860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5958), [14862] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13866), - [14864] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter, 3, .production_id = 33), + [14864] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter, 3, 0, 33), [14866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(854), - [14868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pragma_directive_repeat1, 2, .production_id = 112), - [14870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_argument_list, 3), + [14868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pragma_directive_repeat1, 2, 0, 112), + [14870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_argument_list, 3, 0, 0), [14872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13664), [14874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13771), [14876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15389), - [14878] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parenthesized_variable_designation_repeat1, 2, .production_id = 47), + [14878] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parenthesized_variable_designation_repeat1, 2, 0, 47), [14880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(842), [14882] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14152), [14884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3808), - [14886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter, 2, .production_id = 12), + [14886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter, 2, 0, 12), [14888] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14153), [14890] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15398), - [14892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_endregion_directive, 1), + [14892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_endregion_directive, 1, 0, 0), [14894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3774), - [14896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_argument_list, 4), + [14896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_argument_list, 4, 0, 0), [14898] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15401), - [14900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_region_directive, 1), + [14900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_region_directive, 1, 0, 0), [14902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12689), [14904] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14826), - [14906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_declaration, 4, .production_id = 39), + [14906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_declaration, 4, 0, 39), [14908] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14371), [14910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5737), - [14912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter, 1, .production_id = 1), + [14912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter, 1, 0, 1), [14914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3957), [14916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5742), - [14918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bracketed_parameter_list, 3, .production_id = 16), + [14918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bracketed_parameter_list, 3, 0, 16), [14920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(839), - [14922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_parameter, 2, .production_id = 15), - [14924] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_argument_list, 2), - [14926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_unmanaged_calling_convention, 1), + [14922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_parameter, 2, 0, 15), + [14924] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_argument_list, 2, 0, 0), + [14926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_unmanaged_calling_convention, 1, 0, 0), [14928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(829), - [14930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_element, 2, .production_id = 14), + [14930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_element, 2, 0, 14), [14932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3958), [14934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12156), [14936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3952), @@ -1309982,10 +1308611,10 @@ static const TSParseActionEntry ts_parse_actions[] = { [14952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12575), [14954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2624), [14956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15597), - [14958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2, .production_id = 1), + [14958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 1), [14960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2622), [14962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15083), - [14964] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_directive, 2), + [14964] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_directive, 2, 0, 0), [14966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(856), [14968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14874), [14970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14343), @@ -1309994,15 +1308623,15 @@ static const TSParseActionEntry ts_parse_actions[] = { [14976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(851), [14978] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15440), [14980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3138), - [14982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_declaration, 3, .production_id = 4), + [14982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_declaration, 3, 0, 4), [14984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5756), [14986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(803), [14988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(828), [14990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5759), [14992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3772), - [14994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, .production_id = 12), + [14994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, 0, 12), [14996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [14998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2), + [14998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, 0, 0), [15000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1833), [15002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), [15004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13716), @@ -1310133,7 +1308762,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [15254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1264), [15256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1995), [15258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1268), - [15260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_unmanaged_calling_convention_list, 3), + [15260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_unmanaged_calling_convention_list, 3, 0, 0), [15262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4175), [15264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1391), [15266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13743), @@ -1310156,7 +1308785,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [15300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1915), [15302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12142), [15304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1913), - [15306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration_list, 4), + [15306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration_list, 4, 0, 0), [15308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), [15310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1355), [15312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11273), @@ -1310176,8 +1308805,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [15340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8324), [15342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1829), [15344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13086), - [15346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration_list, 5), - [15348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_unmanaged_calling_convention_list, 4), + [15346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration_list, 5, 0, 0), + [15348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_unmanaged_calling_convention_list, 4, 0, 0), [15350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11160), [15352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8311), [15354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11159), @@ -1310221,7 +1308850,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [15430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1370), [15432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6377), [15434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1988), - [15436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_filter_clause, 4), + [15436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_filter_clause, 4, 0, 0), [15438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5396), [15440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1783), [15442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1875), @@ -1310238,7 +1308867,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [15464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11148), [15466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13704), [15468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11147), - [15470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__overloadable_operator, 1), + [15470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__overloadable_operator, 1, 0, 0), [15472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1103), [15474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11146), [15476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8103), @@ -1310476,8 +1309105,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [15940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1974), [15942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13809), [15944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14345), - [15946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_directive, 13), - [15948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_directive, 14), + [15946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_directive, 13, 0, 0), + [15948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_directive, 14, 0, 0), [15950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1366), [15952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5150), [15954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3093), @@ -1310514,7 +1309143,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [16016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1768), [16018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1270), [16020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1266), - [16022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation_format_clause, 2), + [16022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation_format_clause, 2, 0, 0), [16024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1763), [16026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1762), [16028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3997), @@ -1310673,7 +1309302,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [16334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1680), [16336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1675), [16338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1965), - [16340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration_list, 3), + [16340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration_list, 3, 0, 0), [16342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1668), [16344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1667), [16346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1664), @@ -1310706,7 +1309335,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [16400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1420), [16402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1410), [16404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11220), - [16406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 3), + [16406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 3, 0, 0), [16408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1104), [16410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6346), [16412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2022), @@ -1310985,7 +1309614,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [16958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1640), [16960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1639), [16962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1638), - [16964] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_parameter, 1, .production_id = 3), + [16964] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_parameter, 1, 0, 3), [16966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1735), [16968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4040), [16970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1637), @@ -1311063,7 +1309692,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [17114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1182), [17116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1175), [17118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1173), - [17120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_calling_convention, 2), + [17120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_calling_convention, 2, 0, 0), [17122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4243), [17124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1172), [17126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5691), @@ -1311077,7 +1309706,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [17142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11916), [17144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1709), [17146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6421), - [17148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_return_type, 1, .production_id = 3), + [17148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_pointer_return_type, 1, 0, 3), [17150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11179), [17152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1710), [17154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1252), @@ -1311118,7 +1309747,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [17224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1578), [17226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1582), [17228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1304), - [17230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration_list, 2), + [17230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration_list, 2, 0, 0), [17232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11186), [17234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1306), [17236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1310), @@ -1311140,7 +1309769,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [17268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5667), [17270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1357), [17272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5510), - [17274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 2), + [17274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 2, 0, 0), [17276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5684), [17278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1960), [17280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5683), @@ -1311189,9 +1309818,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [17366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2122), [17368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14675), [17370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6613), - [17372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_directive, 3), + [17372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_directive, 3, 0, 0), [17374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2054), - [17376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nullable_directive, 3), + [17376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nullable_directive, 3, 0, 0), [17378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1940), [17380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2110), [17382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1494), @@ -1311293,7 +1309922,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [17574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1115), [17576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1102), [17578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2059), - [17580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_body, 1), + [17580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_body, 1, 0, 0), [17582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2058), [17584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2057), [17586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5649), @@ -1311483,8 +1310112,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [17954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1157), [17956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3960), [17958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1432), - [17960] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_load_directive, 2), - [17962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reference_directive, 2), + [17960] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_load_directive, 2, 0, 0), + [17962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reference_directive, 2, 0, 0), [17964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5556), [17966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6504), [17968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1586), @@ -1311494,15 +1310123,15 @@ static const TSParseActionEntry ts_parse_actions[] = { [17976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3998), [17978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1593), [17980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15052), - [17982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_warning_directive, 2), - [17984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_directive, 2), - [17986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_endregion_directive, 2), + [17982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_warning_directive, 2, 0, 0), + [17984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_directive, 2, 0, 0), + [17986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_endregion_directive, 2, 0, 0), [17988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1065), - [17990] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_region_directive, 2), + [17990] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_region_directive, 2, 0, 0), [17992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1596), - [17994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_undef_directive, 2), + [17994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_undef_directive, 2, 0, 0), [17996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1900), - [17998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_define_directive, 2), + [17998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_define_directive, 2, 0, 0), [18000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2844), [18002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2483), [18004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2845), @@ -1311523,7 +1310152,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [18034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1614), [18036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5605), [18038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1756), - [18040] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shebang_directive, 2), + [18040] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shebang_directive, 2, 0, 0), [18042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1765), [18044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6400), [18046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1766), @@ -1311730,7 +1310359,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [18448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5546), [18450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2119), [18452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2063), - [18454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_directive, 1), + [18454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_directive, 1, 0, 0), [18456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8719), [18458] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15426), [18460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2062), @@ -1311747,7 +1310376,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [18482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13310), [18484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5543), [18486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5542), - [18488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_parameter_list, 1), + [18488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_implicit_parameter_list, 1, 0, 0), [18490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1633), [18492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3927), [18494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5281), @@ -1311811,7 +1310440,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [18610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2567), [18612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5532), [18614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2502), - [18616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preprocessor_call, 3), + [18616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preprocessor_call, 3, 0, 0), }; enum ts_external_scanner_symbol_identifiers { @@ -1311846,11 +1310475,15 @@ bool tree_sitter_c_sharp_external_scanner_scan(void *, TSLexer *, const bool *); unsigned tree_sitter_c_sharp_external_scanner_serialize(void *, char *); void tree_sitter_c_sharp_external_scanner_deserialize(void *, const char *, unsigned); -#ifdef _WIN32 -#define extern __declspec(dllexport) +#ifdef TREE_SITTER_HIDE_SYMBOLS +#define TS_PUBLIC +#elif defined(_WIN32) +#define TS_PUBLIC __declspec(dllexport) +#else +#define TS_PUBLIC __attribute__((visibility("default"))) #endif -extern const TSLanguage *tree_sitter_c_sharp(void) { +TS_PUBLIC const TSLanguage *tree_sitter_c_sharp(void) { static const TSLanguage language = { .version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, diff --git a/src/tree_sitter/alloc.h b/src/tree_sitter/alloc.h new file mode 100644 index 00000000..1f4466d7 --- /dev/null +++ b/src/tree_sitter/alloc.h @@ -0,0 +1,54 @@ +#ifndef TREE_SITTER_ALLOC_H_ +#define TREE_SITTER_ALLOC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +// Allow clients to override allocation functions +#ifdef TREE_SITTER_REUSE_ALLOCATOR + +extern void *(*ts_current_malloc)(size_t); +extern void *(*ts_current_calloc)(size_t, size_t); +extern void *(*ts_current_realloc)(void *, size_t); +extern void (*ts_current_free)(void *); + +#ifndef ts_malloc +#define ts_malloc ts_current_malloc +#endif +#ifndef ts_calloc +#define ts_calloc ts_current_calloc +#endif +#ifndef ts_realloc +#define ts_realloc ts_current_realloc +#endif +#ifndef ts_free +#define ts_free ts_current_free +#endif + +#else + +#ifndef ts_malloc +#define ts_malloc malloc +#endif +#ifndef ts_calloc +#define ts_calloc calloc +#endif +#ifndef ts_realloc +#define ts_realloc realloc +#endif +#ifndef ts_free +#define ts_free free +#endif + +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ALLOC_H_ diff --git a/src/tree_sitter/array.h b/src/tree_sitter/array.h new file mode 100644 index 00000000..15a3b233 --- /dev/null +++ b/src/tree_sitter/array.h @@ -0,0 +1,290 @@ +#ifndef TREE_SITTER_ARRAY_H_ +#define TREE_SITTER_ARRAY_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./alloc.h" + +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +#pragma warning(disable : 4101) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#endif + +#define Array(T) \ + struct { \ + T *contents; \ + uint32_t size; \ + uint32_t capacity; \ + } + +/// Initialize an array. +#define array_init(self) \ + ((self)->size = 0, (self)->capacity = 0, (self)->contents = NULL) + +/// Create an empty array. +#define array_new() \ + { NULL, 0, 0 } + +/// Get a pointer to the element at a given `index` in the array. +#define array_get(self, _index) \ + (assert((uint32_t)(_index) < (self)->size), &(self)->contents[_index]) + +/// Get a pointer to the first element in the array. +#define array_front(self) array_get(self, 0) + +/// Get a pointer to the last element in the array. +#define array_back(self) array_get(self, (self)->size - 1) + +/// Clear the array, setting its size to zero. Note that this does not free any +/// memory allocated for the array's contents. +#define array_clear(self) ((self)->size = 0) + +/// Reserve `new_capacity` elements of space in the array. If `new_capacity` is +/// less than the array's current capacity, this function has no effect. +#define array_reserve(self, new_capacity) \ + _array__reserve((Array *)(self), array_elem_size(self), new_capacity) + +/// Free any memory allocated for this array. Note that this does not free any +/// memory allocated for the array's contents. +#define array_delete(self) _array__delete((Array *)(self)) + +/// Push a new `element` onto the end of the array. +#define array_push(self, element) \ + (_array__grow((Array *)(self), 1, array_elem_size(self)), \ + (self)->contents[(self)->size++] = (element)) + +/// Increase the array's size by `count` elements. +/// New elements are zero-initialized. +#define array_grow_by(self, count) \ + do { \ + if ((count) == 0) break; \ + _array__grow((Array *)(self), count, array_elem_size(self)); \ + memset((self)->contents + (self)->size, 0, (count) * array_elem_size(self)); \ + (self)->size += (count); \ + } while (0) + +/// Append all elements from one array to the end of another. +#define array_push_all(self, other) \ + array_extend((self), (other)->size, (other)->contents) + +/// Append `count` elements to the end of the array, reading their values from the +/// `contents` pointer. +#define array_extend(self, count, contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), (self)->size, \ + 0, count, contents \ + ) + +/// Remove `old_count` elements from the array starting at the given `index`. At +/// the same index, insert `new_count` new elements, reading their values from the +/// `new_contents` pointer. +#define array_splice(self, _index, old_count, new_count, new_contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), _index, \ + old_count, new_count, new_contents \ + ) + +/// Insert one `element` into the array at the given `index`. +#define array_insert(self, _index, element) \ + _array__splice((Array *)(self), array_elem_size(self), _index, 0, 1, &(element)) + +/// Remove one element from the array at the given `index`. +#define array_erase(self, _index) \ + _array__erase((Array *)(self), array_elem_size(self), _index) + +/// Pop the last element off the array, returning the element by value. +#define array_pop(self) ((self)->contents[--(self)->size]) + +/// Assign the contents of one array to another, reallocating if necessary. +#define array_assign(self, other) \ + _array__assign((Array *)(self), (const Array *)(other), array_elem_size(self)) + +/// Swap one array with another +#define array_swap(self, other) \ + _array__swap((Array *)(self), (Array *)(other)) + +/// Get the size of the array contents +#define array_elem_size(self) (sizeof *(self)->contents) + +/// Search a sorted array for a given `needle` value, using the given `compare` +/// callback to determine the order. +/// +/// If an existing element is found to be equal to `needle`, then the `index` +/// out-parameter is set to the existing value's index, and the `exists` +/// out-parameter is set to true. Otherwise, `index` is set to an index where +/// `needle` should be inserted in order to preserve the sorting, and `exists` +/// is set to false. +#define array_search_sorted_with(self, compare, needle, _index, _exists) \ + _array__search_sorted(self, 0, compare, , needle, _index, _exists) + +/// Search a sorted array for a given `needle` value, using integer comparisons +/// of a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_with`. +#define array_search_sorted_by(self, field, needle, _index, _exists) \ + _array__search_sorted(self, 0, _compare_int, field, needle, _index, _exists) + +/// Insert a given `value` into a sorted array, using the given `compare` +/// callback to determine the order. +#define array_insert_sorted_with(self, compare, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_with(self, compare, &(value), &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +/// Insert a given `value` into a sorted array, using integer comparisons of +/// a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_by`. +#define array_insert_sorted_by(self, field, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_by(self, field, (value) field, &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +// Private + +typedef Array(void) Array; + +/// This is not what you're looking for, see `array_delete`. +static inline void _array__delete(Array *self) { + if (self->contents) { + ts_free(self->contents); + self->contents = NULL; + self->size = 0; + self->capacity = 0; + } +} + +/// This is not what you're looking for, see `array_erase`. +static inline void _array__erase(Array *self, size_t element_size, + uint32_t index) { + assert(index < self->size); + char *contents = (char *)self->contents; + memmove(contents + index * element_size, contents + (index + 1) * element_size, + (self->size - index - 1) * element_size); + self->size--; +} + +/// This is not what you're looking for, see `array_reserve`. +static inline void _array__reserve(Array *self, size_t element_size, uint32_t new_capacity) { + if (new_capacity > self->capacity) { + if (self->contents) { + self->contents = ts_realloc(self->contents, new_capacity * element_size); + } else { + self->contents = ts_malloc(new_capacity * element_size); + } + self->capacity = new_capacity; + } +} + +/// This is not what you're looking for, see `array_assign`. +static inline void _array__assign(Array *self, const Array *other, size_t element_size) { + _array__reserve(self, element_size, other->size); + self->size = other->size; + memcpy(self->contents, other->contents, self->size * element_size); +} + +/// This is not what you're looking for, see `array_swap`. +static inline void _array__swap(Array *self, Array *other) { + Array swap = *other; + *other = *self; + *self = swap; +} + +/// This is not what you're looking for, see `array_push` or `array_grow_by`. +static inline void _array__grow(Array *self, uint32_t count, size_t element_size) { + uint32_t new_size = self->size + count; + if (new_size > self->capacity) { + uint32_t new_capacity = self->capacity * 2; + if (new_capacity < 8) new_capacity = 8; + if (new_capacity < new_size) new_capacity = new_size; + _array__reserve(self, element_size, new_capacity); + } +} + +/// This is not what you're looking for, see `array_splice`. +static inline void _array__splice(Array *self, size_t element_size, + uint32_t index, uint32_t old_count, + uint32_t new_count, const void *elements) { + uint32_t new_size = self->size + new_count - old_count; + uint32_t old_end = index + old_count; + uint32_t new_end = index + new_count; + assert(old_end <= self->size); + + _array__reserve(self, element_size, new_size); + + char *contents = (char *)self->contents; + if (self->size > old_end) { + memmove( + contents + new_end * element_size, + contents + old_end * element_size, + (self->size - old_end) * element_size + ); + } + if (new_count > 0) { + if (elements) { + memcpy( + (contents + index * element_size), + elements, + new_count * element_size + ); + } else { + memset( + (contents + index * element_size), + 0, + new_count * element_size + ); + } + } + self->size += new_count - old_count; +} + +/// A binary search routine, based on Rust's `std::slice::binary_search_by`. +/// This is not what you're looking for, see `array_search_sorted_with` or `array_search_sorted_by`. +#define _array__search_sorted(self, start, compare, suffix, needle, _index, _exists) \ + do { \ + *(_index) = start; \ + *(_exists) = false; \ + uint32_t size = (self)->size - *(_index); \ + if (size == 0) break; \ + int comparison; \ + while (size > 1) { \ + uint32_t half_size = size / 2; \ + uint32_t mid_index = *(_index) + half_size; \ + comparison = compare(&((self)->contents[mid_index] suffix), (needle)); \ + if (comparison <= 0) *(_index) = mid_index; \ + size -= half_size; \ + } \ + comparison = compare(&((self)->contents[*(_index)] suffix), (needle)); \ + if (comparison == 0) *(_exists) = true; \ + else if (comparison < 0) *(_index) += 1; \ + } while (0) + +/// Helper macro for the `_sorted_by` routines below. This takes the left (existing) +/// parameter by reference in order to work with the generic sorting function above. +#define _compare_int(a, b) ((int)*(a) - (int)(b)) + +#ifdef _MSC_VER +#pragma warning(default : 4101) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ARRAY_H_ diff --git a/src/tree_sitter/parser.h b/src/tree_sitter/parser.h index 17b4fde9..17f0e94b 100644 --- a/src/tree_sitter/parser.h +++ b/src/tree_sitter/parser.h @@ -86,6 +86,11 @@ typedef union { } entry; } TSParseActionEntry; +typedef struct { + int32_t start; + int32_t end; +} TSCharacterRange; + struct TSLanguage { uint32_t version; uint32_t symbol_count; @@ -125,6 +130,24 @@ struct TSLanguage { const TSStateId *primary_state_ids; }; +static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { + uint32_t index = 0; + uint32_t size = len - index; + while (size > 1) { + uint32_t half_size = size / 2; + uint32_t mid_index = index + half_size; + TSCharacterRange *range = &ranges[mid_index]; + if (lookahead >= range->start && lookahead <= range->end) { + return true; + } else if (lookahead > range->end) { + index = mid_index; + } + size -= half_size; + } + TSCharacterRange *range = &ranges[index]; + return (lookahead >= range->start && lookahead <= range->end); +} + /* * Lexer Macros */ @@ -154,6 +177,17 @@ struct TSLanguage { goto next_state; \ } +#define ADVANCE_MAP(...) \ + { \ + static const uint16_t map[] = { __VA_ARGS__ }; \ + for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \ + if (map[i] == lookahead) { \ + state = map[i + 1]; \ + goto next_state; \ + } \ + } \ + } + #define SKIP(state_value) \ { \ skip = true; \ @@ -203,14 +237,15 @@ struct TSLanguage { } \ }} -#define REDUCE(symbol_val, child_count_val, ...) \ - {{ \ - .reduce = { \ - .type = TSParseActionTypeReduce, \ - .symbol = symbol_val, \ - .child_count = child_count_val, \ - __VA_ARGS__ \ - }, \ +#define REDUCE(symbol_name, children, precedence, prod_id) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_name, \ + .child_count = children, \ + .dynamic_precedence = precedence, \ + .production_id = prod_id \ + }, \ }} #define RECOVER() \ From 1a2174187efa0a62a8a3290b2d3a9b9b5576d31b Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Wed, 1 May 2024 16:20:19 -0400 Subject: [PATCH 3/3] build: update bindings --- .editorconfig | 39 ++++++ Makefile | 112 ++++++++++++++++++ binding.gyp | 23 +++- bindings/c/tree-sitter-c_sharp.h | 16 +++ bindings/c/tree-sitter-c_sharp.pc.in | 11 ++ bindings/go/binding.go | 13 ++ bindings/go/binding_test.go | 15 +++ bindings/go/go.mod | 5 + bindings/node/binding.cc | 36 +++--- bindings/node/index.d.ts | 28 +++++ bindings/node/index.js | 18 +-- .../python/tree_sitter_c_sharp/__init__.py | 5 + .../python/tree_sitter_c_sharp/__init__.pyi | 1 + bindings/python/tree_sitter_c_sharp/binding.c | 27 +++++ bindings/python/tree_sitter_c_sharp/py.typed | 0 bindings/rust/build.rs | 3 + bindings/swift/TreeSitterCSharp/csharp.h | 4 +- package.json | 29 ++++- pyproject.toml | 33 ++++++ setup.py | 60 ++++++++++ test.js | 3 - 21 files changed, 429 insertions(+), 52 deletions(-) create mode 100644 .editorconfig create mode 100644 Makefile create mode 100644 bindings/c/tree-sitter-c_sharp.h create mode 100644 bindings/c/tree-sitter-c_sharp.pc.in create mode 100644 bindings/go/binding.go create mode 100644 bindings/go/binding_test.go create mode 100644 bindings/go/go.mod create mode 100644 bindings/node/index.d.ts create mode 100644 bindings/python/tree_sitter_c_sharp/__init__.py create mode 100644 bindings/python/tree_sitter_c_sharp/__init__.pyi create mode 100644 bindings/python/tree_sitter_c_sharp/binding.c create mode 100644 bindings/python/tree_sitter_c_sharp/py.typed create mode 100644 pyproject.toml create mode 100644 setup.py delete mode 100644 test.js diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..d3a8b5b6 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,39 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.{json,toml,yml,gyp}] +indent_style = space +indent_size = 2 + +[*.js] +indent_style = space +indent_size = 2 + +[*.rs] +indent_style = space +indent_size = 4 + +[*.{c,cc,h}] +indent_style = space +indent_size = 4 + +[*.{py,pyi}] +indent_style = space +indent_size = 4 + +[*.swift] +indent_style = space +indent_size = 4 + +[*.go] +indent_style = tab +indent_size = 8 + +[Makefile] +indent_style = tab +indent_size = 8 diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..9d31c79f --- /dev/null +++ b/Makefile @@ -0,0 +1,112 @@ +VERSION := 0.20.0 + +LANGUAGE_NAME := tree-sitter-c_sharp + +# repository +SRC_DIR := src + +PARSER_REPO_URL := $(shell git -C $(SRC_DIR) remote get-url origin 2>/dev/null) + +ifeq ($(PARSER_URL),) + PARSER_URL := $(subst .git,,$(PARSER_REPO_URL)) +ifeq ($(shell echo $(PARSER_URL) | grep '^[a-z][-+.0-9a-z]*://'),) + PARSER_URL := $(subst :,/,$(PARSER_URL)) + PARSER_URL := $(subst git@,https://,$(PARSER_URL)) +endif +endif + +TS ?= tree-sitter + +# ABI versioning +SONAME_MAJOR := $(word 1,$(subst ., ,$(VERSION))) +SONAME_MINOR := $(word 2,$(subst ., ,$(VERSION))) + +# install directory layout +PREFIX ?= /usr/local +INCLUDEDIR ?= $(PREFIX)/include +LIBDIR ?= $(PREFIX)/lib +PCLIBDIR ?= $(LIBDIR)/pkgconfig + +# source/object files +PARSER := $(SRC_DIR)/parser.c +EXTRAS := $(filter-out $(PARSER),$(wildcard $(SRC_DIR)/*.c)) +OBJS := $(patsubst %.c,%.o,$(PARSER) $(EXTRAS)) + +# flags +ARFLAGS ?= rcs +override CFLAGS += -I$(SRC_DIR) -std=c11 -fPIC + +# OS-specific bits +ifeq ($(OS),Windows_NT) + $(error "Windows is not supported") +else ifeq ($(shell uname),Darwin) + SOEXT = dylib + SOEXTVER_MAJOR = $(SONAME_MAJOR).dylib + SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).dylib + LINKSHARED := $(LINKSHARED)-dynamiclib -Wl, + ifneq ($(ADDITIONAL_LIBS),) + LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS), + endif + LINKSHARED := $(LINKSHARED)-install_name,$(LIBDIR)/lib$(LANGUAGE_NAME).$(SONAME_MAJOR).dylib,-rpath,@executable_path/../Frameworks +else + SOEXT = so + SOEXTVER_MAJOR = so.$(SONAME_MAJOR) + SOEXTVER = so.$(SONAME_MAJOR).$(SONAME_MINOR) + LINKSHARED := $(LINKSHARED)-shared -Wl, + ifneq ($(ADDITIONAL_LIBS),) + LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS) + endif + LINKSHARED := $(LINKSHARED)-soname,lib$(LANGUAGE_NAME).so.$(SONAME_MAJOR) +endif +ifneq ($(filter $(shell uname),FreeBSD NetBSD DragonFly),) + PCLIBDIR := $(PREFIX)/libdata/pkgconfig +endif + +all: lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT) $(LANGUAGE_NAME).pc + +lib$(LANGUAGE_NAME).a: $(OBJS) + $(AR) $(ARFLAGS) $@ $^ + +lib$(LANGUAGE_NAME).$(SOEXT): $(OBJS) + $(CC) $(LDFLAGS) $(LINKSHARED) $^ $(LDLIBS) -o $@ +ifneq ($(STRIP),) + $(STRIP) $@ +endif + +$(LANGUAGE_NAME).pc: bindings/c/$(LANGUAGE_NAME).pc.in + sed -e 's|@URL@|$(PARSER_URL)|' \ + -e 's|@VERSION@|$(VERSION)|' \ + -e 's|@LIBDIR@|$(LIBDIR)|' \ + -e 's|@INCLUDEDIR@|$(INCLUDEDIR)|' \ + -e 's|@REQUIRES@|$(REQUIRES)|' \ + -e 's|@ADDITIONAL_LIBS@|$(ADDITIONAL_LIBS)|' \ + -e 's|=$(PREFIX)|=$${prefix}|' \ + -e 's|@PREFIX@|$(PREFIX)|' $< > $@ + +$(PARSER): $(SRC_DIR)/grammar.json + $(TS) generate --no-bindings $^ + +install: all + install -d '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter '$(DESTDIR)$(PCLIBDIR)' '$(DESTDIR)$(LIBDIR)' + install -m644 bindings/c/$(LANGUAGE_NAME).h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h + install -m644 $(LANGUAGE_NAME).pc '$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc + install -m644 lib$(LANGUAGE_NAME).a '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a + install -m755 lib$(LANGUAGE_NAME).$(SOEXT) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER) + ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) + ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXT) + +uninstall: + $(RM) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a \ + '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER) \ + '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) \ + '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXT) \ + '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h \ + '$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc + +clean: + $(RM) $(OBJS) $(LANGUAGE_NAME).pc lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT) + +test: + $(TS) test + +.PHONY: all install uninstall clean test diff --git a/binding.gyp b/binding.gyp index f2b1e341..54219aed 100644 --- a/binding.gyp +++ b/binding.gyp @@ -2,18 +2,29 @@ "targets": [ { "target_name": "tree_sitter_c_sharp_binding", + "dependencies": [ + " -#include "nan.h" +#include -using namespace v8; +typedef struct TSLanguage TSLanguage; -extern "C" TSLanguage * tree_sitter_c_sharp(); +extern "C" TSLanguage *tree_sitter_c_sharp(); -namespace { +// "tree-sitter", "language" hashed with BLAKE2 +const napi_type_tag LANGUAGE_TYPE_TAG = { + 0x8AF2E5212AD58ABF, 0xD5006CAD83ABBA16 +}; -NAN_METHOD(New) {} - -void Init(Local exports, Local module) { - Local tpl = Nan::New(New); - tpl->SetClassName(Nan::New("Language").ToLocalChecked()); - tpl->InstanceTemplate()->SetInternalFieldCount(1); - - Local constructor = Nan::GetFunction(tpl).ToLocalChecked(); - Local instance = constructor->NewInstance(Nan::GetCurrentContext()).ToLocalChecked(); - Nan::SetInternalFieldPointer(instance, 0, tree_sitter_c_sharp()); - - Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("c_sharp").ToLocalChecked()); - Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance); +Napi::Object Init(Napi::Env env, Napi::Object exports) { + exports["name"] = Napi::String::New(env, "c_sharp"); + auto language = Napi::External::New(env, tree_sitter_c_sharp()); + language.TypeTag(&LANGUAGE_TYPE_TAG); + exports["language"] = language; + return exports; } -NODE_MODULE(tree_sitter_c_sharp_binding, Init) - -} // namespace +NODE_API_MODULE(tree_sitter_c_sharp_binding, Init) diff --git a/bindings/node/index.d.ts b/bindings/node/index.d.ts new file mode 100644 index 00000000..efe259ee --- /dev/null +++ b/bindings/node/index.d.ts @@ -0,0 +1,28 @@ +type BaseNode = { + type: string; + named: boolean; +}; + +type ChildNode = { + multiple: boolean; + required: boolean; + types: BaseNode[]; +}; + +type NodeInfo = + | (BaseNode & { + subtypes: BaseNode[]; + }) + | (BaseNode & { + fields: { [name: string]: ChildNode }; + children: ChildNode[]; + }); + +type Language = { + name: string; + language: unknown; + nodeTypeInfo: NodeInfo[]; +}; + +declare const language: Language; +export = language; diff --git a/bindings/node/index.js b/bindings/node/index.js index 96dd5587..6657bcf4 100644 --- a/bindings/node/index.js +++ b/bindings/node/index.js @@ -1,18 +1,6 @@ -try { - module.exports = require("../../build/Release/tree_sitter_c_sharp_binding"); -} catch (error1) { - if (error1.code !== 'MODULE_NOT_FOUND') { - throw error1; - } - try { - module.exports = require("../../build/Debug/tree_sitter_c_sharp_binding"); - } catch (error2) { - if (error2.code !== 'MODULE_NOT_FOUND') { - throw error2; - } - throw error1 - } -} +const root = require("path").join(__dirname, "..", ".."); + +module.exports = require("node-gyp-build")(root); try { module.exports.nodeTypeInfo = require("../../src/node-types.json"); diff --git a/bindings/python/tree_sitter_c_sharp/__init__.py b/bindings/python/tree_sitter_c_sharp/__init__.py new file mode 100644 index 00000000..c8e3107f --- /dev/null +++ b/bindings/python/tree_sitter_c_sharp/__init__.py @@ -0,0 +1,5 @@ +"C# grammar for tree-sitter" + +from ._binding import language + +__all__ = ["language"] diff --git a/bindings/python/tree_sitter_c_sharp/__init__.pyi b/bindings/python/tree_sitter_c_sharp/__init__.pyi new file mode 100644 index 00000000..5416666f --- /dev/null +++ b/bindings/python/tree_sitter_c_sharp/__init__.pyi @@ -0,0 +1 @@ +def language() -> int: ... diff --git a/bindings/python/tree_sitter_c_sharp/binding.c b/bindings/python/tree_sitter_c_sharp/binding.c new file mode 100644 index 00000000..02741909 --- /dev/null +++ b/bindings/python/tree_sitter_c_sharp/binding.c @@ -0,0 +1,27 @@ +#include + +typedef struct TSLanguage TSLanguage; + +TSLanguage *tree_sitter_c_sharp(void); + +static PyObject* _binding_language(PyObject *self, PyObject *args) { + return PyLong_FromVoidPtr(tree_sitter_c_sharp()); +} + +static PyMethodDef methods[] = { + {"language", _binding_language, METH_NOARGS, + "Get the tree-sitter language for this grammar."}, + {NULL, NULL, 0, NULL} +}; + +static struct PyModuleDef module = { + .m_base = PyModuleDef_HEAD_INIT, + .m_name = "_binding", + .m_doc = NULL, + .m_size = -1, + .m_methods = methods +}; + +PyMODINIT_FUNC PyInit__binding(void) { + return PyModule_Create(&module); +} diff --git a/bindings/python/tree_sitter_c_sharp/py.typed b/bindings/python/tree_sitter_c_sharp/py.typed new file mode 100644 index 00000000..e69de29b diff --git a/bindings/rust/build.rs b/bindings/rust/build.rs index 79518dda..7d52b8b9 100644 --- a/bindings/rust/build.rs +++ b/bindings/rust/build.rs @@ -10,6 +10,9 @@ fn main() { .flag_if_supported("-Wno-unused-parameter") .flag_if_supported("-Wno-unused-but-set-variable") .flag_if_supported("-Wno-trigraphs"); + #[cfg(target_env = "msvc")] + c_config.flag("-utf-8"); + let parser_path = src_dir.join("parser.c"); c_config.file(&parser_path); let scanner_path = src_dir.join("scanner.c"); diff --git a/bindings/swift/TreeSitterCSharp/csharp.h b/bindings/swift/TreeSitterCSharp/csharp.h index 187a79a5..21b8ac6e 100644 --- a/bindings/swift/TreeSitterCSharp/csharp.h +++ b/bindings/swift/TreeSitterCSharp/csharp.h @@ -7,10 +7,10 @@ typedef struct TSLanguage TSLanguage; extern "C" { #endif -extern TSLanguage *tree_sitter_c_sharp(); +const TSLanguage *tree_sitter_c_sharp(void); #ifdef __cplusplus } #endif -#endif // TREE_SITTER_CSHARP_H_ \ No newline at end of file +#endif // TREE_SITTER_CSHARP_H_ diff --git a/package.json b/package.json index c166083c..2cd0b7c5 100644 --- a/package.json +++ b/package.json @@ -3,11 +3,20 @@ "version": "0.20.0", "description": "C# grammar for tree-sitter", "main": "bindings/node", + "types": "bindings/node", "keywords": [ "parser", "tree-sitter", "lexer" ], + "files": [ + "grammar.js", + "binding.gyp", + "prebuilds/**", + "bindings/node/*", + "queries/*", + "src/**" + ], "repository": { "type": "git", "url": "https://github.com/tree-sitter/tree-sitter-c-sharp.git" @@ -15,14 +24,26 @@ "author": "The Tree-Sitter C# Team", "license": "MIT", "dependencies": { - "nan": "^2.14.0" + "node-addon-api": "^7.1.0", + "node-gyp-build": "^4.8.0" + }, + "peerDependencies": { + "tree-sitter": "^0.21.0" + }, + "peerDependenciesMeta": { + "tree_sitter": { + "optional": true + } }, "devDependencies": { - "tree-sitter-cli": "^0.20.0" + "tree-sitter-cli": "^0.20.0", + "prebuildify": "^6.0.0" }, "scripts": { "test": "tree-sitter test && script/update-file-sizes && script/parse-examples", - "test-windows": "tree-sitter test" + "test-windows": "tree-sitter test", + "install": "node-gyp-build", + "prebuildify": "prebuildify --napi --strip" }, "tree-sitter": [ { @@ -32,4 +53,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..4fcb056a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,33 @@ +[build-system] +requires = ["setuptools>=42", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "tree-sitter-c-sharp" +description = "C# grammar for tree-sitter" +version = "0.20.0" +keywords = ["incremental", "parsing", "tree-sitter", "c-sharp"] +classifiers = [ + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Topic :: Software Development :: Compilers", + "Topic :: Text Processing :: Linguistic", + "Typing :: Typed", +] +authors = [ + { name = "Max Brunsfeld", email = "maxbrunsfeld@gmail.com" }, + { name = "Amaan Qureshi", email = "amaanq12@gmail.com" }, +] +requires-python = ">=3.8" +license.text = "MIT" +readme = "README.md" + +[project.urls] +Homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp" + +[project.optional-dependencies] +core = ["tree-sitter~=0.21"] + +[tool.cibuildwheel] +build = "cp38-*" +build-frontend = "build" diff --git a/setup.py b/setup.py new file mode 100644 index 00000000..89f38bcd --- /dev/null +++ b/setup.py @@ -0,0 +1,60 @@ +from os.path import isdir, join +from platform import system + +from setuptools import Extension, find_packages, setup +from setuptools.command.build import build +from wheel.bdist_wheel import bdist_wheel + + +class Build(build): + def run(self): + if isdir("queries"): + dest = join(self.build_lib, "tree_sitter_c_sharp", "queries") + self.copy_tree("queries", dest) + super().run() + + +class BdistWheel(bdist_wheel): + def get_tag(self): + python, abi, platform = super().get_tag() + if python.startswith("cp"): + python, abi = "cp38", "abi3" + return python, abi, platform + + +setup( + packages=find_packages("bindings/python"), + package_dir={"": "bindings/python"}, + package_data={ + "tree_sitter_c_sharp": ["*.pyi", "py.typed"], + "tree_sitter_c_sharp.queries": ["*.scm"], + }, + ext_package="tree_sitter_c_sharp", + ext_modules=[ + Extension( + name="_binding", + sources=[ + "bindings/python/tree_sitter_c_sharp/binding.c", + "src/parser.c", + "src/scanner.c", + ], + extra_compile_args=[ + "-std=c11", + ] if system() != "Windows" else [ + "/std:c11", + "/utf-8", + ], + define_macros=[ + ("Py_LIMITED_API", "0x03080000"), + ("PY_SSIZE_T_CLEAN", None) + ], + include_dirs=["src"], + py_limited_api=True, + ) + ], + cmdclass={ + "build": Build, + "bdist_wheel": BdistWheel + }, + zip_safe=False +) diff --git a/test.js b/test.js deleted file mode 100644 index 73108a57..00000000 --- a/test.js +++ /dev/null @@ -1,3 +0,0 @@ -console.log("Trying to require index.js in JavaScript"); -require('.') -console.log("Require successfull");