class AdLint::Exam::CBuiltin::W0496
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 10821 def initialize(phase_ctxt) super trav = phase_ctxt[:cc1_ast_traversal] trav.enter_initializer += T(:check_initializer) trav.enter_expression_statement += T(:check_expr_statement) trav.enter_if_statement += T(:check_selection_statement) trav.enter_if_else_statement += T(:check_selection_statement) trav.enter_switch_statement += T(:check_selection_statement) trav.enter_while_statement += T(:check_iteration_statement) trav.enter_do_statement += T(:check_iteration_statement) trav.enter_for_statement += T(:check_iteration_statement) trav.enter_c99_for_statement += T(:check_iteration_statement) trav.enter_return_statement += T(:check_return_statement) end
Private Instance Methods
check_expr_statement(node)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 10845 def check_expr_statement(node) return unless node.expression Cc1::ConditionalExpressionExtractor.new.tap { |extr| node.expression.accept(extr) }.expressions.each do |expr| AmbiguousExpressionDetector.new(@phase_ctxt, expr).execute end end
check_initializer(node)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 10837 def check_initializer(node) Cc1::ConditionalExpressionExtractor.new.tap { |extr| node.accept(extr) }.expressions.each do |expr| AmbiguousExpressionDetector.new(@phase_ctxt, expr).execute end end
check_iteration_statement(node)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 10863 def check_iteration_statement(node) return unless node.expression Cc1::ConditionalExpressionExtractor.new.tap { |extr| node.expression.accept(extr) }.expressions.each do |expr| AmbiguousExpressionDetector.new(@phase_ctxt, expr).execute end end
check_return_statement(node)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 10873 def check_return_statement(node) return unless node.expression Cc1::ConditionalExpressionExtractor.new.tap { |extr| node.expression.accept(extr) }.expressions.each do |expr| AmbiguousExpressionDetector.new(@phase_ctxt, expr).execute end end
check_selection_statement(node)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 10855 def check_selection_statement(node) Cc1::ConditionalExpressionExtractor.new.tap { |extr| node.expression.accept(extr) }.expressions.each do |expr| AmbiguousExpressionDetector.new(@phase_ctxt, expr).execute end end