class AdLint::Exam::CBuiltin::FN_CALL

Public Class Methods

new(phase_ctxt) click to toggle source
Calls superclass method AdLint::Examination::new
# File lib/adlint/exam/c_builtin/ld_metric.rb, line 43
def initialize(phase_ctxt)
  super
  phase_ctxt[:ld_function_traversal].on_definition += T(:measure)
  @call_graph = phase_ctxt[:ld_call_graph]
end

Private Instance Methods

do_execute(*) click to toggle source
# File lib/adlint/exam/c_builtin/ld_metric.rb, line 51
def do_execute(*) end
do_prepare(*) click to toggle source
# File lib/adlint/exam/c_builtin/ld_metric.rb, line 50
def do_prepare(*) end
measure(fun) click to toggle source
# File lib/adlint/exam/c_builtin/ld_metric.rb, line 53
def measure(fun)
  FN_CALL(FunctionId.new(fun.name, fun.signature), fun.location,
          @call_graph.all_callers_of(fun).count { |ref| ref.function })
end