class AdLint::Exam::CBuiltin::W0446::Visitor
Public Class Methods
new(phase_ctxt)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 9362 def initialize(phase_ctxt) @phase_ctxt = phase_ctxt end
Public Instance Methods
visit_additive_expression(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_additive_expression
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 9406 def visit_additive_expression(node) if node.analysis_target?(traits) super warn(node.lhs_operand) warn(node.rhs_operand) end end
visit_compound_assignment_expression(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_compound_assignment_expression
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 9374 def visit_compound_assignment_expression(node) if node.analysis_target?(traits) super warn(node.lhs_operand) warn(node.rhs_operand) end end
visit_function_call_expression(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_function_call_expression
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 9382 def visit_function_call_expression(node) if node.analysis_target?(traits) super node.argument_expressions.each { |expr| warn(expr) } end end
visit_multiplicative_expression(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_multiplicative_expression
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 9398 def visit_multiplicative_expression(node) if node.analysis_target?(traits) super warn(node.lhs_operand) warn(node.rhs_operand) end end
visit_return_statement(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_return_statement
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 9414 def visit_return_statement(node) if node.analysis_target?(traits) super warn(node.expression) if node.expression end end
visit_simple_assignment_expression(node)
click to toggle source
Calls superclass method
AdLint::Cc1::SyntaxTreeVisitor#visit_simple_assignment_expression
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 9366 def visit_simple_assignment_expression(node) if node.analysis_target?(traits) super warn(node.lhs_operand) warn(node.rhs_operand) end 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 9389 def visit_unary_arithmetic_expression(node) if node.analysis_target?(traits) super if node.operator.type == "+" || node.operator.type == "-" warn(node.operand) end end end
Private Instance Methods
suppressors()
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 9444 def suppressors @phase_ctxt[:suppressors] end
warn(node)
click to toggle source
# File lib/adlint/exam/c_builtin/cc1_check.rb, line 9422 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