Project

General

Profile

Bug #15484 ยป tracepoint-docs.patch

zverok (Victor Shepelev), 12/29/2018 11:32 AM

View differences:

prelude.rb
end
class TracePoint
# call-seq:
# trace.enable(target: nil, target_line: nil) -> true or false
# trace.enable(target: nil, target_line: nil) { block } -> obj
#
# Activates the trace
#
# Return +true+ if trace was enabled.
# Return +false+ if trace was disabled.
#
# trace.enabled? #=> false
# trace.enable #=> false (previous state)
# # trace is enabled
# trace.enabled? #=> true
# trace.enable #=> true (previous state)
# # trace is still enabled
#
# If a block is given, the trace will only be enabled within the scope of the
# block.
#
# trace.enabled?
# #=> false
#
# trace.enable do
# trace.enabled?
# # only enabled for this block
# end
#
# trace.enabled?
# #=> false
#
# <i>target</i> and <i>target_line</i> parameters are used to limit tracing
# only to specified code objects. <i>target</i> should be a code object for
# which RubyVM::InstructionSequence.of will return instruction sequence.
#
# t = TracePoint.new(:line) { |tp| p tp }
#
# def m1
# p 1
# end
#
# def m2
# p 2
# end
#
# t.enable(target: method(:m1))
#
# m1
# # prints #<TracePoint:line@test.rb:5 in `m1'>
# m2
# # prints nothing
#
#
# Note: You cannot access event hooks within the +enable+ block.
#
# trace.enable { p tp.lineno }
# #=> RuntimeError: access from outside
#
def enable target: nil, target_line: nil, &blk
self.__enable target, target_line, &blk
end
vm_trace.c
}
/*
* Return the parameters of the method or block that the current hook belongs to
* Return the parameters definition of the method or block that the
* current hook belongs to. Format is the same as for Method#parameters
*/
static VALUE
tracepoint_attr_parameters(VALUE tpval)
......
list->events = events;
}
/*
* call-seq:
* trace.enable -> true or false
* trace.enable { block } -> obj
*
* Activates the trace
*
* Return true if trace was enabled.
* Return false if trace was disabled.
*
* trace.enabled? #=> false
* trace.enable #=> false (previous state)
* # trace is enabled
* trace.enabled? #=> true
* trace.enable #=> true (previous state)
* # trace is still enabled
*
* If a block is given, the trace will only be enabled within the scope of the
* block.
*
* trace.enabled?
* #=> false
*
* trace.enable do
* trace.enabled?
* # only enabled for this block
* end
*
* trace.enabled?
* #=> false
*
* Note: You cannot access event hooks within the block.
*
* trace.enable { p tp.lineno }
* #=> RuntimeError: access from outside
*
/* :nodoc:
* Docs for the TracePointe#enable are in prelude.rb
*/
static VALUE
tracepoint_enable_m(VALUE tpval, VALUE target, VALUE target_line)
......
* +:thread_begin+:: event hook at thread beginning
* +:thread_end+:: event hook at thread ending
* +:fiber_switch+:: event hook at fiber switch
* +:script_compiled+:: new Ruby code compiled (with +eval+, +load+ or +require+)
*
*/
rb_cTracePoint = rb_define_class("TracePoint", rb_cObject);
    (1-1/1)