Skip to content

Commit 90c51ef

Browse files
committed
Ruby: re-generate dbscheme and library
1 parent c554a10 commit 90c51ef

File tree

2 files changed

+48
-2
lines changed

2 files changed

+48
-2
lines changed

ruby/ql/lib/codeql/ruby/ast/internal/TreeSitter.qll

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,6 +1125,23 @@ module Ruby {
11251125
final override string getAPrimaryQlClass() { result = "Line" }
11261126
}
11271127

1128+
/** A class representing `match_pattern` nodes. */
1129+
class MatchPattern extends @ruby_match_pattern, AstNode {
1130+
/** Gets the name of the primary QL class for this element. */
1131+
final override string getAPrimaryQlClass() { result = "MatchPattern" }
1132+
1133+
/** Gets the node corresponding to the field `pattern`. */
1134+
final UnderscorePatternTopExprBody getPattern() { ruby_match_pattern_def(this, result, _) }
1135+
1136+
/** Gets the node corresponding to the field `value`. */
1137+
final UnderscoreArg getValue() { ruby_match_pattern_def(this, _, result) }
1138+
1139+
/** Gets a field or child node of this node. */
1140+
final override AstNode getAFieldOrChild() {
1141+
ruby_match_pattern_def(this, result, _) or ruby_match_pattern_def(this, _, result)
1142+
}
1143+
}
1144+
11281145
/** A class representing `method` nodes. */
11291146
class Method extends @ruby_method, AstNode {
11301147
/** Gets the name of the primary QL class for this element. */
@@ -1662,6 +1679,23 @@ module Ruby {
16621679
final override AstNode getAFieldOrChild() { ruby_symbol_array_child(this, _, result) }
16631680
}
16641681

1682+
/** A class representing `test_pattern` nodes. */
1683+
class TestPattern extends @ruby_test_pattern, AstNode {
1684+
/** Gets the name of the primary QL class for this element. */
1685+
final override string getAPrimaryQlClass() { result = "TestPattern" }
1686+
1687+
/** Gets the node corresponding to the field `pattern`. */
1688+
final UnderscorePatternTopExprBody getPattern() { ruby_test_pattern_def(this, result, _) }
1689+
1690+
/** Gets the node corresponding to the field `value`. */
1691+
final UnderscoreArg getValue() { ruby_test_pattern_def(this, _, result) }
1692+
1693+
/** Gets a field or child node of this node. */
1694+
final override AstNode getAFieldOrChild() {
1695+
ruby_test_pattern_def(this, result, _) or ruby_test_pattern_def(this, _, result)
1696+
}
1697+
}
1698+
16651699
/** A class representing `then` nodes. */
16661700
class Then extends @ruby_then, AstNode {
16671701
/** Gets the name of the primary QL class for this element. */

ruby/ql/lib/ruby.dbscheme

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ case @diagnostic.severity of
5454

5555
@ruby_underscore_call_operator = @ruby_reserved_word
5656

57-
@ruby_underscore_expression = @ruby_assignment | @ruby_binary | @ruby_break | @ruby_call | @ruby_next | @ruby_operator_assignment | @ruby_return | @ruby_unary | @ruby_underscore_arg | @ruby_yield
57+
@ruby_underscore_expression = @ruby_assignment | @ruby_binary | @ruby_break | @ruby_call | @ruby_match_pattern | @ruby_next | @ruby_operator_assignment | @ruby_return | @ruby_test_pattern | @ruby_unary | @ruby_underscore_arg | @ruby_yield
5858

5959
@ruby_underscore_lhs = @ruby_call | @ruby_element_reference | @ruby_scope_resolution | @ruby_token_false | @ruby_token_nil | @ruby_token_true | @ruby_underscore_variable
6060

@@ -815,6 +815,12 @@ ruby_left_assignment_list_def(
815815
unique int id: @ruby_left_assignment_list
816816
);
817817

818+
ruby_match_pattern_def(
819+
unique int id: @ruby_match_pattern,
820+
int pattern: @ruby_underscore_pattern_top_expr_body ref,
821+
int value: @ruby_underscore_arg ref
822+
);
823+
818824
@ruby_method_body_type = @ruby_body_statement | @ruby_rescue_modifier | @ruby_underscore_arg
819825

820826
ruby_method_body(
@@ -1187,6 +1193,12 @@ ruby_symbol_array_def(
11871193
unique int id: @ruby_symbol_array
11881194
);
11891195

1196+
ruby_test_pattern_def(
1197+
unique int id: @ruby_test_pattern,
1198+
int pattern: @ruby_underscore_pattern_top_expr_body ref,
1199+
int value: @ruby_underscore_arg ref
1200+
);
1201+
11901202
@ruby_then_child_type = @ruby_token_empty_statement | @ruby_underscore_statement
11911203

11921204
#keyset[ruby_then, index]
@@ -1354,7 +1366,7 @@ case @ruby_token.kind of
13541366
;
13551367

13561368

1357-
@ruby_ast_node = @ruby_alias | @ruby_alternative_pattern | @ruby_argument_list | @ruby_array | @ruby_array_pattern | @ruby_as_pattern | @ruby_assignment | @ruby_bare_string | @ruby_bare_symbol | @ruby_begin | @ruby_begin_block | @ruby_binary | @ruby_block | @ruby_block_argument | @ruby_block_body | @ruby_block_parameter | @ruby_block_parameters | @ruby_body_statement | @ruby_break | @ruby_call | @ruby_case__ | @ruby_case_match | @ruby_chained_string | @ruby_class | @ruby_complex | @ruby_conditional | @ruby_delimited_symbol | @ruby_destructured_left_assignment | @ruby_destructured_parameter | @ruby_do | @ruby_do_block | @ruby_element_reference | @ruby_else | @ruby_elsif | @ruby_end_block | @ruby_ensure | @ruby_exception_variable | @ruby_exceptions | @ruby_expression_reference_pattern | @ruby_find_pattern | @ruby_for | @ruby_hash | @ruby_hash_pattern | @ruby_hash_splat_argument | @ruby_hash_splat_parameter | @ruby_heredoc_body | @ruby_if | @ruby_if_guard | @ruby_if_modifier | @ruby_in | @ruby_in_clause | @ruby_interpolation | @ruby_keyword_parameter | @ruby_keyword_pattern | @ruby_lambda | @ruby_lambda_parameters | @ruby_left_assignment_list | @ruby_method | @ruby_method_parameters | @ruby_module | @ruby_next | @ruby_operator_assignment | @ruby_optional_parameter | @ruby_pair | @ruby_parenthesized_pattern | @ruby_parenthesized_statements | @ruby_pattern | @ruby_program | @ruby_range | @ruby_rational | @ruby_redo | @ruby_regex | @ruby_rescue | @ruby_rescue_modifier | @ruby_rest_assignment | @ruby_retry | @ruby_return | @ruby_right_assignment_list | @ruby_scope_resolution | @ruby_setter | @ruby_singleton_class | @ruby_singleton_method | @ruby_splat_argument | @ruby_splat_parameter | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_superclass | @ruby_symbol_array | @ruby_then | @ruby_token | @ruby_unary | @ruby_undef | @ruby_unless | @ruby_unless_guard | @ruby_unless_modifier | @ruby_until | @ruby_until_modifier | @ruby_variable_reference_pattern | @ruby_when | @ruby_while | @ruby_while_modifier | @ruby_yield
1369+
@ruby_ast_node = @ruby_alias | @ruby_alternative_pattern | @ruby_argument_list | @ruby_array | @ruby_array_pattern | @ruby_as_pattern | @ruby_assignment | @ruby_bare_string | @ruby_bare_symbol | @ruby_begin | @ruby_begin_block | @ruby_binary | @ruby_block | @ruby_block_argument | @ruby_block_body | @ruby_block_parameter | @ruby_block_parameters | @ruby_body_statement | @ruby_break | @ruby_call | @ruby_case__ | @ruby_case_match | @ruby_chained_string | @ruby_class | @ruby_complex | @ruby_conditional | @ruby_delimited_symbol | @ruby_destructured_left_assignment | @ruby_destructured_parameter | @ruby_do | @ruby_do_block | @ruby_element_reference | @ruby_else | @ruby_elsif | @ruby_end_block | @ruby_ensure | @ruby_exception_variable | @ruby_exceptions | @ruby_expression_reference_pattern | @ruby_find_pattern | @ruby_for | @ruby_hash | @ruby_hash_pattern | @ruby_hash_splat_argument | @ruby_hash_splat_parameter | @ruby_heredoc_body | @ruby_if | @ruby_if_guard | @ruby_if_modifier | @ruby_in | @ruby_in_clause | @ruby_interpolation | @ruby_keyword_parameter | @ruby_keyword_pattern | @ruby_lambda | @ruby_lambda_parameters | @ruby_left_assignment_list | @ruby_match_pattern | @ruby_method | @ruby_method_parameters | @ruby_module | @ruby_next | @ruby_operator_assignment | @ruby_optional_parameter | @ruby_pair | @ruby_parenthesized_pattern | @ruby_parenthesized_statements | @ruby_pattern | @ruby_program | @ruby_range | @ruby_rational | @ruby_redo | @ruby_regex | @ruby_rescue | @ruby_rescue_modifier | @ruby_rest_assignment | @ruby_retry | @ruby_return | @ruby_right_assignment_list | @ruby_scope_resolution | @ruby_setter | @ruby_singleton_class | @ruby_singleton_method | @ruby_splat_argument | @ruby_splat_parameter | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_superclass | @ruby_symbol_array | @ruby_test_pattern | @ruby_then | @ruby_token | @ruby_unary | @ruby_undef | @ruby_unless | @ruby_unless_guard | @ruby_unless_modifier | @ruby_until | @ruby_until_modifier | @ruby_variable_reference_pattern | @ruby_when | @ruby_while | @ruby_while_modifier | @ruby_yield
13581370

13591371
@ruby_ast_node_parent = @file | @ruby_ast_node
13601372

0 commit comments

Comments
 (0)