Actions
Feature #14694
closedTracePoint#parameters
Status:
Closed
Assignee:
-
Target version:
-
Description
Currently, we cannot get the block parameters' information in TracePoint b_call hooks.
Also, it is (possible but) not easy to get the method parameters in call hooks.
[1] https://speakerdeck.com/valich/automated-type-contracts-generation-1#29
To make it easy, how about adding TracePoint#parameters?
TracePoint.new(:call, :b_call, :c_call) do |tp|
p [tp.event, tp.parameters]
end
# call
def foo(a, b=1); end; foo(1)
#=> [:call, [[:req, :a], [:opt, :b]]]
# b_call
1.times {|x, y=1| }
#=> [:b_call, [[:req, :x], [:opt, :y]]]
# c_call
"".getbyte(0)
#=> [:c_call, [[:req]]]
A patch is attached.
Files
Actions
Like0
Like0Like0