class AdLint::Exam::CBuiltin::FL_STMT
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 44 def initialize(phase_ctxt) super @fpath = phase_ctxt[:sources].first.fpath trav = phase_ctxt[:cc1_ast_traversal] trav.enter_error_statement += T(:count_statement) trav.enter_generic_labeled_statement += T(:count_statement) trav.enter_case_labeled_statement += T(:count_statement) trav.enter_default_labeled_statement += T(:count_statement) trav.enter_expression_statement += T(:count_statement) trav.enter_if_statement += T(:count_statement) trav.enter_if_else_statement += T(:count_statement) trav.enter_switch_statement += T(:count_statement) trav.enter_while_statement += T(:count_statement) trav.enter_do_statement += T(:count_statement) trav.enter_for_statement += T(:count_statement) trav.enter_c99_for_statement += T(:count_statement) trav.enter_goto_statement += T(:count_statement) trav.enter_continue_statement += T(:count_statement) trav.enter_break_statement += T(:count_statement) trav.enter_return_statement += T(:count_statement) trav.leave_translation_unit += M(:measure) @stmt_cnt = 0 end
Private Instance Methods
count_statement(stmt)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_metric.rb, line 72 def count_statement(stmt) if @fpath == stmt.location.fpath @stmt_cnt += 1 end end
do_execute(*)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_metric.rb, line 70 def do_execute(*) end
do_prepare(*)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_metric.rb, line 69 def do_prepare(*) end
measure(*)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_metric.rb, line 78 def measure(*) FL_STMT(@fpath, @stmt_cnt) end