Class: AdLint::Cc1::Operator

Inherits:
Object
  • Object
show all
Defined in:
lib/adlint/cc1/operator.rb,
lib/adlint/cc1/operator.rb

Overview

:nodoc:

Direct Known Subclasses

ComparisonOperator

Constant Summary collapse

EQ =
ComparisonOperator.new(:==)
NE =
ComparisonOperator.new(:!=)
LT =
ComparisonOperator.new(:<)
GT =
ComparisonOperator.new(:>)
LE =
ComparisonOperator.new(:<=)
GE =
ComparisonOperator.new(:>=)

Instance Method Summary collapse

Constructor Details

#initialize(tok_or_sym) ⇒ Operator

Returns a new instance of Operator.



36
37
38
39
40
41
42
43
# File 'lib/adlint/cc1/operator.rb', line 36

def initialize(tok_or_sym)
  case tok_or_sym
  when Token
    @sym = tok_or_sym.type.to_sym
  when ::Symbol
    @sym = tok_or_sym
  end
end

Instance Method Details

#eql?(rhs) ⇒ Boolean Also known as: ==

Returns:

  • (Boolean)


53
54
55
56
57
58
59
60
# File 'lib/adlint/cc1/operator.rb', line 53

def eql?(rhs)
  case rhs
  when Operator
    @sym == rhs.to_sym
  else
    super
  end
end

#hashObject



64
65
66
# File 'lib/adlint/cc1/operator.rb', line 64

def hash
  @sym.hash
end

#to_sObject



49
50
51
# File 'lib/adlint/cc1/operator.rb', line 49

def to_s
  @sym.to_s
end

#to_symObject



45
46
47
# File 'lib/adlint/cc1/operator.rb', line 45

def to_sym
  @sym
end