class AdLint::Exam::CBuiltin::W9001

Public Class Methods

new(phase_ctxt) click to toggle source
Calls superclass method AdLint::Examination::new
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 21895
def initialize(phase_ctxt)
  super
  @fpath = phase_ctxt[:sources].first.fpath
  trav = phase_ctxt[:cc1_ast_traversal]
  trav.enter_error_statement           += T(:check)
  trav.enter_generic_labeled_statement += T(:check)
  trav.enter_case_labeled_statement    += T(:check)
  trav.enter_default_labeled_statement += T(:check)
  trav.enter_expression_statement      += T(:check)
  trav.enter_if_statement              += T(:check)
  trav.enter_if_else_statement         += T(:check)
  trav.enter_switch_statement          += T(:check)
  trav.enter_while_statement           += T(:check)
  trav.enter_do_statement              += T(:check)
  trav.enter_for_statement             += T(:check)
  trav.enter_c99_for_statement         += T(:check)
  trav.enter_goto_statement            += T(:check)
  trav.enter_continue_statement        += T(:check)
  trav.enter_break_statement           += T(:check)
  trav.enter_return_statement          += T(:check)
end

Private Instance Methods

check(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 21918
def check(node)
  if @fpath == node.location.fpath
    W(node.location) unless node.executed?
  end
end