From: mame@... Date: 2018-04-18T02:07:24+00:00 Subject: [ruby-core:86567] [Ruby trunk Bug#14694] TracePoint#parameters Issue #14694 has been reported by mame (Yusuke Endoh). ---------------------------------------- Bug #14694: TracePoint#parameters https://bugs.ruby-lang.org/issues/14694 * Author: mame (Yusuke Endoh) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- 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-------------------------------- tracepoint-parameters.patch (4.75 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: