class AdLint::Exam::CBuiltin::W0810
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 20086 def initialize(phase_ctxt) super trav = phase_ctxt[:cc1_ast_traversal] trav.enter_if_statement += T(:enter_outer_if_stmt) trav.leave_if_statement += T(:leave_outer_if_stmt) trav.enter_if_else_statement += T(:check_inner_if_else_stmt) @if_stmt_stack = [] end
Private Instance Methods
check_inner_if_else_stmt(*)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 20104 def check_inner_if_else_stmt(*) if outer_if_stmt = @if_stmt_stack.last and !outer_if_stmt.statement.kind_of?(Cc1::CompoundStatement) W(outer_if_stmt.location) end end
enter_outer_if_stmt(if_stmt)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 20096 def enter_outer_if_stmt(if_stmt) @if_stmt_stack.push(if_stmt) end
leave_outer_if_stmt(*)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 20100 def leave_outer_if_stmt(*) @if_stmt_stack.pop end