class AdLint::Exam::CBuiltin::W0716

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 17326
def initialize(phase_ctxt)
  super
  trav = phase_ctxt[:cc1_ast_traversal]
  trav.enter_additive_expression            += T(:check)
  trav.enter_multiplicative_expression      += T(:check)
  trav.enter_shift_expression               += T(:check)
  trav.enter_and_expression                 += T(:check)
  trav.enter_exclusive_or_expression        += T(:check)
  trav.enter_inclusive_or_expression        += T(:check)
  trav.enter_compound_assignment_expression += T(:check)
end

Private Instance Methods

check(expr) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 17339
def check(expr)
  if expr.lhs_operand.logical? && expr.rhs_operand.logical?
    W(expr.location)
  end
end