diff --git a/ext/rbs_extension/ast_translation.c b/ext/rbs_extension/ast_translation.c index 3b88cbd2d..b19937aa1 100644 --- a/ext/rbs_extension/ast_translation.c +++ b/ext/rbs_extension/ast_translation.c @@ -87,6 +87,8 @@ VALUE rbs_attr_ivar_name_to_ruby(rbs_translation_context_t ctx, rbs_attr_ivar_na return Qnil; case RBS_ATTR_IVAR_NAME_TAG_EMPTY: return Qfalse; + default: + rb_fatal("unknown enum rbs_attr_ivar_name_tag ivar_name.tag: %d", ivar_name.tag); } } diff --git a/src/parser.c b/src/parser.c index 2a83dc9c2..be238c759 100644 --- a/src/parser.c +++ b/src/parser.c @@ -519,7 +519,7 @@ static bool parse_params(rbs_parser_t *parser, method_params *params, bool self_ PARSE_OPTIONAL_PARAMS: while (true) { switch (parser->next_token.type) { - case pQUESTION: + case pQUESTION: { rbs_parser_advance(parser); if (is_keyword(parser)) { @@ -533,6 +533,7 @@ static bool parse_params(rbs_parser_t *parser, method_params *params, bool self_ rbs_node_list_append(params->optional_positionals, (rbs_node_t *) param); break; + } default: goto PARSE_REST_PARAM; } @@ -597,13 +598,13 @@ static bool parse_params(rbs_parser_t *parser, method_params *params, bool self_ } break; - case pSTAR2: + case pSTAR2: { rbs_parser_advance(parser); rbs_types_function_param_t *param = NULL; CHECK_PARSE(parse_function_param(parser, ¶m, self_allowed, classish_allowed)); params->rest_keywords = (rbs_node_t *) param; break; - + } case tUIDENT: case tLIDENT: case tQIDENT: diff --git a/templates/ext/rbs_extension/ast_translation.c.erb b/templates/ext/rbs_extension/ast_translation.c.erb index 59e2af0a8..cf4dba4be 100644 --- a/templates/ext/rbs_extension/ast_translation.c.erb +++ b/templates/ext/rbs_extension/ast_translation.c.erb @@ -78,8 +78,10 @@ VALUE rbs_attr_ivar_name_to_ruby(rbs_translation_context_t ctx, rbs_attr_ivar_na } case RBS_ATTR_IVAR_NAME_TAG_UNSPECIFIED: return Qnil; - case RBS_ATTR_IVAR_NAME_TAG_EMPTY: + case RBS_ATTR_IVAR_NAME_TAG_EMPTY: return Qfalse; + default: + rb_fatal("unknown enum rbs_attr_ivar_name_tag ivar_name.tag: %d", ivar_name.tag); } }