class AdLint::Cc1::CompositeValueDomain

Attributes

domain_pair[R]

Public Class Methods

new(lhs_dom, rhs_dom) click to toggle source
Calls superclass method AdLint::Cc1::ValueDomain::new
# File lib/adlint/cc1/domain.rb, line 5658
def initialize(lhs_dom, rhs_dom)
  super(lhs_dom.logical_shr? && rhs_dom.logical_shr?)
  @domain_pair = [lhs_dom, rhs_dom].sort
end

Public Instance Methods

!=(rhs_dom) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6077
def !=(rhs_dom)
  _not_equal(rhs_dom, self)
end
==(rhs_dom) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6053
def ==(rhs_dom)
  _equal(rhs_dom, self)
end
_add_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5865
def _add_equal_to(lhs_dom, rhs_dom = self)
  # NOTE: `LHS + RHS' equals to `RHS + LHS'.
  #       This method invokes CompositeValueDomain#+.
  rhs_dom + lhs_dom
end
_add_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5877
def _add_greater_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS + RHS' equals to `RHS + LHS'.
  #       This method invokes CompositeValueDomain#+.
  rhs_dom + lhs_dom
end
_add_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5871
def _add_less_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS + RHS' equals to `RHS + LHS'.
  #       This method invokes CompositeValueDomain#+.
  rhs_dom + lhs_dom
end
_add_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5853
def _add_nil(lhs_dom, rhs_dom = self)
  # NOTE: `LHS + RHS' equals to `RHS + LHS'.
  #       This method invokes CompositeValueDomain#+.
  rhs_dom + lhs_dom
end
_add_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5859
def _add_unlimited(lhs_dom, rhs_dom = self)
  # NOTE: `LHS + RHS' equals to `RHS + LHS'.
  #       This method invokes CompositeValueDomain#+.
  rhs_dom + lhs_dom
end
_and_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5915
def _and_equal_to(lhs_dom, rhs_dom = self)
  # NOTE: `LHS & RHS' equals to `RHS & LHS'.
  #       This method invokes CompositeValueDomain#&.
  rhs_dom & lhs_dom
end
_and_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5927
def _and_greater_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS & RHS' equals to `RHS & LHS'.
  #       This method invokes CompositeValueDomain#&.
  rhs_dom & lhs_dom
end
_and_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5921
def _and_less_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS & RHS' equals to `RHS & LHS'.
  #       This method invokes CompositeValueDomain#&.
  rhs_dom & lhs_dom
end
_and_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5903
def _and_nil(lhs_dom, rhs_dom = self)
  # NOTE: `LHS & RHS' equals to `RHS & LHS'.
  #       This method invokes CompositeValueDomain#&.
  rhs_dom & lhs_dom
end
_and_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5909
def _and_unlimited(lhs_dom, rhs_dom = self)
  # NOTE: `LHS & RHS' equals to `RHS & LHS'.
  #       This method invokes CompositeValueDomain#&.
  rhs_dom & lhs_dom
end
_div_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5891
def _div_equal_to(lhs_dom, rhs_dom = self)
  _div(lhs_dom, rhs_dom)
end
_div_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5899
def _div_greater_than(lhs_dom, rhs_dom = self)
  _div(lhs_dom, rhs_dom)
end
_div_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5895
def _div_less_than(lhs_dom, rhs_dom = self)
  _div(lhs_dom, rhs_dom)
end
_div_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5883
def _div_nil(lhs_dom, rhs_dom = self)
  _div(lhs_dom, rhs_dom)
end
_div_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5887
def _div_unlimited(lhs_dom, rhs_dom = self)
  _div(lhs_dom, rhs_dom)
end
_equal_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6065
def _equal_equal_to(lhs_dom, rhs_dom = self)
  _equal(lhs_dom, rhs_dom)
end
_equal_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6073
def _equal_greater_than(lhs_dom, rhs_dom = self)
  _equal(lhs_dom, rhs_dom)
end
_equal_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6069
def _equal_less_than(lhs_dom, rhs_dom = self)
  _equal(lhs_dom, rhs_dom)
end
_equal_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6057
def _equal_nil(lhs_dom, rhs_dom = self)
  _equal(lhs_dom, rhs_dom)
end
_equal_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6061
def _equal_unlimited(lhs_dom, rhs_dom = self)
  _equal(lhs_dom, rhs_dom)
end
_intersect_equal_to?(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5693
def _intersect_equal_to?(lhs_dom, rhs_dom = self)
  # NOTE: `LHS intersect? RHS' equals to `RHS intersect? LHS'.
  #       This method invokes CompositeValueDomain#intersect?.
  rhs_dom.intersect?(lhs_dom)
end
_intersect_greater_than?(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5705
def _intersect_greater_than?(lhs_dom, rhs_dom = self)
  # NOTE: `LHS intersect? RHS' equals to `RHS intersect? LHS'.
  #       This method invokes CompositeValueDomain#intersect?.
  rhs_dom.intersect?(lhs_dom)
end
_intersect_less_than?(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5699
def _intersect_less_than?(lhs_dom, rhs_dom = self)
  # NOTE: `LHS intersect? RHS' equals to `RHS intersect? LHS'.
  #       This method invokes CompositeValueDomain#intersect?.
  rhs_dom.intersect?(lhs_dom)
end
_intersect_nil?(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5681
def _intersect_nil?(lhs_dom, rhs_dom = self)
  # NOTE: `LHS intersect? RHS' equals to `RHS intersect? LHS'.
  #       This method invokes CompositeValueDomain#intersect?.
  rhs_dom.intersect?(lhs_dom)
end
_intersect_unlimited?(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5687
def _intersect_unlimited?(lhs_dom, rhs_dom = self)
  # NOTE: `LHS intersect? RHS' equals to `RHS intersect? LHS'.
  #       This method invokes CompositeValueDomain#intersect?.
  rhs_dom.intersect?(lhs_dom)
end
_intersection_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6177
def _intersection_equal_to(lhs_dom, rhs_dom = self)
  # NOTE: `LHS intersection RHS' equals to `RHS intersection LHS'.
  #       This method invokes CompositeValueDomain#intersection which
  #       should be overriden by IntersectionValueDomain and
  #       UnionValueDomain.
  rhs_dom.intersection(lhs_dom)
end
_intersection_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6193
def _intersection_greater_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS intersection RHS' equals to `RHS intersection LHS'.
  #       This method invokes CompositeValueDomain#intersection which
  #       should be overriden by IntersectionValueDomain and
  #       UnionValueDomain.
  rhs_dom.intersection(lhs_dom)
end
_intersection_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6185
def _intersection_less_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS intersection RHS' equals to `RHS intersection LHS'.
  #       This method invokes CompositeValueDomain#intersection which
  #       should be overriden by IntersectionValueDomain and
  #       UnionValueDomain.
  rhs_dom.intersection(lhs_dom)
end
_intersection_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6161
def _intersection_nil(lhs_dom, rhs_dom = self)
  # NOTE: `LHS intersection RHS' equals to `RHS intersection LHS'.
  #       This method invokes CompositeValueDomain#intersection which
  #       should be overriden by IntersectionValueDomain and
  #       UnionValueDomain.
  rhs_dom.intersection(lhs_dom)
end
_intersection_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6169
def _intersection_unlimited(lhs_dom, rhs_dom = self)
  # NOTE: `LHS intersection RHS' equals to `RHS intersection LHS'.
  #       This method invokes CompositeValueDomain#intersection which
  #       should be overriden by IntersectionValueDomain and
  #       UnionValueDomain.
  rhs_dom.intersection(lhs_dom)
end
_less_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6041
def _less_equal_to(lhs_dom, rhs_dom = self)
  _less(lhs_dom, rhs_dom)
end
_less_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6049
def _less_greater_than(lhs_dom, rhs_dom = self)
  _less(lhs_dom, rhs_dom)
end
_less_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6045
def _less_less_than(lhs_dom, rhs_dom = self)
  _less(lhs_dom, rhs_dom)
end
_less_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6033
def _less_nil(lhs_dom, rhs_dom = self)
  _less(lhs_dom, rhs_dom)
end
_less_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6037
def _less_unlimited(lhs_dom, rhs_dom = self)
  _less(lhs_dom, rhs_dom)
end
_logical_and_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6113
def _logical_and_equal_to(lhs_dom, rhs_dom = self)
  # NOTE: `LHS && RHS' equals to `RHS && LHS'.
  #       This method invokes CompositeValueDomain#logical_and.
  rhs_dom.logical_and(lhs_dom)
end
_logical_and_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6125
def _logical_and_greater_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS && RHS' equals to `RHS && LHS'.
  #       This method invokes CompositeValueDomain#logical_and.
  rhs_dom.logical_and(lhs_dom)
end
_logical_and_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6119
def _logical_and_less_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS && RHS' equals to `RHS && LHS'.
  #       This method invokes CompositeValueDomain#logical_and.
  rhs_dom.logical_and(lhs_dom)
end
_logical_and_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6101
def _logical_and_nil(lhs_dom, rhs_dom = self)
  # NOTE: `LHS && RHS' equals to `RHS && LHS'.
  #       This method invokes CompositeValueDomain#logical_and.
  rhs_dom.logical_and(lhs_dom)
end
_logical_and_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6107
def _logical_and_unlimited(lhs_dom, rhs_dom = self)
  # NOTE: `LHS && RHS' equals to `RHS && LHS'.
  #       This method invokes CompositeValueDomain#logical_and.
  rhs_dom.logical_and(lhs_dom)
end
_logical_or_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6143
def _logical_or_equal_to(lhs_dom, rhs_dom = self)
  # NOTE: `LHS || RHS' equals to `RHS || LHS'.
  #       This method invokes CompositeValueDomain#logical_or.
  rhs_dom.logical_or(lhs_dom)
end
_logical_or_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6155
def _logical_or_greater_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS || RHS' equals to `RHS || LHS'.
  #       This method invokes CompositeValueDomain#logical_or.
  rhs_dom.logical_or(lhs_dom)
end
_logical_or_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6149
def _logical_or_less_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS || RHS' equals to `RHS || LHS'.
  #       This method invokes CompositeValueDomain#logical_or.
  rhs_dom.logical_or(lhs_dom)
end
_logical_or_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6131
def _logical_or_nil(lhs_dom, rhs_dom = self)
  # NOTE: `LHS || RHS' equals to `RHS || LHS'.
  #       This method invokes CompositeValueDomain#logical_or.
  rhs_dom.logical_or(lhs_dom)
end
_logical_or_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6137
def _logical_or_unlimited(lhs_dom, rhs_dom = self)
  # NOTE: `LHS || RHS' equals to `RHS || LHS'.
  #       This method invokes CompositeValueDomain#logical_or.
  rhs_dom.logical_or(lhs_dom)
end
_narrow_by_eq(rhs_dom, lhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5711
def _narrow_by_eq(rhs_dom, lhs_dom = self)
  lhs_dom.intersection(rhs_dom)
end
_narrow_by_gt(rhs_dom, lhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5809
def _narrow_by_gt(rhs_dom, lhs_dom = self)
  lhs_dom.intersection(
    ValueDomain.of_unlimited(logical_shr?).narrow(Operator::GT, rhs_dom))
end
_narrow_by_lt(rhs_dom, lhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5765
def _narrow_by_lt(rhs_dom, lhs_dom = self)
  lhs_dom.intersection(
    ValueDomain.of_unlimited(logical_shr?).narrow(Operator::LT, rhs_dom))
end
_narrow_by_ne(rhs_dom, lhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5738
def _narrow_by_ne(rhs_dom, lhs_dom = self)
  lhs_dom.intersection(rhs_dom.inversion)
end
_narrow_equal_to_by_eq(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5726
def _narrow_equal_to_by_eq(lhs_dom, rhs_dom = self)
  lhs_dom.intersection(rhs_dom)
end
_narrow_equal_to_by_gt(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5829
def _narrow_equal_to_by_gt(lhs_dom, rhs_dom = self)
  if rhs_min = rhs_dom.min_value and lhs_dom.value < rhs_min
    ValueDomain.of_nil(logical_shr?)
  else
    lhs_dom
  end
end
_narrow_equal_to_by_lt(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5785
def _narrow_equal_to_by_lt(lhs_dom, rhs_dom = self)
  if rhs_max = rhs_dom.max_value and lhs_dom.value > rhs_max
    ValueDomain.of_nil(logical_shr?)
  else
    lhs_dom
  end
end
_narrow_equal_to_by_ne(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5753
def _narrow_equal_to_by_ne(lhs_dom, rhs_dom = self)
  lhs_dom.intersection(rhs_dom.inversion)
end
_narrow_greater_than_by_eq(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5734
def _narrow_greater_than_by_eq(lhs_dom, rhs_dom = self)
  lhs_dom.intersection(rhs_dom)
end
_narrow_greater_than_by_gt(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5845
def _narrow_greater_than_by_gt(lhs_dom, rhs_dom = self)
  if rhs_min = rhs_dom.min_value and lhs_dom.min_value < rhs_min
    ValueDomain.greater_than(rhs_min, logical_shr?)
  else
    lhs_dom
  end
end
_narrow_greater_than_by_lt(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5801
def _narrow_greater_than_by_lt(lhs_dom, rhs_dom = self)
  if rhs_max = rhs_dom.max_value and lhs_dom.min_value > rhs_max
    ValueDomain.of_nil(logical_shr?)
  else
    lhs_dom
  end
end
_narrow_greater_than_by_ne(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5761
def _narrow_greater_than_by_ne(lhs_dom, rhs_dom = self)
  lhs_dom.intersection(rhs_dom.inversion)
end
_narrow_less_than_by_eq(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5730
def _narrow_less_than_by_eq(lhs_dom, rhs_dom = self)
  lhs_dom.intersection(rhs_dom)
end
_narrow_less_than_by_gt(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5837
def _narrow_less_than_by_gt(lhs_dom, rhs_dom = self)
  if rhs_min = rhs_dom.min_value and lhs_dom.max_value < rhs_min
    ValueDomain.of_nil(logical_shr?)
  else
    lhs_dom
  end
end
_narrow_less_than_by_lt(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5793
def _narrow_less_than_by_lt(lhs_dom, rhs_dom = self)
  if rhs_max = rhs_dom.max_value and lhs_dom.max_value > rhs_max
    ValueDomain.less_than(rhs_max, logical_shr?)
  else
    lhs_dom
  end
end
_narrow_less_than_by_ne(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5757
def _narrow_less_than_by_ne(lhs_dom, rhs_dom = self)
  lhs_dom.intersection(rhs_dom.inversion)
end
_narrow_nil_by_eq(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5715
def _narrow_nil_by_eq(lhs_dom, rhs_dom = self)
  # NOTE: NilValueDomain contains no values.
  #       So, narrowing NilValueDomain by anything makes no effect to the
  #       target value-domain.
  lhs_dom
end
_narrow_nil_by_gt(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5814
def _narrow_nil_by_gt(lhs_dom, rhs_dom = self)
  # NOTE: NilValueDomain contains no values.
  #       So, narrowing NilValueDomain by anything makes no effect to the
  #       target value-domain.
  lhs_dom
end
_narrow_nil_by_lt(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5770
def _narrow_nil_by_lt(lhs_dom, rhs_dom = self)
  # NOTE: NilValueDomain contains no values.
  #       So, narrowing NilValueDomain by anything makes no effect to the
  #       target value-domain.
  lhs_dom
end
_narrow_nil_by_ne(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5742
def _narrow_nil_by_ne(lhs_dom, rhs_dom = self)
  # NOTE: NilValueDomain contains no values.
  #       So, narrowing NilValueDomain by anything makes no effect to the
  #       target value-domain.
  lhs_dom
end
_narrow_unlimited_by_eq(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5722
def _narrow_unlimited_by_eq(lhs_dom, rhs_dom = self)
  rhs_dom
end
_narrow_unlimited_by_gt(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5821
def _narrow_unlimited_by_gt(lhs_dom, rhs_dom = self)
  if rhs_min = rhs_dom.min_value
    ValueDomain.greater_than(rhs_min, logical_shr?)
  else
    lhs_dom
  end
end
_narrow_unlimited_by_lt(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5777
def _narrow_unlimited_by_lt(lhs_dom, rhs_dom = self)
  if rhs_max = rhs_dom.max_value
    ValueDomain.less_than(rhs_max, logical_shr?)
  else
    lhs_dom
  end
end
_narrow_unlimited_by_ne(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5749
def _narrow_unlimited_by_ne(lhs_dom, rhs_dom = self)
  rhs_dom.inversion
end
_not_equal_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6089
def _not_equal_equal_to(lhs_dom, rhs_dom = self)
  _not_equal(lhs_dom, rhs_dom)
end
_not_equal_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6097
def _not_equal_greater_than(lhs_dom, rhs_dom = self)
  _not_equal(lhs_dom, rhs_dom)
end
_not_equal_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6093
def _not_equal_less_than(lhs_dom, rhs_dom = self)
  _not_equal(lhs_dom, rhs_dom)
end
_not_equal_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6081
def _not_equal_nil(lhs_dom, rhs_dom = self)
  _not_equal(lhs_dom, rhs_dom)
end
_not_equal_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6085
def _not_equal_unlimited(lhs_dom, rhs_dom = self)
  _not_equal(lhs_dom, rhs_dom)
end
_or_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5945
def _or_equal_to(lhs_dom, rhs_dom = self)
  # NOTE: `LHS | RHS' equals to `RHS | LHS'.
  #       This method invokes CompositeValueDomain#|.
  rhs_dom | lhs_dom
end
_or_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5957
def _or_greater_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS | RHS' equals to `RHS | LHS'.
  #       This method invokes CompositeValueDomain#|.
  rhs_dom | lhs_dom
end
_or_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5951
def _or_less_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS | RHS' equals to `RHS | LHS'.
  #       This method invokes CompositeValueDomain#|.
  rhs_dom | lhs_dom
end
_or_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5933
def _or_nil(lhs_dom, rhs_dom = self)
  # NOTE: `LHS | RHS' equals to `RHS | LHS'.
  #       This method invokes CompositeValueDomain#|.
  rhs_dom | lhs_dom
end
_or_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5939
def _or_unlimited(lhs_dom, rhs_dom = self)
  # NOTE: `LHS | RHS' equals to `RHS | LHS'.
  #       This method invokes CompositeValueDomain#|.
  rhs_dom | lhs_dom
end
_shl_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6001
def _shl_equal_to(lhs_dom, rhs_dom = self)
  _shl(lhs_dom, rhs_dom)
end
_shl_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6009
def _shl_greater_than(lhs_dom, rhs_dom = self)
  _shl(lhs_dom, rhs_dom)
end
_shl_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6005
def _shl_less_than(lhs_dom, rhs_dom = self)
  _shl(lhs_dom, rhs_dom)
end
_shl_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5993
def _shl_nil(lhs_dom, rhs_dom = self)
  _shl(lhs_dom, rhs_dom)
end
_shl_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5997
def _shl_unlimited(lhs_dom, rhs_dom = self)
  _shl(lhs_dom, rhs_dom)
end
_shr_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6021
def _shr_equal_to(lhs_dom, rhs_dom = self)
  _shr(lhs_dom, rhs_dom)
end
_shr_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6029
def _shr_greater_than(lhs_dom, rhs_dom = self)
  _shr(lhs_dom, rhs_dom)
end
_shr_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6025
def _shr_less_than(lhs_dom, rhs_dom = self)
  _shr(lhs_dom, rhs_dom)
end
_shr_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6013
def _shr_nil(lhs_dom, rhs_dom = self)
  _shr(lhs_dom, rhs_dom)
end
_shr_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6017
def _shr_unlimited(lhs_dom, rhs_dom = self)
  _shr(lhs_dom, rhs_dom)
end
_union_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6215
def _union_equal_to(lhs_dom, rhs_dom = self)
  # NOTE: `LHS union RHS' equals to `RHS union LHS'.
  #       This method invokes CompositeValueDomain#union which should be
  #       overriden by IntersectionValueDomain and UnionValueDomain.
  rhs_dom.union(lhs_dom)
end
_union_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6229
def _union_greater_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS union RHS' equals to `RHS union LHS'.
  #       This method invokes CompositeValueDomain#union which should be
  #       overriden by IntersectionValueDomain and UnionValueDomain.
  rhs_dom.union(lhs_dom)
end
_union_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6222
def _union_less_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS union RHS' equals to `RHS union LHS'.
  #       This method invokes CompositeValueDomain#union which should be
  #       overriden by IntersectionValueDomain and UnionValueDomain.
  rhs_dom.union(lhs_dom)
end
_union_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6201
def _union_nil(lhs_dom, rhs_dom = self)
  # NOTE: `LHS union RHS' equals to `RHS union LHS'.
  #       This method invokes CompositeValueDomain#union which should be
  #       overriden by IntersectionValueDomain and UnionValueDomain.
  rhs_dom.union(lhs_dom)
end
_union_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6208
def _union_unlimited(lhs_dom, rhs_dom = self)
  # NOTE: `LHS union RHS' equals to `RHS union LHS'.
  #       This method invokes CompositeValueDomain#union which should be
  #       overriden by IntersectionValueDomain and UnionValueDomain.
  rhs_dom.union(lhs_dom)
end
_xor_equal_to(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5975
def _xor_equal_to(lhs_dom, rhs_dom = self)
  # NOTE: `LHS ^ RHS' equals to `RHS ^ LHS'.
  #       This method invokes CompositeValueDomain#^.
  rhs_dom ^ lhs_dom
end
_xor_greater_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5987
def _xor_greater_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS ^ RHS' equals to `RHS ^ LHS'.
  #       This method invokes CompositeValueDomain#^.
  rhs_dom ^ lhs_dom
end
_xor_less_than(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5981
def _xor_less_than(lhs_dom, rhs_dom = self)
  # NOTE: `LHS ^ RHS' equals to `RHS ^ LHS'.
  #       This method invokes CompositeValueDomain#^.
  rhs_dom ^ lhs_dom
end
_xor_nil(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5963
def _xor_nil(lhs_dom, rhs_dom = self)
  # NOTE: `LHS ^ RHS' equals to `RHS ^ LHS'.
  #       This method invokes CompositeValueDomain#^.
  rhs_dom ^ lhs_dom
end
_xor_unlimited(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 5969
def _xor_unlimited(lhs_dom, rhs_dom = self)
  # NOTE: `LHS ^ RHS' equals to `RHS ^ LHS'.
  #       This method invokes CompositeValueDomain#^.
  rhs_dom ^ lhs_dom
end
ambiguous?() click to toggle source
# File lib/adlint/cc1/domain.rb, line 5677
def ambiguous?
  false
end
complexity() click to toggle source
# File lib/adlint/cc1/domain.rb, line 6240
def complexity
  domain_pair.map { |dom| dom.complexity + 1 }.max
end
empty?() click to toggle source
# File lib/adlint/cc1/domain.rb, line 5665
def empty?
  false
end
nan?() click to toggle source
# File lib/adlint/cc1/domain.rb, line 5669
def nan?
  false
end
to_defined_domain() click to toggle source
# File lib/adlint/cc1/domain.rb, line 6236
def to_defined_domain
  self
end
undefined?() click to toggle source
# File lib/adlint/cc1/domain.rb, line 5673
def undefined?
  false
end

Private Instance Methods

_div(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6245
def _div(lhs_dom, rhs_dom = self)
  subclass_responsibility
end
_equal(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6261
def _equal(lhs_dom, rhs_dom = self)
  subclass_responsibility
end
_less(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6257
def _less(lhs_dom, rhs_dom = self)
  subclass_responsibility
end
_not_equal(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6265
def _not_equal(lhs_dom, rhs_dom = self)
  subclass_responsibility
end
_shl(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6249
def _shl(lhs_dom, rhs_dom = self)
  subclass_responsibility
end
_shr(lhs_dom, rhs_dom = self) click to toggle source
# File lib/adlint/cc1/domain.rb, line 6253
def _shr(lhs_dom, rhs_dom = self)
  subclass_responsibility
end