class AdLint::Exam::CBuiltin::W0512
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 12101 def initialize(phase_ctxt) super trav = phase_ctxt[:cc1_ast_traversal] trav.enter_expression_statement += T(:enter_expr_stmt) trav.leave_expression_statement += T(:leave_expr_stmt) trav.enter_postfix_increment_expression += T(:check) trav.enter_postfix_decrement_expression += T(:check) trav.enter_prefix_increment_expression += T(:check) trav.enter_prefix_decrement_expression += T(:check) @cur_stmt = nil end
Private Instance Methods
check(node)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 12122 def check(node) if @cur_stmt unless @cur_stmt.expression == node W(node.location) end end end
enter_expr_stmt(node)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 12114 def enter_expr_stmt(node) @cur_stmt = node end
leave_expr_stmt(node)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 12118 def leave_expr_stmt(node) @cur_stmt = nil end