class AdLint::Exam::CBuiltin::FL_FUNC

Public Class Methods

new(phase_ctxt) click to toggle source
Calls superclass method AdLint::Examination::new
# File lib/adlint/exam/c_builtin/cc1_metric.rb, line 86
def initialize(phase_ctxt)
  super
  @fpath = phase_ctxt[:sources].first.fpath
  trav = phase_ctxt[:cc1_ast_traversal]
  trav.enter_ansi_function_definition  += T(:count_function)
  trav.enter_kandr_function_definition += T(:count_function)
  trav.leave_translation_unit          += M(:measure)
  @fun_cnt = 0
end

Private Instance Methods

count_function(fun_def) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_metric.rb, line 100
def count_function(fun_def)
  if @fpath == fun_def.location.fpath
    @fun_cnt += 1
  end
end
do_execute(*) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_metric.rb, line 98
def do_execute(*) end
do_prepare(*) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_metric.rb, line 97
def do_prepare(*) end
measure(*) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_metric.rb, line 106
def measure(*)
  FL_FUNC(@fpath, @fun_cnt)
end