1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* vm_trace.c (tracepoint_attr_defined_class): Clean up rdoc for

TracePoint#defined_class


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
zzak 2012-12-18 04:18:06 +00:00
parent dbc8565fa3
commit ec3226d826
2 changed files with 33 additions and 26 deletions

View file

@ -1,3 +1,8 @@
Tue Dec 18 13:17:00 2012 Zachary Scott <zachary@zacharyscott.net>
* vm_trace.c (tracepoint_attr_defined_class): Clean up rdoc for
TracePoint#defined_class
Tue Dec 18 12:15:59 2012 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/specification.rb: Fixed ruby output of requirements

View file

@ -835,36 +835,38 @@ tracepoint_attr_method_id(VALUE tpval)
}
/*
* Return class or module the method being called.
* Return class or module of the method being called.
*
* class C; def foo; end; end
* trace = TracePoint.new(:call) do |tp|
* tp.defined_class #=> C
* end.enable do
* C.new.foo
* end
* class C; def foo; end; end
* trace = TracePoint.new(:call) do |tp|
* p tp.defined_class #=> C
* end.enable do
* C.new.foo
* end
*
* If method is defined by a module, then returns that module.
* If method is defined by a module, then that module is returned.
*
* module M; def foo; end; end
* class C; include M; end;
* trace = TracePoint.new(:call) do |tp|
* tp.defined_class #=> M
* end.enable do
* C.new.foo
* end
* module M; def foo; end; end
* class C; include M; end;
* trace = TracePoint.new(:call) do |tp|
* p tp.defined_class #=> M
* end.enable do
* C.new.foo
* end
*
* Note that TracePont#defined_class returns singleton class.
* 6th block parameter of `set_trace_func' passes original class
* of attached by singleton class. This is a difference between
* `set_trace_func' and TracePoint.
*
* class C; def self.foo; end; end
* trace = TracePoint.new(:call) do |tp|
* tp.defined_class #=> #<Class:C>
* end.enable do
* C.foo
* end
* <b>Note:</b> #defined_class returns singleton class.
*
* 6th block parameter of Kernel#set_trace_func passes original class
* of attached by singleton class.
*
* <b>This is a difference between Kernel#set_trace_func and TracePoint.</b>
*
* class C; def self.foo; end; end
* trace = TracePoint.new(:call) do |tp|
* p tp.defined_class #=> #<Class:C>
* end.enable do
* C.foo
* end
*/
static VALUE
tracepoint_attr_defined_class(VALUE tpval)