Class: Object
- Inherits:
- BasicObject
- Defined in:
- (unknown)
Instance Method Summary collapse
-
#assert_Qundef(obj, msg) ⇒ Object
:nodoc:.
-
#rawVALUE(obj) ⇒ Object
:nodoc:.
-
#validate_object(x) ⇒ Object
:nodoc:.
Instance Method Details
#assert_Qundef(obj, msg) ⇒ Object
:nodoc:
17901 17902 17903 17904 17905 17906 17907 17908 17909 |
# File 'ripper.c', line 17901
static VALUE
ripper_assert_Qundef(VALUE self, VALUE obj, VALUE msg)
{
StringValue(msg);
if (obj == Qundef) {
rb_raise(rb_eArgError, "%"PRIsVALUE, msg);
}
return Qnil;
}
|
#rawVALUE(obj) ⇒ Object
:nodoc:
17912 17913 17914 17915 17916 |
# File 'ripper.c', line 17912
static VALUE
ripper_value(VALUE self, VALUE obj)
{
return ULONG2NUM(obj);
}
|
#validate_object(x) ⇒ Object
:nodoc:
17442 17443 17444 17445 17446 17447 17448 17449 17450 17451 17452 17453 17454 17455 17456 17457 17458 17459 17460 17461 17462 17463 17464 17465 17466 17467 17468 17469 17470 17471 17472 17473 |
# File 'ripper.c', line 17442
static VALUE
ripper_validate_object(VALUE self, VALUE x)
{
if (x == Qfalse) return x;
if (x == Qtrue) return x;
if (x == Qnil) return x;
if (x == Qundef)
rb_raise(rb_eArgError, "Qundef given");
if (FIXNUM_P(x)) return x;
if (SYMBOL_P(x)) return x;
if (!rb_is_pointer_to_heap(x))
rb_raise(rb_eArgError, "invalid pointer: %p", 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:
return x;
case T_NODE:
if (nd_type(x) != NODE_RIPPER) {
rb_raise(rb_eArgError, "NODE given: %p", x);
}
return ((NODE *)x)->nd_rval;
default:
rb_raise(rb_eArgError, "wrong type of ruby object: %p (%s)",
x, rb_obj_classname(x));
}
return x;
}
|