class AdLint::Exam::CBuiltin::W0950
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 20440 def initialize(phase_ctxt) super trav = phase_ctxt[:cc1_ast_traversal] trav.enter_variable_definition += T(:check) end
Private Instance Methods
check(var_def)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 20447 def check(var_def) return unless var_def.type.array? dcr = var_def.init_declarator.declarator ary_dcrs = collect_array_declarators(dcr) ary_dcrs.each do |ary_dcr| if expr = ary_dcr.size_expression const_specs = collect_constant_specifiers(expr) if immediate = const_specs.find { |cs| !cs.constant.replaced? } W(immediate.location, immediate.to_s) end end end end