summaryrefslogtreecommitdiffhomepage
path: root/src/class.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/class.c')
-rw-r--r--src/class.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/class.c b/src/class.c
index 37ac751a7..d3a2403f1 100644
--- a/src/class.c
+++ b/src/class.c
@@ -1550,18 +1550,6 @@ mod_define_method(mrb_state *mrb, mrb_value self)
}
static void
-check_cv_name_sym(mrb_state *mrb, mrb_sym id)
-{
- const char *s;
- mrb_int len;
-
- s = mrb_sym2name_len(mrb, id, &len);
- if (len < 3 || !(s[0] == '@' && s[1] == '@')) {
- mrb_name_error(mrb, id, "`%S' is not allowed as a class variable name", mrb_sym2str(mrb, id));
- }
-}
-
-static void
check_cv_name_str(mrb_state *mrb, mrb_value str)
{
const char *s = RSTRING_PTR(str);
@@ -1572,6 +1560,12 @@ check_cv_name_str(mrb_state *mrb, mrb_value str)
}
}
+static void
+check_cv_name_sym(mrb_state *mrb, mrb_sym id)
+{
+ check_cv_name_str(mrb, mrb_sym2str(mrb, id));
+}
+
static mrb_value
get_sym_or_str_arg(mrb_state *mrb)
{