class AdLint::Ld::BuildCallGraphPhase

Public Class Methods

new(phase_ctxt) click to toggle source
Calls superclass method AdLint::Ld::LdPhase::new
# File lib/adlint/ld/phase.rb, line 97
def initialize(phase_ctxt)
  super(phase_ctxt, "ld1")
end

Private Instance Methods

do_execute(phase_ctxt, monitor) click to toggle source
# File lib/adlint/ld/phase.rb, line 102
def do_execute(phase_ctxt, monitor)
  builder = FunctionCallGraphBuilder.new(phase_ctxt[:ld_function_map])
  phase_ctxt[:metric_fpaths].each do |fpath|
    builder.execute(fpath)
    monitor.progress += 1.0 / phase_ctxt[:metric_fpaths].size
  end
  phase_ctxt[:ld_call_graph] = builder.graph
ensure
  DebugUtil.dump_function_call_graph(phase_ctxt)
end