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:
18137 18138 18139 18140 18141 18142 18143 18144 18145 |
# File 'ripper.c', line 18137
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:
18148 18149 18150 18151 18152 |
# File 'ripper.c', line 18148
static VALUE
ripper_value(VALUE self, VALUE obj)
{
return ULONG2NUM(obj);
}
|
#validate_object(x) ⇒ Object
:nodoc:
17731 17732 17733 17734 17735 17736 17737 17738 17739 17740 17741 17742 17743 17744 17745 17746 17747 17748 17749 17750 17751 17752 17753 17754 17755 17756 17757 17758 17759 17760 17761 17762 |
# File 'ripper.c', line 17731
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;
}
|