Skip to content

Commit 3bb60d4

Browse files
committed
Add default clauses
1 parent 6684368 commit 3bb60d4

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

ext/rbs_extension/ast_translation.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ VALUE rbs_attribute_visibility_to_ruby(enum rbs_attribute_visibility value) {
9898
return rb_id2sym(rb_intern("public"));
9999
case RBS_ATTRIBUTE_VISIBILITY_PRIVATE:
100100
return rb_id2sym(rb_intern("private"));
101+
default:
102+
rb_fatal("unknown enum rbs_attribute_visibility value: %d", value);
101103
}
102104
}
103105

@@ -107,6 +109,8 @@ VALUE rbs_attribute_kind_to_ruby(enum rbs_attribute_kind value) {
107109
return rb_id2sym(rb_intern("instance"));
108110
case RBS_ATTRIBUTE_KIND_SINGLETON:
109111
return rb_id2sym(rb_intern("singleton"));
112+
default:
113+
rb_fatal("unknown enum rbs_attribute_kind value: %d", value);
110114
}
111115
}
112116

@@ -116,6 +120,8 @@ VALUE rbs_alias_kind_to_ruby(enum rbs_alias_kind value) {
116120
return rb_id2sym(rb_intern("instance"));
117121
case RBS_ALIAS_KIND_SINGLETON:
118122
return rb_id2sym(rb_intern("singleton"));
123+
default:
124+
rb_fatal("unknown enum rbs_alias_kind value: %d", value);
119125
}
120126
}
121127

@@ -127,6 +133,8 @@ VALUE rbs_method_definition_kind_to_ruby(enum rbs_method_definition_kind value)
127133
return rb_id2sym(rb_intern("singleton"));
128134
case RBS_METHOD_DEFINITION_KIND_SINGLETON_INSTANCE:
129135
return rb_id2sym(rb_intern("singleton_instance"));
136+
default:
137+
rb_fatal("unknown enum rbs_method_definition_kind value: %d", value);
130138
}
131139
}
132140

@@ -138,6 +146,8 @@ VALUE rbs_method_definition_visibility_to_ruby(enum rbs_method_definition_visibi
138146
return rb_id2sym(rb_intern("public"));
139147
case RBS_METHOD_DEFINITION_VISIBILITY_PRIVATE:
140148
return rb_id2sym(rb_intern("private"));
149+
default:
150+
rb_fatal("unknown enum rbs_method_definition_visibility value: %d", value);
141151
}
142152
}
143153

@@ -149,6 +159,8 @@ VALUE rbs_type_param_variance_to_ruby(enum rbs_type_param_variance value) {
149159
return rb_id2sym(rb_intern("covariant"));
150160
case RBS_TYPE_PARAM_VARIANCE_CONTRAVARIANT:
151161
return rb_id2sym(rb_intern("contravariant"));
162+
default:
163+
rb_fatal("unknown enum rbs_type_param_variance value: %d", value);
152164
}
153165
}
154166

templates/ext/rbs_extension/ast_translation.c.erb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,8 @@ VALUE <%= enum.translator_name %>(<%= enum.c_type_name %> value) {
9494
return rb_id2sym(rb_intern("<%= ruby_value %>"));
9595
<%- end -%>
9696
<%- end -%>
97+
default:
98+
rb_fatal("unknown <%= enum.c_type_name %> value: %d", value);
9799
}
98100
}
99101

0 commit comments

Comments
 (0)