Class: Node::DMETHOD
- Defined in:
- ext/cached/ruby-1.8.4/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.4/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.5/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.5/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.6/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.6/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.7/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.7/internal/node/nodeinfo.c
Overview
A placeholder for a method defined using define_method where the passed block is created from a Method object, e.g.:
define_method(:name, method(:foo))
See also BMETHOD.
Class Method Summary collapse
-
.members ⇒ Array
Return an array of strings containing the names of the node class’s members.
Instance Method Summary collapse
-
#cval ⇒ Object
Return the Node’s cval member.
Methods inherited from Node
#[], #_dump, _load, #address, #bytecode_compile, compile_string, #eval, #flags, #inspect, #members, #nd_file, #nd_line, #nd_type, #obfusc, #pretty_print, #swap, #to_a, #tree, type
Class Method Details
.members ⇒ Array
Return an array of strings containing the names of the node class’s members.
2897 2898 2899 2900 |
# File 'ext/cached/ruby-1.8.4/internal/node/nodeinfo.c', line 2897
VALUE node_s_members(VALUE klass)
{
return rb_iv_get(klass, "__member__");
}
|
Instance Method Details
#cval ⇒ Object
Return the Node’s cval member. The return type is either a Node or an Object.
2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 |
# File 'ext/cached/ruby-1.8.4/internal/node/nodeinfo.c', line 2271
static VALUE node_cval(VALUE self)
{
NODE * n;
Data_Get_Struct(self, NODE, n);
if(TYPE(n->nd_cval) == T_NODE)
{
if(0 && nd_type(n) == NODE_OP_ASGN2)
{
return wrap_node_as(
(NODE *)n->nd_cval,
rb_cNodeSubclass[NODE_OP_ASGN2_ARG]);
}
else
{
return wrap_node((NODE *)n->nd_cval);
}
}
else
{
return (VALUE)n->nd_cval;
}
}
|