class AdLint::Exam::CBuiltin::W0574
Public Class Methods
new(phase_ctxt)
click to toggle source
Calls superclass method
AdLint::Examination::new
# File lib/adlint/exam/c_builtin/cpp_check.rb, line 950 def initialize(phase_ctxt) super interp = phase_ctxt[:cpp_interpreter] interp.on_pp_token_extracted += T(:check_pp_token) interp.on_object_like_macro_defined += T(:check_macro) interp.on_function_like_macro_defined += T(:check_macro) interp.on_va_function_like_macro_defined += T(:check_macro) end
Private Instance Methods
check_macro(*, macro)
click to toggle source
# File lib/adlint/exam/c_builtin/cpp_check.rb, line 968 def check_macro(*, macro) if repl_lsit = macro.replacement_list repl_lsit.tokens.each { |pp_tok| check_pp_token(pp_tok) } end end
check_pp_token(pp_tok)
click to toggle source
# File lib/adlint/exam/c_builtin/cpp_check.rb, line 960 def check_pp_token(pp_tok) if pp_tok.value =~ /\AL?'(.*)'\z/ unless Cpp::BasicSourceCharacterSet.include?($1) W(pp_tok.location) end end end