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