class AdLint::Exam::CBuiltin::W0080
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 1804 def initialize(phase_ctxt) super interp = phase_ctxt[:cc1_interpreter] interp.on_variable_defined += T(:check) interp.on_block_started += T(:enter_block) interp.on_block_ended += T(:leave_block) @block_level = 0 end
Private Instance Methods
check(var_def, var)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 1814 def check(var_def, var) if @block_level == 0 if var.declared_as_extern? || var.declared_as_static? if var.type.const? && var_def.initializer.nil? W(var_def.location) end end end end
enter_block(*)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 1824 def enter_block(*) @block_level += 1 end
leave_block(*)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 1828 def leave_block(*) @block_level -= 1 end