class AdLint::Exam::CBuiltin::W0110::ForStatementAnalyzer

Public Class Methods

new(phase_ctxt, interp) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2764
def initialize(phase_ctxt, interp)
  @phase_ctxt = phase_ctxt
  @interp     = interp
  @reported   = false
end

Public Instance Methods

visit_c99_for_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2775
def visit_c99_for_statement(node)
  node.condition_statement.accept(self)
  node.expression.accept(self) if node.expression
end
visit_for_statement(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2770
def visit_for_statement(node)
  node.condition_statement.accept(self)
  node.expression.accept(self) if node.expression
end
visit_object_specifier(node) click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2780
def visit_object_specifier(node)
  return if @reported

  if var = variable_named(node.identifier.value)
    if var.type.scalar? && var.type.floating?
      W(node.location)
      @reported = true
    end
  end
end

Private Instance Methods

interpreter() click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2800
def interpreter
  @interp
end
suppressors() click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2804
def suppressors
  @phase_ctxt[:suppressors]
end