@@ -9120,7 +9120,7 @@ lex_global_variable(pm_parser_t *parser) {
9120
9120
case '-':
9121
9121
parser->current.end++;
9122
9122
allow_multiple = false;
9123
- /* fallthrough */
9123
+ PRISM_FALLTHROUGH
9124
9124
default: {
9125
9125
size_t width;
9126
9126
@@ -10049,8 +10049,8 @@ escape_read(pm_parser_t *parser, pm_buffer_t *buffer, pm_buffer_t *regular_expre
10049
10049
escape_write_byte_encoded(parser, buffer, escape_byte('\n', flags));
10050
10050
return;
10051
10051
}
10052
+ PRISM_FALLTHROUGH
10052
10053
}
10053
- /* fallthrough */
10054
10054
default: {
10055
10055
if ((flags & (PM_ESCAPE_FLAG_CONTROL | PM_ESCAPE_FLAG_META)) && !char_is_ascii_printable(peeked)) {
10056
10056
size_t width = parser->encoding->char_width(parser->current.end, parser->end - parser->current.end);
@@ -10759,7 +10759,7 @@ parser_lex(pm_parser_t *parser) {
10759
10759
10760
10760
lexed_comment = true;
10761
10761
}
10762
- /* fallthrough */
10762
+ PRISM_FALLTHROUGH
10763
10763
case '\r':
10764
10764
case '\n': {
10765
10765
parser->semantic_token_seen = semantic_token_seen & 0x1;
@@ -10801,7 +10801,7 @@ parser_lex(pm_parser_t *parser) {
10801
10801
parser->current.type = PM_TOKEN_NEWLINE;
10802
10802
return;
10803
10803
}
10804
- /* fallthrough */
10804
+ PRISM_FALLTHROUGH
10805
10805
case PM_IGNORED_NEWLINE_ALL:
10806
10806
if (!lexed_comment) parser_lex_ignored_newline(parser);
10807
10807
lexed_comment = false;
@@ -11816,7 +11816,7 @@ parser_lex(pm_parser_t *parser) {
11816
11816
PM_PARSER_ERR_TOKEN_FORMAT(parser, parser->current, PM_ERR_UNEXPECTED_TOKEN_IGNORE, "escaped carriage return");
11817
11817
break;
11818
11818
}
11819
- /* fallthrough */
11819
+ PRISM_FALLTHROUGH
11820
11820
default:
11821
11821
PM_PARSER_ERR_TOKEN_FORMAT(parser, parser->current, PM_ERR_UNEXPECTED_TOKEN_IGNORE, "backslash");
11822
11822
break;
@@ -12013,7 +12013,7 @@ parser_lex(pm_parser_t *parser) {
12013
12013
pm_token_buffer_push_byte(&token_buffer, '\r');
12014
12014
break;
12015
12015
}
12016
- /* fallthrough */
12016
+ PRISM_FALLTHROUGH
12017
12017
case '\n':
12018
12018
pm_token_buffer_push_byte(&token_buffer, '\n');
12019
12019
@@ -12200,7 +12200,7 @@ parser_lex(pm_parser_t *parser) {
12200
12200
pm_regexp_token_buffer_escape(parser, &token_buffer);
12201
12201
token_buffer.base.cursor = breakpoint;
12202
12202
12203
- /* fallthrough */
12203
+ PRISM_FALLTHROUGH
12204
12204
case '\n':
12205
12205
// If we've hit a newline, then we need to track that in
12206
12206
// the list of newlines.
@@ -12242,7 +12242,7 @@ parser_lex(pm_parser_t *parser) {
12242
12242
pm_token_buffer_push_byte(&token_buffer.base, '\r');
12243
12243
break;
12244
12244
}
12245
- /* fallthrough */
12245
+ PRISM_FALLTHROUGH
12246
12246
case '\n':
12247
12247
if (parser->heredoc_end) {
12248
12248
// ... if we are on the same line as a heredoc,
@@ -12450,7 +12450,7 @@ parser_lex(pm_parser_t *parser) {
12450
12450
pm_token_buffer_escape(parser, &token_buffer);
12451
12451
token_buffer.cursor = breakpoint;
12452
12452
12453
- /* fallthrough */
12453
+ PRISM_FALLTHROUGH
12454
12454
case '\n':
12455
12455
// When we hit a newline, we need to flush any potential
12456
12456
// heredocs. Note that this has to happen after we check
@@ -12495,7 +12495,7 @@ parser_lex(pm_parser_t *parser) {
12495
12495
pm_token_buffer_push_byte(&token_buffer, '\r');
12496
12496
break;
12497
12497
}
12498
- /* fallthrough */
12498
+ PRISM_FALLTHROUGH
12499
12499
case '\n':
12500
12500
if (!lex_mode->as.string.interpolation) {
12501
12501
pm_token_buffer_push_byte(&token_buffer, '\\');
@@ -12703,7 +12703,7 @@ parser_lex(pm_parser_t *parser) {
12703
12703
pm_token_buffer_escape(parser, &token_buffer);
12704
12704
token_buffer.cursor = breakpoint;
12705
12705
12706
- /* fallthrough */
12706
+ PRISM_FALLTHROUGH
12707
12707
case '\n': {
12708
12708
if (parser->heredoc_end != NULL && (parser->heredoc_end > breakpoint)) {
12709
12709
parser_flush_heredoc_end(parser);
@@ -12803,7 +12803,7 @@ parser_lex(pm_parser_t *parser) {
12803
12803
pm_token_buffer_push_byte(&token_buffer, '\r');
12804
12804
break;
12805
12805
}
12806
- /* fallthrough */
12806
+ PRISM_FALLTHROUGH
12807
12807
case '\n':
12808
12808
pm_token_buffer_push_byte(&token_buffer, '\\');
12809
12809
pm_token_buffer_push_byte(&token_buffer, '\n');
@@ -12823,7 +12823,7 @@ parser_lex(pm_parser_t *parser) {
12823
12823
pm_token_buffer_push_byte(&token_buffer, '\r');
12824
12824
break;
12825
12825
}
12826
- /* fallthrough */
12826
+ PRISM_FALLTHROUGH
12827
12827
case '\n':
12828
12828
// If we are in a tilde here, we should
12829
12829
// break out of the loop and return the
@@ -13545,7 +13545,7 @@ parse_target(pm_parser_t *parser, pm_node_t *target, bool multiple, bool splat_p
13545
13545
return (pm_node_t *) pm_index_target_node_create(parser, call);
13546
13546
}
13547
13547
}
13548
- /* fallthrough */
13548
+ PRISM_FALLTHROUGH
13549
13549
default:
13550
13550
// In this case we have a node that we don't know how to convert
13551
13551
// into a target. We need to treat it as an error. For now, we'll
@@ -13627,7 +13627,7 @@ parse_write(pm_parser_t *parser, pm_node_t *target, pm_token_t *operator, pm_nod
13627
13627
case PM_BACK_REFERENCE_READ_NODE:
13628
13628
case PM_NUMBERED_REFERENCE_READ_NODE:
13629
13629
PM_PARSER_ERR_NODE_FORMAT_CONTENT(parser, target, PM_ERR_WRITE_TARGET_READONLY);
13630
- /* fallthrough */
13630
+ PRISM_FALLTHROUGH
13631
13631
case PM_GLOBAL_VARIABLE_READ_NODE: {
13632
13632
pm_global_variable_write_node_t *node = pm_global_variable_write_node_create(parser, target, operator, value);
13633
13633
pm_node_destroy(parser, target);
@@ -13769,7 +13769,7 @@ parse_write(pm_parser_t *parser, pm_node_t *target, pm_token_t *operator, pm_nod
13769
13769
// is no way for us to attach it to the tree at this point.
13770
13770
pm_node_destroy(parser, value);
13771
13771
}
13772
- /* fallthrough */
13772
+ PRISM_FALLTHROUGH
13773
13773
default:
13774
13774
// In this case we have a node that we don't know how to convert into a
13775
13775
// target. We need to treat it as an error. For now, we'll mark it as an
@@ -14289,7 +14289,7 @@ parse_arguments(pm_parser_t *parser, pm_arguments_t *arguments, bool accepts_for
14289
14289
}
14290
14290
}
14291
14291
}
14292
- /* fallthrough */
14292
+ PRISM_FALLTHROUGH
14293
14293
default: {
14294
14294
if (argument == NULL) {
14295
14295
argument = parse_value_expression(parser, PM_BINDING_POWER_DEFINED, !parsed_first_argument, true, PM_ERR_EXPECT_ARGUMENT, (uint16_t) (depth + 1));
@@ -16177,7 +16177,7 @@ parse_operator_symbol_name(const pm_token_t *name) {
16177
16177
case PM_TOKEN_TILDE:
16178
16178
case PM_TOKEN_BANG:
16179
16179
if (name->end[-1] == '@') return name->end - 1;
16180
- /* fallthrough */
16180
+ PRISM_FALLTHROUGH
16181
16181
default:
16182
16182
return name->end;
16183
16183
}
@@ -17149,7 +17149,7 @@ parse_pattern_hash(pm_parser_t *parser, pm_constant_id_list_t *captures, pm_node
17149
17149
break;
17150
17150
}
17151
17151
}
17152
- /* fallthrough */
17152
+ PRISM_FALLTHROUGH
17153
17153
default: {
17154
17154
// If we get anything else, then this is an error. For this we'll
17155
17155
// create a missing node for the value and create an assoc node for
@@ -17645,7 +17645,7 @@ parse_pattern(pm_parser_t *parser, pm_constant_id_list_t *captures, uint8_t flag
17645
17645
break;
17646
17646
}
17647
17647
}
17648
- /* fallthrough */
17648
+ PRISM_FALLTHROUGH
17649
17649
default:
17650
17650
node = parse_pattern_primitives(parser, captures, NULL, diag_id, (uint16_t) (depth + 1));
17651
17651
break;
@@ -18775,7 +18775,7 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
18775
18775
pm_parser_err_node(parser, old_name, PM_ERR_ALIAS_ARGUMENT);
18776
18776
}
18777
18777
}
18778
- /* fallthrough */
18778
+ PRISM_FALLTHROUGH
18779
18779
default:
18780
18780
return (pm_node_t *) pm_alias_method_node_create(parser, &keyword, new_name, old_name);
18781
18781
}
@@ -19303,7 +19303,7 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
19303
19303
case PM_TOKEN_CLASS_VARIABLE:
19304
19304
case PM_TOKEN_GLOBAL_VARIABLE:
19305
19305
valid_name = false;
19306
- /* fallthrough */
19306
+ PRISM_FALLTHROUGH
19307
19307
case PM_TOKEN_CONSTANT:
19308
19308
case PM_TOKEN_KEYWORD_NIL:
19309
19309
case PM_TOKEN_KEYWORD_SELF:
@@ -21114,7 +21114,7 @@ parse_expression_infix(pm_parser_t *parser, pm_node_t *node, pm_binding_power_t
21114
21114
pm_parser_local_add_location(parser, call_node->message_loc.start, call_node->message_loc.end, 0);
21115
21115
}
21116
21116
}
21117
- /* fallthrough */
21117
+ PRISM_FALLTHROUGH
21118
21118
case PM_CASE_WRITABLE: {
21119
21119
parser_lex(parser);
21120
21120
pm_node_t *value = parse_assignment_values(parser, previous_binding_power, PM_NODE_TYPE_P(node, PM_MULTI_TARGET_NODE) ? PM_BINDING_POWER_MULTI_ASSIGNMENT + 1 : binding_power, accepts_command_call, PM_ERR_EXPECT_EXPRESSION_AFTER_EQUAL, (uint16_t) (depth + 1));
@@ -21160,7 +21160,7 @@ parse_expression_infix(pm_parser_t *parser, pm_node_t *node, pm_binding_power_t
21160
21160
case PM_BACK_REFERENCE_READ_NODE:
21161
21161
case PM_NUMBERED_REFERENCE_READ_NODE:
21162
21162
PM_PARSER_ERR_NODE_FORMAT_CONTENT(parser, node, PM_ERR_WRITE_TARGET_READONLY);
21163
- /* fallthrough */
21163
+ PRISM_FALLTHROUGH
21164
21164
case PM_GLOBAL_VARIABLE_READ_NODE: {
21165
21165
parser_lex(parser);
21166
21166
@@ -21278,7 +21278,7 @@ parse_expression_infix(pm_parser_t *parser, pm_node_t *node, pm_binding_power_t
21278
21278
case PM_BACK_REFERENCE_READ_NODE:
21279
21279
case PM_NUMBERED_REFERENCE_READ_NODE:
21280
21280
PM_PARSER_ERR_NODE_FORMAT_CONTENT(parser, node, PM_ERR_WRITE_TARGET_READONLY);
21281
- /* fallthrough */
21281
+ PRISM_FALLTHROUGH
21282
21282
case PM_GLOBAL_VARIABLE_READ_NODE: {
21283
21283
parser_lex(parser);
21284
21284
@@ -21406,7 +21406,7 @@ parse_expression_infix(pm_parser_t *parser, pm_node_t *node, pm_binding_power_t
21406
21406
case PM_BACK_REFERENCE_READ_NODE:
21407
21407
case PM_NUMBERED_REFERENCE_READ_NODE:
21408
21408
PM_PARSER_ERR_NODE_FORMAT_CONTENT(parser, node, PM_ERR_WRITE_TARGET_READONLY);
21409
- /* fallthrough */
21409
+ PRISM_FALLTHROUGH
21410
21410
case PM_GLOBAL_VARIABLE_READ_NODE: {
21411
21411
parser_lex(parser);
21412
21412
@@ -22043,6 +22043,7 @@ parse_expression(pm_parser_t *parser, pm_binding_power_t binding_power, bool acc
22043
22043
if (pm_symbol_node_label_p(node)) {
22044
22044
return node;
22045
22045
}
22046
+ break;
22046
22047
default:
22047
22048
break;
22048
22049
}
0 commit comments