Files
codeql/ruby.dbscheme
2020-10-27 17:31:10 +01:00

1865 lines
44 KiB
Plaintext

// CodeQL database schema for Ruby
// Automatically generated from the tree-sitter grammar; do not edit
@underscore_arg = @underscore_primary | @assignment | @binary | @conditional | @operator_assignment | @range | @unary
@underscore_lhs = @underscore_variable | @call | @element_reference | @false | @method_call | @nil | @scope_resolution | @true
@underscore_method_name = @class_variable | @constant | @global_variable | @identifier | @instance_variable | @operator | @setter | @symbol
@underscore_primary = @underscore_lhs | @array | @begin | @break | @case__ | @chained_string | @character | @class | @complex | @float__ | @for | @hash | @heredoc_beginning | @if | @integer | @lambda | @method | @module | @next | @parenthesized_statements | @rational | @redo | @regex | @retry | @return | @singleton_class | @singleton_method | @string__ | @string_array | @subshell | @symbol | @symbol_array | @unary | @unless | @until | @while | @yield
@underscore_statement = @underscore_arg | @alias | @assignment | @begin_block | @binary | @break | @call | @end_block | @if_modifier | @method_call | @next | @operator_assignment | @rescue_modifier | @return | @unary | @undef | @unless_modifier | @until_modifier | @while_modifier | @yield
@underscore_variable = @class_variable | @constant | @global_variable | @identifier | @instance_variable | @self | @super
alias_def(
unique int id: @alias,
int alias: @underscore_method_name ref,
int name: @underscore_method_name ref,
int loc: @location ref
);
@argument_list_child_type = @underscore_arg | @block_argument | @break | @call | @hash_splat_argument | @method_call | @next | @pair | @return | @splat_argument | @yield
#keyset[argument_list, index]
argument_list_child(
int argument_list: @argument_list ref,
int index: int ref,
unique int argument_list_child_type: @argument_list_child_type ref
);
argument_list_def(
unique int id: @argument_list,
int loc: @location ref
);
@array_child_type = @underscore_arg | @block_argument | @break | @call | @hash_splat_argument | @method_call | @next | @pair | @return | @splat_argument | @yield
#keyset[array, index]
array_child(
int array: @array ref,
int index: int ref,
unique int array_child_type: @array_child_type ref
);
array_def(
unique int id: @array,
int loc: @location ref
);
@assignment_left_type = @underscore_lhs | @left_assignment_list
@assignment_right_type = @underscore_arg | @break | @call | @method_call | @next | @return | @right_assignment_list | @splat_argument | @yield
assignment_def(
unique int id: @assignment,
int left: @assignment_left_type ref,
int right: @assignment_right_type ref,
int loc: @location ref
);
@bare_string_child_type = @escape_sequence | @interpolation
#keyset[bare_string, index]
bare_string_child(
int bare_string: @bare_string ref,
int index: int ref,
unique int bare_string_child_type: @bare_string_child_type ref
);
bare_string_def(
unique int id: @bare_string,
int loc: @location ref
);
@bare_symbol_child_type = @escape_sequence | @interpolation
#keyset[bare_symbol, index]
bare_symbol_child(
int bare_symbol: @bare_symbol ref,
int index: int ref,
unique int bare_symbol_child_type: @bare_symbol_child_type ref
);
bare_symbol_def(
unique int id: @bare_symbol,
int loc: @location ref
);
@begin_child_type = @underscore_statement | @else | @empty_statement | @ensure | @rescue
#keyset[begin, index]
begin_child(
int begin: @begin ref,
int index: int ref,
unique int begin_child_type: @begin_child_type ref
);
begin_def(
unique int id: @begin,
int loc: @location ref
);
@begin_block_child_type = @underscore_statement | @empty_statement
#keyset[begin_block, index]
begin_block_child(
int begin_block: @begin_block ref,
int index: int ref,
unique int begin_block_child_type: @begin_block_child_type ref
);
begin_block_def(
unique int id: @begin_block,
int loc: @location ref
);
@binary_left_type = @underscore_arg | @break | @call | @method_call | @next | @return | @yield
@binary_operator_type = @bangequal_unnamed | @bangtilde_unnamed | @percent_unnamed | @ampersand_unnamed | @ampersandampersand_unnamed | @star_unnamed | @starstar_unnamed | @plus_unnamed | @minus_unnamed | @slash_unnamed | @langle_unnamed | @langlelangle_unnamed | @langleequal_unnamed | @langleequalrangle_unnamed | @equalequal_unnamed | @equalequalequal_unnamed | @equaltilde_unnamed | @rangle_unnamed | @rangleequal_unnamed | @ranglerangle_unnamed | @caret_unnamed | @and_unnamed | @or_unnamed | @pipe_unnamed | @pipepipe_unnamed
@binary_right_type = @underscore_arg | @break | @call | @method_call | @next | @return | @yield
binary_def(
unique int id: @binary,
int left: @binary_left_type ref,
int operator: @binary_operator_type ref,
int right: @binary_right_type ref,
int loc: @location ref
);
@block_child_type = @underscore_statement | @block_parameters | @empty_statement
#keyset[block, index]
block_child(
int block: @block ref,
int index: int ref,
unique int block_child_type: @block_child_type ref
);
block_def(
unique int id: @block,
int loc: @location ref
);
block_argument_def(
unique int id: @block_argument,
int child: @underscore_arg ref,
int loc: @location ref
);
block_parameter_def(
unique int id: @block_parameter,
int name: @identifier ref,
int loc: @location ref
);
@block_parameters_child_type = @block_parameter | @destructured_parameter | @hash_splat_parameter | @identifier | @keyword_parameter | @optional_parameter | @splat_parameter
#keyset[block_parameters, index]
block_parameters_child(
int block_parameters: @block_parameters ref,
int index: int ref,
unique int block_parameters_child_type: @block_parameters_child_type ref
);
block_parameters_def(
unique int id: @block_parameters,
int loc: @location ref
);
#keyset[break, index]
break_child(
int break: @break ref,
int index: int ref,
unique int argument_list: @argument_list ref
);
break_def(
unique int id: @break,
int loc: @location ref
);
@call_method_type = @argument_list | @constant | @identifier | @operator
@call_receiver_type = @underscore_primary | @method_call
call_def(
unique int id: @call,
int method: @call_method_type ref,
int receiver: @call_receiver_type ref,
int loc: @location ref
);
#keyset[case__, index]
case_value(
int case__: @case__ ref,
int index: int ref,
unique int underscore_statement: @underscore_statement ref
);
@case_child_type = @else | @when
#keyset[case__, index]
case_child(
int case__: @case__ ref,
int index: int ref,
unique int case_child_type: @case_child_type ref
);
case_def(
unique int id: @case__,
int loc: @location ref
);
#keyset[chained_string, index]
chained_string_child(
int chained_string: @chained_string ref,
int index: int ref,
unique int string__: @string__ ref
);
chained_string_def(
unique int id: @chained_string,
int loc: @location ref
);
@class_name_type = @constant | @scope_resolution
@class_child_type = @underscore_statement | @else | @empty_statement | @ensure | @rescue | @superclass
#keyset[class, index]
class_child(
int class: @class ref,
int index: int ref,
unique int class_child_type: @class_child_type ref
);
class_def(
unique int id: @class,
int name: @class_name_type ref,
int loc: @location ref
);
conditional_def(
unique int id: @conditional,
int alternative: @underscore_arg ref,
int condition: @underscore_arg ref,
int consequence: @underscore_arg ref,
int loc: @location ref
);
@destructured_left_assignment_child_type = @underscore_lhs | @destructured_left_assignment | @rest_assignment
#keyset[destructured_left_assignment, index]
destructured_left_assignment_child(
int destructured_left_assignment: @destructured_left_assignment ref,
int index: int ref,
unique int destructured_left_assignment_child_type: @destructured_left_assignment_child_type ref
);
destructured_left_assignment_def(
unique int id: @destructured_left_assignment,
int loc: @location ref
);
@destructured_parameter_child_type = @block_parameter | @destructured_parameter | @hash_splat_parameter | @identifier | @keyword_parameter | @optional_parameter | @splat_parameter
#keyset[destructured_parameter, index]
destructured_parameter_child(
int destructured_parameter: @destructured_parameter ref,
int index: int ref,
unique int destructured_parameter_child_type: @destructured_parameter_child_type ref
);
destructured_parameter_def(
unique int id: @destructured_parameter,
int loc: @location ref
);
@do_child_type = @underscore_statement | @empty_statement
#keyset[do, index]
do_child(
int do: @do ref,
int index: int ref,
unique int do_child_type: @do_child_type ref
);
do_def(
unique int id: @do,
int loc: @location ref
);
@do_block_child_type = @underscore_statement | @block_parameters | @else | @empty_statement | @ensure | @rescue
#keyset[do_block, index]
do_block_child(
int do_block: @do_block ref,
int index: int ref,
unique int do_block_child_type: @do_block_child_type ref
);
do_block_def(
unique int id: @do_block,
int loc: @location ref
);
@element_reference_child_type = @underscore_arg | @block_argument | @break | @call | @hash_splat_argument | @method_call | @next | @pair | @return | @splat_argument | @yield
#keyset[element_reference, index]
element_reference_child(
int element_reference: @element_reference ref,
int index: int ref,
unique int element_reference_child_type: @element_reference_child_type ref
);
element_reference_def(
unique int id: @element_reference,
int object: @underscore_primary ref,
int loc: @location ref
);
#keyset[else, index]
else_condition(
int else: @else ref,
int index: int ref,
unique int semicolon_unnamed: @semicolon_unnamed ref
);
@else_child_type = @underscore_statement | @empty_statement
#keyset[else, index]
else_child(
int else: @else ref,
int index: int ref,
unique int else_child_type: @else_child_type ref
);
else_def(
unique int id: @else,
int loc: @location ref
);
@elsif_alternative_type = @else | @elsif
#keyset[elsif, index]
elsif_alternative(
int elsif: @elsif ref,
int index: int ref,
unique int elsif_alternative_type: @elsif_alternative_type ref
);
#keyset[elsif, index]
elsif_consequence(
int elsif: @elsif ref,
int index: int ref,
unique int then: @then ref
);
elsif_def(
unique int id: @elsif,
int condition: @underscore_statement ref,
int loc: @location ref
);
empty_statement_def(
unique int id: @empty_statement,
string text: string ref,
int loc: @location ref
);
@end_block_child_type = @underscore_statement | @empty_statement
#keyset[end_block, index]
end_block_child(
int end_block: @end_block ref,
int index: int ref,
unique int end_block_child_type: @end_block_child_type ref
);
end_block_def(
unique int id: @end_block,
int loc: @location ref
);
@ensure_child_type = @underscore_statement | @empty_statement
#keyset[ensure, index]
ensure_child(
int ensure: @ensure ref,
int index: int ref,
unique int ensure_child_type: @ensure_child_type ref
);
ensure_def(
unique int id: @ensure,
int loc: @location ref
);
exception_variable_def(
unique int id: @exception_variable,
int child: @underscore_lhs ref,
int loc: @location ref
);
@exceptions_child_type = @underscore_arg | @splat_argument
#keyset[exceptions, index]
exceptions_child(
int exceptions: @exceptions ref,
int index: int ref,
unique int exceptions_child_type: @exceptions_child_type ref
);
exceptions_def(
unique int id: @exceptions,
int loc: @location ref
);
@for_pattern_type = @underscore_lhs | @destructured_left_assignment | @rest_assignment
#keyset[for, index]
for_pattern(
int for: @for ref,
int index: int ref,
unique int for_pattern_type: @for_pattern_type ref
);
for_def(
unique int id: @for,
int body: @do ref,
int value: @in ref,
int loc: @location ref
);
@hash_child_type = @hash_splat_argument | @pair
#keyset[hash, index]
hash_child(
int hash: @hash ref,
int index: int ref,
unique int hash_child_type: @hash_child_type ref
);
hash_def(
unique int id: @hash,
int loc: @location ref
);
hash_splat_argument_def(
unique int id: @hash_splat_argument,
int child: @underscore_arg ref,
int loc: @location ref
);
#keyset[hash_splat_parameter, index]
hash_splat_parameter_name(
int hash_splat_parameter: @hash_splat_parameter ref,
int index: int ref,
unique int identifier: @identifier ref
);
hash_splat_parameter_def(
unique int id: @hash_splat_parameter,
int loc: @location ref
);
@if_alternative_type = @else | @elsif
#keyset[if, index]
if_alternative(
int if: @if ref,
int index: int ref,
unique int if_alternative_type: @if_alternative_type ref
);
#keyset[if, index]
if_consequence(
int if: @if ref,
int index: int ref,
unique int then: @then ref
);
if_def(
unique int id: @if,
int condition: @underscore_statement ref,
int loc: @location ref
);
@if_modifier_condition_type = @underscore_arg | @break | @call | @method_call | @next | @return | @yield
if_modifier_def(
unique int id: @if_modifier,
int body: @underscore_statement ref,
int condition: @if_modifier_condition_type ref,
int loc: @location ref
);
in_def(
unique int id: @in,
int child: @underscore_arg ref,
int loc: @location ref
);
interpolation_def(
unique int id: @interpolation,
int child: @underscore_statement ref,
int loc: @location ref
);
#keyset[keyword_parameter, index]
keyword_parameter_value(
int keyword_parameter: @keyword_parameter ref,
int index: int ref,
unique int underscore_arg: @underscore_arg ref
);
keyword_parameter_def(
unique int id: @keyword_parameter,
int name: @identifier ref,
int loc: @location ref
);
@lambda_body_type = @block | @do_block
#keyset[lambda, index]
lambda_parameters(
int lambda: @lambda ref,
int index: int ref,
unique int lambda_parameters: @lambda_parameters ref
);
lambda_def(
unique int id: @lambda,
int body: @lambda_body_type ref,
int loc: @location ref
);
@lambda_parameters_child_type = @block_parameter | @destructured_parameter | @hash_splat_parameter | @identifier | @keyword_parameter | @optional_parameter | @splat_parameter
#keyset[lambda_parameters, index]
lambda_parameters_child(
int lambda_parameters: @lambda_parameters ref,
int index: int ref,
unique int lambda_parameters_child_type: @lambda_parameters_child_type ref
);
lambda_parameters_def(
unique int id: @lambda_parameters,
int loc: @location ref
);
@left_assignment_list_child_type = @underscore_lhs | @destructured_left_assignment | @rest_assignment
#keyset[left_assignment_list, index]
left_assignment_list_child(
int left_assignment_list: @left_assignment_list ref,
int index: int ref,
unique int left_assignment_list_child_type: @left_assignment_list_child_type ref
);
left_assignment_list_def(
unique int id: @left_assignment_list,
int loc: @location ref
);
#keyset[method, index]
method_parameters(
int method: @method ref,
int index: int ref,
unique int method_parameters: @method_parameters ref
);
@method_child_type = @underscore_statement | @else | @empty_statement | @ensure | @rescue
#keyset[method, index]
method_child(
int method: @method ref,
int index: int ref,
unique int method_child_type: @method_child_type ref
);
method_def(
unique int id: @method,
int name: @underscore_method_name ref,
int loc: @location ref
);
#keyset[method_call, index]
method_call_arguments(
int method_call: @method_call ref,
int index: int ref,
unique int argument_list: @argument_list ref
);
@method_call_block_type = @block | @do_block
#keyset[method_call, index]
method_call_block(
int method_call: @method_call ref,
int index: int ref,
unique int method_call_block_type: @method_call_block_type ref
);
@method_call_method_type = @underscore_variable | @call | @scope_resolution
method_call_def(
unique int id: @method_call,
int method: @method_call_method_type ref,
int loc: @location ref
);
@method_parameters_child_type = @block_parameter | @destructured_parameter | @hash_splat_parameter | @identifier | @keyword_parameter | @optional_parameter | @splat_parameter
#keyset[method_parameters, index]
method_parameters_child(
int method_parameters: @method_parameters ref,
int index: int ref,
unique int method_parameters_child_type: @method_parameters_child_type ref
);
method_parameters_def(
unique int id: @method_parameters,
int loc: @location ref
);
@module_name_type = @constant | @scope_resolution
@module_child_type = @underscore_statement | @else | @empty_statement | @ensure | @rescue
#keyset[module, index]
module_child(
int module: @module ref,
int index: int ref,
unique int module_child_type: @module_child_type ref
);
module_def(
unique int id: @module,
int name: @module_name_type ref,
int loc: @location ref
);
#keyset[next, index]
next_child(
int next: @next ref,
int index: int ref,
unique int argument_list: @argument_list ref
);
next_def(
unique int id: @next,
int loc: @location ref
);
operator_def(
unique int id: @operator,
string text: string ref,
int loc: @location ref
);
@operator_assignment_right_type = @underscore_arg | @break | @call | @method_call | @next | @return | @yield
operator_assignment_def(
unique int id: @operator_assignment,
int left: @underscore_lhs ref,
int right: @operator_assignment_right_type ref,
int loc: @location ref
);
optional_parameter_def(
unique int id: @optional_parameter,
int name: @identifier ref,
int value: @underscore_arg ref,
int loc: @location ref
);
@pair_key_type = @underscore_arg | @string__ | @symbol
pair_def(
unique int id: @pair,
int key__: @pair_key_type ref,
int value: @underscore_arg ref,
int loc: @location ref
);
@parenthesized_statements_child_type = @underscore_statement | @empty_statement
#keyset[parenthesized_statements, index]
parenthesized_statements_child(
int parenthesized_statements: @parenthesized_statements ref,
int index: int ref,
unique int parenthesized_statements_child_type: @parenthesized_statements_child_type ref
);
parenthesized_statements_def(
unique int id: @parenthesized_statements,
int loc: @location ref
);
@pattern_child_type = @underscore_arg | @splat_argument
pattern_def(
unique int id: @pattern,
int child: @pattern_child_type ref,
int loc: @location ref
);
@program_child_type = @underscore_statement | @empty_statement | @uninterpreted
#keyset[program, index]
program_child(
int program: @program ref,
int index: int ref,
unique int program_child_type: @program_child_type ref
);
program_def(
unique int id: @program,
int loc: @location ref
);
#keyset[range, index]
range_child(
int range: @range ref,
int index: int ref,
unique int underscore_arg: @underscore_arg ref
);
range_def(
unique int id: @range,
int loc: @location ref
);
rational_def(
unique int id: @rational,
int child: @integer ref,
int loc: @location ref
);
#keyset[redo, index]
redo_child(
int redo: @redo ref,
int index: int ref,
unique int argument_list: @argument_list ref
);
redo_def(
unique int id: @redo,
int loc: @location ref
);
@regex_child_type = @escape_sequence | @interpolation
#keyset[regex, index]
regex_child(
int regex: @regex ref,
int index: int ref,
unique int regex_child_type: @regex_child_type ref
);
regex_def(
unique int id: @regex,
int loc: @location ref
);
#keyset[rescue, index]
rescue_body(
int rescue: @rescue ref,
int index: int ref,
unique int then: @then ref
);
#keyset[rescue, index]
rescue_exceptions(
int rescue: @rescue ref,
int index: int ref,
unique int exceptions: @exceptions ref
);
#keyset[rescue, index]
rescue_variable(
int rescue: @rescue ref,
int index: int ref,
unique int exception_variable: @exception_variable ref
);
rescue_def(
unique int id: @rescue,
int loc: @location ref
);
@rescue_modifier_handler_type = @underscore_arg | @break | @call | @method_call | @next | @return | @yield
rescue_modifier_def(
unique int id: @rescue_modifier,
int body: @underscore_statement ref,
int handler: @rescue_modifier_handler_type ref,
int loc: @location ref
);
#keyset[rest_assignment, index]
rest_assignment_child(
int rest_assignment: @rest_assignment ref,
int index: int ref,
unique int underscore_lhs: @underscore_lhs ref
);
rest_assignment_def(
unique int id: @rest_assignment,
int loc: @location ref
);
#keyset[retry, index]
retry_child(
int retry: @retry ref,
int index: int ref,
unique int argument_list: @argument_list ref
);
retry_def(
unique int id: @retry,
int loc: @location ref
);
#keyset[return, index]
return_child(
int return: @return ref,
int index: int ref,
unique int argument_list: @argument_list ref
);
return_def(
unique int id: @return,
int loc: @location ref
);
@right_assignment_list_child_type = @underscore_arg | @splat_argument
#keyset[right_assignment_list, index]
right_assignment_list_child(
int right_assignment_list: @right_assignment_list ref,
int index: int ref,
unique int right_assignment_list_child_type: @right_assignment_list_child_type ref
);
right_assignment_list_def(
unique int id: @right_assignment_list,
int loc: @location ref
);
@scope_resolution_name_type = @constant | @identifier
#keyset[scope_resolution, index]
scope_resolution_scope(
int scope_resolution: @scope_resolution ref,
int index: int ref,
unique int underscore_primary: @underscore_primary ref
);
scope_resolution_def(
unique int id: @scope_resolution,
int name: @scope_resolution_name_type ref,
int loc: @location ref
);
setter_def(
unique int id: @setter,
int child: @identifier ref,
int loc: @location ref
);
@singleton_class_child_type = @underscore_statement | @else | @empty_statement | @ensure | @rescue
#keyset[singleton_class, index]
singleton_class_child(
int singleton_class: @singleton_class ref,
int index: int ref,
unique int singleton_class_child_type: @singleton_class_child_type ref
);
singleton_class_def(
unique int id: @singleton_class,
int value: @underscore_arg ref,
int loc: @location ref
);
@singleton_method_object_type = @underscore_arg | @underscore_variable
#keyset[singleton_method, index]
singleton_method_parameters(
int singleton_method: @singleton_method ref,
int index: int ref,
unique int method_parameters: @method_parameters ref
);
@singleton_method_child_type = @underscore_statement | @else | @empty_statement | @ensure | @rescue
#keyset[singleton_method, index]
singleton_method_child(
int singleton_method: @singleton_method ref,
int index: int ref,
unique int singleton_method_child_type: @singleton_method_child_type ref
);
singleton_method_def(
unique int id: @singleton_method,
int name: @underscore_method_name ref,
int object: @singleton_method_object_type ref,
int loc: @location ref
);
splat_argument_def(
unique int id: @splat_argument,
int child: @underscore_arg ref,
int loc: @location ref
);
#keyset[splat_parameter, index]
splat_parameter_name(
int splat_parameter: @splat_parameter ref,
int index: int ref,
unique int identifier: @identifier ref
);
splat_parameter_def(
unique int id: @splat_parameter,
int loc: @location ref
);
@string_child_type = @escape_sequence | @interpolation
#keyset[string__, index]
string_child(
int string__: @string__ ref,
int index: int ref,
unique int string_child_type: @string_child_type ref
);
string_def(
unique int id: @string__,
int loc: @location ref
);
#keyset[string_array, index]
string_array_child(
int string_array: @string_array ref,
int index: int ref,
unique int bare_string: @bare_string ref
);
string_array_def(
unique int id: @string_array,
int loc: @location ref
);
@subshell_child_type = @escape_sequence | @interpolation
#keyset[subshell, index]
subshell_child(
int subshell: @subshell ref,
int index: int ref,
unique int subshell_child_type: @subshell_child_type ref
);
subshell_def(
unique int id: @subshell,
int loc: @location ref
);
@superclass_child_type = @underscore_arg | @break | @call | @method_call | @next | @return | @yield
superclass_def(
unique int id: @superclass,
int child: @superclass_child_type ref,
int loc: @location ref
);
@symbol_child_type = @escape_sequence | @interpolation
#keyset[symbol, index]
symbol_child(
int symbol: @symbol ref,
int index: int ref,
unique int symbol_child_type: @symbol_child_type ref
);
symbol_def(
unique int id: @symbol,
int loc: @location ref
);
#keyset[symbol_array, index]
symbol_array_child(
int symbol_array: @symbol_array ref,
int index: int ref,
unique int bare_symbol: @bare_symbol ref
);
symbol_array_def(
unique int id: @symbol_array,
int loc: @location ref
);
@then_child_type = @underscore_statement | @empty_statement
#keyset[then, index]
then_child(
int then: @then ref,
int index: int ref,
unique int then_child_type: @then_child_type ref
);
then_def(
unique int id: @then,
int loc: @location ref
);
@unary_child_type = @underscore_arg | @break | @call | @float__ | @integer | @method_call | @next | @parenthesized_statements | @return | @yield
unary_def(
unique int id: @unary,
int child: @unary_child_type ref,
int loc: @location ref
);
#keyset[undef, index]
undef_child(
int undef: @undef ref,
int index: int ref,
unique int underscore_method_name: @underscore_method_name ref
);
undef_def(
unique int id: @undef,
int loc: @location ref
);
@unless_alternative_type = @else | @elsif
#keyset[unless, index]
unless_alternative(
int unless: @unless ref,
int index: int ref,
unique int unless_alternative_type: @unless_alternative_type ref
);
#keyset[unless, index]
unless_consequence(
int unless: @unless ref,
int index: int ref,
unique int then: @then ref
);
unless_def(
unique int id: @unless,
int condition: @underscore_statement ref,
int loc: @location ref
);
@unless_modifier_condition_type = @underscore_arg | @break | @call | @method_call | @next | @return | @yield
unless_modifier_def(
unique int id: @unless_modifier,
int body: @underscore_statement ref,
int condition: @unless_modifier_condition_type ref,
int loc: @location ref
);
until_def(
unique int id: @until,
int body: @do ref,
int condition: @underscore_statement ref,
int loc: @location ref
);
@until_modifier_condition_type = @underscore_arg | @break | @call | @method_call | @next | @return | @yield
until_modifier_def(
unique int id: @until_modifier,
int body: @underscore_statement ref,
int condition: @until_modifier_condition_type ref,
int loc: @location ref
);
#keyset[when, index]
when_body(
int when: @when ref,
int index: int ref,
unique int then: @then ref
);
@when_pattern_type = @comma_unnamed | @pattern
#keyset[when, index]
when_pattern(
int when: @when ref,
int index: int ref,
unique int when_pattern_type: @when_pattern_type ref
);
when_def(
unique int id: @when,
int loc: @location ref
);
while_def(
unique int id: @while,
int body: @do ref,
int condition: @underscore_statement ref,
int loc: @location ref
);
@while_modifier_condition_type = @underscore_arg | @break | @call | @method_call | @next | @return | @yield
while_modifier_def(
unique int id: @while_modifier,
int body: @underscore_statement ref,
int condition: @while_modifier_condition_type ref,
int loc: @location ref
);
#keyset[yield, index]
yield_child(
int yield: @yield ref,
int index: int ref,
unique int argument_list: @argument_list ref
);
yield_def(
unique int id: @yield,
int loc: @location ref
);
bang_unnamed_def(
unique int id: @bang_unnamed,
string text: string ref,
int loc: @location ref
);
bangequal_unnamed_def(
unique int id: @bangequal_unnamed,
string text: string ref,
int loc: @location ref
);
bangtilde_unnamed_def(
unique int id: @bangtilde_unnamed,
string text: string ref,
int loc: @location ref
);
dquote_unnamed_def(
unique int id: @dquote_unnamed,
string text: string ref,
int loc: @location ref
);
hashlbrace_unnamed_def(
unique int id: @hashlbrace_unnamed,
string text: string ref,
int loc: @location ref
);
percent_unnamed_def(
unique int id: @percent_unnamed,
string text: string ref,
int loc: @location ref
);
percentequal_unnamed_def(
unique int id: @percentequal_unnamed,
string text: string ref,
int loc: @location ref
);
percentilparen_unnamed_def(
unique int id: @percentilparen_unnamed,
string text: string ref,
int loc: @location ref
);
percentwlparen_unnamed_def(
unique int id: @percentwlparen_unnamed,
string text: string ref,
int loc: @location ref
);
ampersand_unnamed_def(
unique int id: @ampersand_unnamed,
string text: string ref,
int loc: @location ref
);
ampersandampersand_unnamed_def(
unique int id: @ampersandampersand_unnamed,
string text: string ref,
int loc: @location ref
);
ampersandampersandequal_unnamed_def(
unique int id: @ampersandampersandequal_unnamed,
string text: string ref,
int loc: @location ref
);
ampersanddot_unnamed_def(
unique int id: @ampersanddot_unnamed,
string text: string ref,
int loc: @location ref
);
ampersandequal_unnamed_def(
unique int id: @ampersandequal_unnamed,
string text: string ref,
int loc: @location ref
);
lparen_unnamed_def(
unique int id: @lparen_unnamed,
string text: string ref,
int loc: @location ref
);
rparen_unnamed_def(
unique int id: @rparen_unnamed,
string text: string ref,
int loc: @location ref
);
star_unnamed_def(
unique int id: @star_unnamed,
string text: string ref,
int loc: @location ref
);
starstar_unnamed_def(
unique int id: @starstar_unnamed,
string text: string ref,
int loc: @location ref
);
starstarequal_unnamed_def(
unique int id: @starstarequal_unnamed,
string text: string ref,
int loc: @location ref
);
starequal_unnamed_def(
unique int id: @starequal_unnamed,
string text: string ref,
int loc: @location ref
);
plus_unnamed_def(
unique int id: @plus_unnamed,
string text: string ref,
int loc: @location ref
);
plusequal_unnamed_def(
unique int id: @plusequal_unnamed,
string text: string ref,
int loc: @location ref
);
plusat_unnamed_def(
unique int id: @plusat_unnamed,
string text: string ref,
int loc: @location ref
);
comma_unnamed_def(
unique int id: @comma_unnamed,
string text: string ref,
int loc: @location ref
);
minus_unnamed_def(
unique int id: @minus_unnamed,
string text: string ref,
int loc: @location ref
);
minusequal_unnamed_def(
unique int id: @minusequal_unnamed,
string text: string ref,
int loc: @location ref
);
minusrangle_unnamed_def(
unique int id: @minusrangle_unnamed,
string text: string ref,
int loc: @location ref
);
minusat_unnamed_def(
unique int id: @minusat_unnamed,
string text: string ref,
int loc: @location ref
);
dot_unnamed_def(
unique int id: @dot_unnamed,
string text: string ref,
int loc: @location ref
);
dotdot_unnamed_def(
unique int id: @dotdot_unnamed,
string text: string ref,
int loc: @location ref
);
dotdotdot_unnamed_def(
unique int id: @dotdotdot_unnamed,
string text: string ref,
int loc: @location ref
);
slash_unnamed_def(
unique int id: @slash_unnamed,
string text: string ref,
int loc: @location ref
);
slashequal_unnamed_def(
unique int id: @slashequal_unnamed,
string text: string ref,
int loc: @location ref
);
colon_unnamed_def(
unique int id: @colon_unnamed,
string text: string ref,
int loc: @location ref
);
colondquote_unnamed_def(
unique int id: @colondquote_unnamed,
string text: string ref,
int loc: @location ref
);
coloncolon_unnamed_def(
unique int id: @coloncolon_unnamed,
string text: string ref,
int loc: @location ref
);
semicolon_unnamed_def(
unique int id: @semicolon_unnamed,
string text: string ref,
int loc: @location ref
);
langle_unnamed_def(
unique int id: @langle_unnamed,
string text: string ref,
int loc: @location ref
);
langlelangle_unnamed_def(
unique int id: @langlelangle_unnamed,
string text: string ref,
int loc: @location ref
);
langlelangleequal_unnamed_def(
unique int id: @langlelangleequal_unnamed,
string text: string ref,
int loc: @location ref
);
langleequal_unnamed_def(
unique int id: @langleequal_unnamed,
string text: string ref,
int loc: @location ref
);
langleequalrangle_unnamed_def(
unique int id: @langleequalrangle_unnamed,
string text: string ref,
int loc: @location ref
);
equal_unnamed_def(
unique int id: @equal_unnamed,
string text: string ref,
int loc: @location ref
);
equalequal_unnamed_def(
unique int id: @equalequal_unnamed,
string text: string ref,
int loc: @location ref
);
equalequalequal_unnamed_def(
unique int id: @equalequalequal_unnamed,
string text: string ref,
int loc: @location ref
);
equalrangle_unnamed_def(
unique int id: @equalrangle_unnamed,
string text: string ref,
int loc: @location ref
);
equaltilde_unnamed_def(
unique int id: @equaltilde_unnamed,
string text: string ref,
int loc: @location ref
);
rangle_unnamed_def(
unique int id: @rangle_unnamed,
string text: string ref,
int loc: @location ref
);
rangleequal_unnamed_def(
unique int id: @rangleequal_unnamed,
string text: string ref,
int loc: @location ref
);
ranglerangle_unnamed_def(
unique int id: @ranglerangle_unnamed,
string text: string ref,
int loc: @location ref
);
ranglerangleequal_unnamed_def(
unique int id: @ranglerangleequal_unnamed,
string text: string ref,
int loc: @location ref
);
question_unnamed_def(
unique int id: @question_unnamed,
string text: string ref,
int loc: @location ref
);
begin_unnamed_def(
unique int id: @begin_unnamed,
string text: string ref,
int loc: @location ref
);
end_unnamed_def(
unique int id: @end_unnamed,
string text: string ref,
int loc: @location ref
);
lbracket_unnamed_def(
unique int id: @lbracket_unnamed,
string text: string ref,
int loc: @location ref
);
lbracketrbracket_unnamed_def(
unique int id: @lbracketrbracket_unnamed,
string text: string ref,
int loc: @location ref
);
lbracketrbracketequal_unnamed_def(
unique int id: @lbracketrbracketequal_unnamed,
string text: string ref,
int loc: @location ref
);
rbracket_unnamed_def(
unique int id: @rbracket_unnamed,
string text: string ref,
int loc: @location ref
);
caret_unnamed_def(
unique int id: @caret_unnamed,
string text: string ref,
int loc: @location ref
);
caretequal_unnamed_def(
unique int id: @caretequal_unnamed,
string text: string ref,
int loc: @location ref
);
underscore__end___unnamed_def(
unique int id: @underscore__end___unnamed,
string text: string ref,
int loc: @location ref
);
backtick_unnamed_def(
unique int id: @backtick_unnamed,
string text: string ref,
int loc: @location ref
);
alias_unnamed_def(
unique int id: @alias_unnamed,
string text: string ref,
int loc: @location ref
);
and_unnamed_def(
unique int id: @and_unnamed,
string text: string ref,
int loc: @location ref
);
begin_unnamed_def(
unique int id: @begin_unnamed,
string text: string ref,
int loc: @location ref
);
break_unnamed_def(
unique int id: @break_unnamed,
string text: string ref,
int loc: @location ref
);
case_unnamed_def(
unique int id: @case_unnamed,
string text: string ref,
int loc: @location ref
);
character_def(
unique int id: @character,
string text: string ref,
int loc: @location ref
);
class_unnamed_def(
unique int id: @class_unnamed,
string text: string ref,
int loc: @location ref
);
class_variable_def(
unique int id: @class_variable,
string text: string ref,
int loc: @location ref
);
complex_def(
unique int id: @complex,
string text: string ref,
int loc: @location ref
);
constant_def(
unique int id: @constant,
string text: string ref,
int loc: @location ref
);
def_unnamed_def(
unique int id: @def_unnamed,
string text: string ref,
int loc: @location ref
);
definedquestion_unnamed_def(
unique int id: @definedquestion_unnamed,
string text: string ref,
int loc: @location ref
);
do_unnamed_def(
unique int id: @do_unnamed,
string text: string ref,
int loc: @location ref
);
else_unnamed_def(
unique int id: @else_unnamed,
string text: string ref,
int loc: @location ref
);
elsif_unnamed_def(
unique int id: @elsif_unnamed,
string text: string ref,
int loc: @location ref
);
end_unnamed_def(
unique int id: @end_unnamed,
string text: string ref,
int loc: @location ref
);
ensure_unnamed_def(
unique int id: @ensure_unnamed,
string text: string ref,
int loc: @location ref
);
escape_sequence_def(
unique int id: @escape_sequence,
string text: string ref,
int loc: @location ref
);
false_def(
unique int id: @false,
string text: string ref,
int loc: @location ref
);
float_def(
unique int id: @float__,
string text: string ref,
int loc: @location ref
);
for_unnamed_def(
unique int id: @for_unnamed,
string text: string ref,
int loc: @location ref
);
global_variable_def(
unique int id: @global_variable,
string text: string ref,
int loc: @location ref
);
heredoc_beginning_def(
unique int id: @heredoc_beginning,
string text: string ref,
int loc: @location ref
);
heredoc_end_def(
unique int id: @heredoc_end,
string text: string ref,
int loc: @location ref
);
identifier_def(
unique int id: @identifier,
string text: string ref,
int loc: @location ref
);
if_unnamed_def(
unique int id: @if_unnamed,
string text: string ref,
int loc: @location ref
);
in_unnamed_def(
unique int id: @in_unnamed,
string text: string ref,
int loc: @location ref
);
instance_variable_def(
unique int id: @instance_variable,
string text: string ref,
int loc: @location ref
);
integer_def(
unique int id: @integer,
string text: string ref,
int loc: @location ref
);
module_unnamed_def(
unique int id: @module_unnamed,
string text: string ref,
int loc: @location ref
);
next_unnamed_def(
unique int id: @next_unnamed,
string text: string ref,
int loc: @location ref
);
nil_def(
unique int id: @nil,
string text: string ref,
int loc: @location ref
);
not_unnamed_def(
unique int id: @not_unnamed,
string text: string ref,
int loc: @location ref
);
or_unnamed_def(
unique int id: @or_unnamed,
string text: string ref,
int loc: @location ref
);
r_unnamed_def(
unique int id: @r_unnamed,
string text: string ref,
int loc: @location ref
);
redo_unnamed_def(
unique int id: @redo_unnamed,
string text: string ref,
int loc: @location ref
);
rescue_unnamed_def(
unique int id: @rescue_unnamed,
string text: string ref,
int loc: @location ref
);
retry_unnamed_def(
unique int id: @retry_unnamed,
string text: string ref,
int loc: @location ref
);
return_unnamed_def(
unique int id: @return_unnamed,
string text: string ref,
int loc: @location ref
);
self_def(
unique int id: @self,
string text: string ref,
int loc: @location ref
);
super_def(
unique int id: @super,
string text: string ref,
int loc: @location ref
);
then_unnamed_def(
unique int id: @then_unnamed,
string text: string ref,
int loc: @location ref
);
true_def(
unique int id: @true,
string text: string ref,
int loc: @location ref
);
undef_unnamed_def(
unique int id: @undef_unnamed,
string text: string ref,
int loc: @location ref
);
uninterpreted_def(
unique int id: @uninterpreted,
string text: string ref,
int loc: @location ref
);
unless_unnamed_def(
unique int id: @unless_unnamed,
string text: string ref,
int loc: @location ref
);
until_unnamed_def(
unique int id: @until_unnamed,
string text: string ref,
int loc: @location ref
);
when_unnamed_def(
unique int id: @when_unnamed,
string text: string ref,
int loc: @location ref
);
while_unnamed_def(
unique int id: @while_unnamed,
string text: string ref,
int loc: @location ref
);
yield_unnamed_def(
unique int id: @yield_unnamed,
string text: string ref,
int loc: @location ref
);
lbrace_unnamed_def(
unique int id: @lbrace_unnamed,
string text: string ref,
int loc: @location ref
);
pipe_unnamed_def(
unique int id: @pipe_unnamed,
string text: string ref,
int loc: @location ref
);
pipeequal_unnamed_def(
unique int id: @pipeequal_unnamed,
string text: string ref,
int loc: @location ref
);
pipepipe_unnamed_def(
unique int id: @pipepipe_unnamed,
string text: string ref,
int loc: @location ref
);
pipepipeequal_unnamed_def(
unique int id: @pipepipeequal_unnamed,
string text: string ref,
int loc: @location ref
);
rbrace_unnamed_def(
unique int id: @rbrace_unnamed,
string text: string ref,
int loc: @location ref
);
tilde_unnamed_def(
unique int id: @tilde_unnamed,
string text: string ref,
int loc: @location ref
);
@top = @alias | @argument_list | @array | @assignment | @bare_string | @bare_symbol | @begin | @begin_block | @binary | @block | @block_argument | @block_parameter | @block_parameters | @break | @call | @case__ | @chained_string | @class | @conditional | @destructured_left_assignment | @destructured_parameter | @do | @do_block | @element_reference | @else | @elsif | @empty_statement | @end_block | @ensure | @exception_variable | @exceptions | @for | @hash | @hash_splat_argument | @hash_splat_parameter | @if | @if_modifier | @in | @interpolation | @keyword_parameter | @lambda | @lambda_parameters | @left_assignment_list | @method | @method_call | @method_parameters | @module | @next | @operator | @operator_assignment | @optional_parameter | @pair | @parenthesized_statements | @pattern | @program | @range | @rational | @redo | @regex | @rescue | @rescue_modifier | @rest_assignment | @retry | @return | @right_assignment_list | @scope_resolution | @setter | @singleton_class | @singleton_method | @splat_argument | @splat_parameter | @string__ | @string_array | @subshell | @superclass | @symbol | @symbol_array | @then | @unary | @undef | @unless | @unless_modifier | @until | @until_modifier | @when | @while | @while_modifier | @yield | @bang_unnamed | @bangequal_unnamed | @bangtilde_unnamed | @dquote_unnamed | @hashlbrace_unnamed | @percent_unnamed | @percentequal_unnamed | @percentilparen_unnamed | @percentwlparen_unnamed | @ampersand_unnamed | @ampersandampersand_unnamed | @ampersandampersandequal_unnamed | @ampersanddot_unnamed | @ampersandequal_unnamed | @lparen_unnamed | @rparen_unnamed | @star_unnamed | @starstar_unnamed | @starstarequal_unnamed | @starequal_unnamed | @plus_unnamed | @plusequal_unnamed | @plusat_unnamed | @comma_unnamed | @minus_unnamed | @minusequal_unnamed | @minusrangle_unnamed | @minusat_unnamed | @dot_unnamed | @dotdot_unnamed | @dotdotdot_unnamed | @slash_unnamed | @slashequal_unnamed | @colon_unnamed | @colondquote_unnamed | @coloncolon_unnamed | @semicolon_unnamed | @langle_unnamed | @langlelangle_unnamed | @langlelangleequal_unnamed | @langleequal_unnamed | @langleequalrangle_unnamed | @equal_unnamed | @equalequal_unnamed | @equalequalequal_unnamed | @equalrangle_unnamed | @equaltilde_unnamed | @rangle_unnamed | @rangleequal_unnamed | @ranglerangle_unnamed | @ranglerangleequal_unnamed | @question_unnamed | @begin_unnamed | @end_unnamed | @lbracket_unnamed | @lbracketrbracket_unnamed | @lbracketrbracketequal_unnamed | @rbracket_unnamed | @caret_unnamed | @caretequal_unnamed | @underscore__end___unnamed | @backtick_unnamed | @alias_unnamed | @and_unnamed | @begin_unnamed | @break_unnamed | @case_unnamed | @character | @class_unnamed | @class_variable | @complex | @constant | @def_unnamed | @definedquestion_unnamed | @do_unnamed | @else_unnamed | @elsif_unnamed | @end_unnamed | @ensure_unnamed | @escape_sequence | @false | @float__ | @for_unnamed | @global_variable | @heredoc_beginning | @heredoc_end | @identifier | @if_unnamed | @in_unnamed | @instance_variable | @integer | @module_unnamed | @next_unnamed | @nil | @not_unnamed | @or_unnamed | @r_unnamed | @redo_unnamed | @rescue_unnamed | @retry_unnamed | @return_unnamed | @self | @super | @then_unnamed | @true | @undef_unnamed | @uninterpreted | @unless_unnamed | @until_unnamed | @when_unnamed | @while_unnamed | @yield_unnamed | @lbrace_unnamed | @pipe_unnamed | @pipeequal_unnamed | @pipepipe_unnamed | @pipepipeequal_unnamed | @rbrace_unnamed | @tilde_unnamed
location(
unique int id: @location,
string file_path: string ref,
int start_line: int ref,
int start_column: int ref,
int end_line: int ref,
int end_column: int ref
);
sourceLocationPrefix(
string prefix: string ref
);