class RubyProf::CallInfoVisitor

Attributes

block[R]
thread[R]

Public Class Methods

new(thread) click to toggle source
# File lib/ruby-prof/call_info_visitor.rb, line 22
def initialize(thread)
  @thread = thread
end

Public Instance Methods

visit(&block) click to toggle source
# File lib/ruby-prof/call_info_visitor.rb, line 26
def visit(&block)
  @block = block

  self.thread.top_methods.each do |method_info|
    method_info.call_infos.each do |call_info|
      self.visit_call_info(call_info)
    end
  end
end
visit_call_info(call_info) click to toggle source
# File lib/ruby-prof/call_info_visitor.rb, line 36
def visit_call_info(call_info)
  self.block.call(call_info, :enter)
  call_info.children.each do |child|
    visit_call_info(child)
  end
  self.block.call(call_info, :exit)
end