class AdLint::Exam::CBuiltin::W0108::Visitor
Public Class Methods
new(phase_ctxt)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2624 def initialize(phase_ctxt) @phase_ctxt = phase_ctxt end
Public Instance Methods
visit_c99_for_statement(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_c99_for_statement
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2653 def visit_c99_for_statement(node) super if node.analysis_target?(traits) warn(node.condition_statement.expression) end
visit_conditional_expression(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_conditional_expression
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2687 def visit_conditional_expression(node) super if node.analysis_target?(traits) warn(node.condition) end
visit_do_statement(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_do_statement
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2643 def visit_do_statement(node) super if node.analysis_target?(traits) warn(node.expression) end
visit_equality_expression(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_equality_expression
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2664 def visit_equality_expression(node) super if node.analysis_target?(traits) warn(node.lhs_operand) warn(node.rhs_operand) end
visit_for_statement(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_for_statement
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2648 def visit_for_statement(node) super if node.analysis_target?(traits) warn(node.condition_statement.expression) end
visit_if_else_statement(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_if_else_statement
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2633 def visit_if_else_statement(node) super if node.analysis_target?(traits) warn(node.expression) end
visit_if_statement(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_if_statement
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2628 def visit_if_statement(node) super if node.analysis_target?(traits) warn(node.expression) end
visit_logical_and_expression(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_logical_and_expression
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2675 def visit_logical_and_expression(node) super if node.analysis_target?(traits) warn(node.lhs_operand) warn(node.rhs_operand) end
visit_logical_or_expression(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_logical_or_expression
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2681 def visit_logical_or_expression(node) super if node.analysis_target?(traits) warn(node.lhs_operand) warn(node.rhs_operand) end
visit_relational_expression(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_relational_expression
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2658 def visit_relational_expression(node) super if node.analysis_target?(traits) warn(node.lhs_operand) warn(node.rhs_operand) end
visit_unary_arithmetic_expression(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_unary_arithmetic_expression
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2670 def visit_unary_arithmetic_expression(node) super if node.analysis_target?(traits) warn(node.operand) if node.operator.type == "!" end
visit_while_statement(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_while_statement
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2638 def visit_while_statement(node) super if node.analysis_target?(traits) warn(node.expression) end
Private Instance Methods
suppressors()
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2715 def suppressors @phase_ctxt[:suppressors] end
warn(node)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 2693 def warn(node) node = node.expression while node.kind_of?(Cc1::GroupedExpression) if node && node.analysis_target?(traits) case node when Cc1::SimpleAssignmentExpression, Cc1::CompoundAssignmentExpression W(node.location) end end end