Skip to content

Commit

Permalink
Move ripper_validate_object to ripper_init.c.tmpl
Browse files Browse the repository at this point in the history
  • Loading branch information
yui-knk committed Feb 20, 2024
1 parent fa3d6aa commit 7cb8fd7
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 33 deletions.
31 changes: 31 additions & 0 deletions ext/ripper/ripper_init.c.tmpl
Expand Up @@ -477,6 +477,37 @@ ripper_raw_value(VALUE self, VALUE obj)
{
return ULONG2NUM(obj);
}

/* :nodoc: */
static VALUE
ripper_validate_object(VALUE self, VALUE x)
{
if (x == Qfalse) return x;
if (x == Qtrue) return x;
if (NIL_P(x)) return x;
if (UNDEF_P(x))
rb_raise(rb_eArgError, "Qundef given");
if (FIXNUM_P(x)) return x;
if (SYMBOL_P(x)) return x;
switch (BUILTIN_TYPE(x)) {
case T_STRING:
case T_OBJECT:
case T_ARRAY:
case T_BIGNUM:
case T_FLOAT:
case T_COMPLEX:
case T_RATIONAL:
break;
default:
rb_raise(rb_eArgError, "wrong type of ruby object: %p (%s)",
(void *)x, rb_obj_classname(x));
}
if (!RBASIC_CLASS(x)) {
rb_raise(rb_eArgError, "hidden ruby object: %p (%s)",
(void *)x, rb_builtin_type_name(TYPE(x)));
}
return x;
}
#endif

#ifdef UNIVERSAL_PARSER
Expand Down
33 changes: 0 additions & 33 deletions parse.y
Expand Up @@ -16549,39 +16549,6 @@ rb_yytnamerr(struct parser_params *p, char *yyres, const char *yystr)
#endif

#ifdef RIPPER
#ifdef RIPPER_DEBUG
/* :nodoc: */
static VALUE
ripper_validate_object(VALUE self, VALUE x)
{
if (x == Qfalse) return x;
if (x == Qtrue) return x;
if (NIL_P(x)) return x;
if (UNDEF_P(x))
rb_raise(rb_eArgError, "Qundef given");
if (FIXNUM_P(x)) return x;
if (SYMBOL_P(x)) return x;
switch (BUILTIN_TYPE(x)) {
case T_STRING:
case T_OBJECT:
case T_ARRAY:
case T_BIGNUM:
case T_FLOAT:
case T_COMPLEX:
case T_RATIONAL:
break;
default:
rb_raise(rb_eArgError, "wrong type of ruby object: %p (%s)",
(void *)x, rb_obj_classname(x));
}
if (!RBASIC_CLASS(x)) {
rb_raise(rb_eArgError, "hidden ruby object: %p (%s)",
(void *)x, rb_builtin_type_name(TYPE(x)));
}
return x;
}
#endif

#define validate(x) ((x) = (x) == rb_ripper_none ? Qnil : x)

static VALUE
Expand Down

0 comments on commit 7cb8fd7

Please sign in to comment.