class AdLint::Exam::CBuiltin::W0425::Visitor

Public Class Methods

new(phase_ctxt) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8666
def initialize(phase_ctxt)
  @phase_ctxt = phase_ctxt
  @lst_dcl_or_stmt_loc = Location.new
  @lst_memb_dcl_loc    = Location.new
end

Public Instance Methods

visit_break_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8808
def visit_break_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_c99_for_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8786
def visit_c99_for_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    node.body_statement.accept(self)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_case_labeled_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8714
def visit_case_labeled_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_continue_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8801
def visit_continue_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_default_labeled_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8721
def visit_default_labeled_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_do_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8770
def visit_do_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    node.statement.accept(self)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_expression_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8728
def visit_expression_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_for_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8778
def visit_for_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    node.body_statement.accept(self)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_function_declaration(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8672
def visit_function_declaration(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_generic_labeled_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8707
def visit_generic_labeled_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_goto_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8794
def visit_goto_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_if_else_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8743
def visit_if_else_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    orig_loc = @lst_dcl_or_stmt_loc
    node.then_statement.accept(self)
    @lst_dcl_or_stmt_loc = orig_loc
    node.else_statement.accept(self)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_if_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8735
def visit_if_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    node.statement.accept(self)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_member_declaration(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8700
def visit_member_declaration(node)
  if node.analysis_target?(traits)
    check_member_dcl(node)
    @lst_memb_dcl_loc = node.location
  end
end
visit_return_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8815
def visit_return_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_switch_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8754
def visit_switch_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    node.statement.accept(self)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_typedef_declaration(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8693
def visit_typedef_declaration(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_variable_declaration(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8679
def visit_variable_declaration(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_variable_definition(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8686
def visit_variable_definition(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    @lst_dcl_or_stmt_loc = node.location
  end
end
visit_while_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8762
def visit_while_statement(node)
  if node.analysis_target?(traits)
    check_dcl_or_stmt(node)
    node.statement.accept(self)
    @lst_dcl_or_stmt_loc = node.location
  end
end

Private Instance Methods

check_dcl_or_stmt(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8823
def check_dcl_or_stmt(node)
  if @lst_dcl_or_stmt_loc.fpath == node.location.fpath &&
      @lst_dcl_or_stmt_loc.line_no == node.location.line_no
    W(node.location)
  end
end
check_member_dcl(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8830
def check_member_dcl(node)
  if @lst_memb_dcl_loc.fpath == node.location.fpath &&
      @lst_memb_dcl_loc.line_no == node.location.line_no
    W(node.location)
  end
end
suppressors() click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 8848
def suppressors
  @phase_ctxt[:suppressors]
end