Ruby 4.1 リファレンスマニュアル

instance method Prism::Node#breadth_first_search

自身を含めて構文木を幅優先で探索し、ブロックが真を返した最初のノードを返します。見つからない場合は nil を返します。

require "prism"

node = Prism.parse("1 + 2").value
call = node.breadth_first_search { |n| n.is_a?(Prism::CallNode) }
p call&.type # => :call_node

[SEE_ALSO] Prism::Node#find