class AdLint::Exam::CBuiltin::W1031
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 20605 def initialize(phase_ctxt) super interp = phase_ctxt[:cc1_interpreter] interp.on_variable_declared += T(:declare_variable) interp.on_variable_defined += T(:define_variable) interp.on_explicit_function_declared += T(:declare_function) interp.on_explicit_function_defined += T(:define_function) end
Private Instance Methods
declare_function(fun_dcl, fun)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 20649 def declare_function(fun_dcl, fun) if fun.named? case when fun.declared_as_extern? sc_spec = fun_dcl.storage_class_specifier if sc_spec && sc_spec.type == :STATIC W(fun_dcl.location, fun.name) end when fun.declared_as_static? sc_spec = fun_dcl.storage_class_specifier if sc_spec && sc_spec.type == :EXTERN W(fun_dcl.location, fun.name) end end end end
declare_variable(var_dcl, var)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 20615 def declare_variable(var_dcl, var) if var.named? case when var.declared_as_extern? sc_spec = var_dcl.storage_class_specifier if sc_spec && sc_spec.type == :STATIC W(var_dcl.location, var.name) end when var.declared_as_static? sc_spec = var_dcl.storage_class_specifier if sc_spec && sc_spec.type == :EXTERN W(var_dcl.location, var.name) end end end end
define_function(fun_def, fun)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 20666 def define_function(fun_def, fun) if fun.named? case when fun.declared_as_extern? sc_spec = fun_def.storage_class_specifier if sc_spec && sc_spec.type == :STATIC W(fun_def.location, fun.name) end when fun.declared_as_static? sc_spec = fun_def.storage_class_specifier if sc_spec && sc_spec.type == :EXTERN W(fun_def.location, fun.name) end end end end
define_variable(var_def, var)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 20632 def define_variable(var_def, var) if var.named? case when var.declared_as_extern? sc_spec = var_def.storage_class_specifier if sc_spec && sc_spec.type == :STATIC W(var_def.location, var.name) end when var.declared_as_static? sc_spec = var_def.storage_class_specifier if sc_spec && sc_spec.type == :EXTERN W(var_def.location, var.name) end end end end