Module: RuTuExt

Defined in:
ext/RuTuExt.c

Overview

}

Class Method Summary collapse

Class Method Details

._class_path(klass) ⇒ Object



61
62
63
64
# File 'ext/RuTuExt.c', line 61

VALUE RuTuExt__class_path(VALUE obj, VALUE klass)
{
	return rb_class_path(klass);
}

._equal?Boolean

rb_obj_equal

Returns:

  • (Boolean)


28
29
30
31
32
# File 'ext/RuTuExt.c', line 28

VALUE RuTuExt__equal(VALUE dummy, VALUE v1, VALUE v2) // rb_obj_equal
{
        if (v1 == v2) return Qtrue;
        return Qfalse;
}

._iv_tbl(obj) ⇒ Object



37
38
39
40
41
42
# File 'ext/RuTuExt.c', line 37

VALUE RuTuExt__iv_tbl(VALUE dummy, VALUE obj)
{
	//return rb_fix_new(RCLASS(klass)->m_tbl);
        //assert((RCLASS(klass)->m_tbl & 1) == 0); // doesn't matter......
	return (VALUE) ROBJECT(obj)->iv_tbl; // note: can't be inspected
}

._klass(self) ⇒ Object



33
34
35
36
# File 'ext/RuTuExt.c', line 33

VALUE RuTuExt__klass(VALUE dummy, VALUE self)
{
	return RBASIC(self)->klass;
}

._m_tbl(klass) ⇒ Object

note: can’t be inspected



43
44
45
46
47
48
# File 'ext/RuTuExt.c', line 43

VALUE RuTuExt__m_tbl(VALUE dummy, VALUE klass)
{
	//return rb_fix_new(RCLASS(klass)->m_tbl);
        //assert((RCLASS(klass)->m_tbl & 1) == 0); // doesn't matter......
	return (VALUE) RCLASS(klass)->m_tbl; // note: can't be inspected
}

._obj_id(v) ⇒ Object

struct RBasic

unsigned long flags;
VALUE klass;

; struct RObject

struct RBasic basic;
struct st_table *iv_tbl;

; struct RClass

struct RBasic basic;
struct st_table *iv_tbl;
struct st_table *m_tbl;
VALUE super;

;



24
25
26
27
# File 'ext/RuTuExt.c', line 24

VALUE RuTuExt__obj_id(VALUE dummy, VALUE v)
{
	return rb_obj_id(v);
}

._singleton_class?(klass) ⇒ Boolean

rb_define_module_function(mRuTuExt, “_instance_methods”, RuTuExt_class_instance_methods, 1);

Returns:

  • (Boolean)


53
54
55
56
57
# File 'ext/RuTuExt.c', line 53

VALUE RuTuExt__singleton_class(VALUE dummy, VALUE klass)
{
        if (FL_TEST(klass, FL_SINGLETON)) return Qtrue;
        return Qfalse;
}

._super(klass) ⇒ Object

note: can’t be inspected



49
50
51
52
# File 'ext/RuTuExt.c', line 49

VALUE RuTuExt__super(VALUE dummy, VALUE klass)
{
	return RCLASS(klass)->super;
}