class AdLint::Cc1::UnaryArithmeticExpression

Public Instance Methods

arithmetic?() click to toggle source
# File lib/adlint/cc1/syntax.rb, line 1462
def arithmetic?
  false
end
bitwise?() click to toggle source
# File lib/adlint/cc1/syntax.rb, line 1466
def bitwise?
  operator.type == "~"
end
have_side_effect?() click to toggle source
# File lib/adlint/cc1/syntax.rb, line 1454
def have_side_effect?
  operand.have_side_effect?
end
logical?() click to toggle source
# File lib/adlint/cc1/syntax.rb, line 1458
def logical?
  operator.type == "!"
end
to_complemental_logical() click to toggle source
# File lib/adlint/cc1/syntax.rb, line 1484
def to_complemental_logical
  if operator.type == "!"
    # NOTE: `!' expression should be normalized into an equality-expression
    #       before invoking #to_complemental_logical.
    __NOTREACHED__
  else
    self
  end
end
to_normalized_logical(parent_expr = nil) click to toggle source
# File lib/adlint/cc1/syntax.rb, line 1470
def to_normalized_logical(parent_expr = nil)
  if operator.type == "!"
    normalized_operand = @operand.to_normalized_logical
    GroupedExpression.new(normalized_operand.to_complemental_logical)
  else
    case parent_expr
    when nil, LogicalAndExpression, LogicalOrExpression
      create_normalized_logical_of(self)
    else
      self
    end
  end
end