class AdLint::Exam::CBuiltin::W0459
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 9565 def initialize(phase_ctxt) super interp = phase_ctxt[:cc1_interpreter] interp.on_variable_value_referred += T(:check) end
Private Instance Methods
check(expr, var)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 9572 def check(expr, var) return if var.scope.global? || var.binding.memory.static? if var.named? test = var.value.test_must_be_undefined if test.true? var = var.owner while var.inner? W(expr.location, var.name, *test.evidence.emit_context_messages(self, expr.location)) end end end