class AdLint::Cc1::UnlimitedValueDomain
Public Instance Methods
!()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2501 def ! # NOTE: UnlimitedValueDomain contains everything. # So, logical negation of UnlimitedValueDomain makes # UnlimitedValueDomain. ValueDomain.of_unlimited(logical_shr?) end
!=(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2584 def !=(rhs_dom) rhs_dom._not_equal_unlimited(self) end
&(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2294 def &(rhs_dom) rhs_dom.coerce_to_integer._and_unlimited(coerce_to_integer) end
*(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2211 def *(rhs_dom) rhs_dom._mul_unlimited(self) end
+(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2170 def +(rhs_dom) rhs_dom._add_unlimited(self) end
+@()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2156 def +@ # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. self end
-@()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2163 def -@ # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. self end
/(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2252 def /(rhs_dom) rhs_dom._div_unlimited(self) end
<(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2508 def <(rhs_dom) rhs_dom._less_unlimited(self) end
<<(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2417 def <<(rhs_dom) rhs_dom.coerce_to_integer._shl_unlimited(coerce_to_integer) end
==(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2546 def ==(rhs_dom) rhs_dom._equal_unlimited(self) end
>>(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2459 def >>(rhs_dom) rhs_dom.coerce_to_integer._shr_unlimited(coerce_to_integer) end
^(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2376 def ^(rhs_dom) rhs_dom.coerce_to_integer._xor_unlimited(coerce_to_integer) end
_add_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2190 def _add_equal_to(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_add_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2204 def _add_greater_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_add_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2197 def _add_less_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_add_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2174 def _add_nil(lhs_dom, rhs_dom = self) # NOTE: `LHS + RHS' equals to `RHS + LHS'. # This method invokes NilValueDomain#_add_unlimited. rhs_dom + lhs_dom end
_add_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2180 def _add_unlimited(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. # NOTE: NaN is a subclass of UnlimitedValueDomain. # Arithmetic operation with UnlimitedValueDomain should make # UnlimitedValueDomain, and with NaN should make NaN. lhs_dom.nan? ? lhs_dom : rhs_dom end
_and_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2314 def _and_equal_to(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_and_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2328 def _and_greater_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_and_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2321 def _and_less_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_and_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2298 def _and_nil(lhs_dom, rhs_dom = self) # NOTE: `LHS & RHS' equals to `RHS & LHS'. # This method invokes NilValueDomain#_and_unlimited. rhs_dom & lhs_dom end
_and_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2304 def _and_unlimited(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. # NOTE: NaN is a subclass of UnlimitedValueDomain. # Arithmetic operation with UnlimitedValueDomain should make # UnlimitedValueDomain, and with NaN should make NaN. lhs_dom.nan? ? lhs_dom : rhs_dom end
_contain_equal_to?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1931 def _contain_equal_to?(lhs_dom, rhs_dom = self) false end
_contain_greater_than?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1939 def _contain_greater_than?(lhs_dom, rhs_dom = self) false end
_contain_intersection?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1943 def _contain_intersection?(lhs_dom, rhs_dom = self) false end
_contain_less_than?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1935 def _contain_less_than?(lhs_dom, rhs_dom = self) false end
_contain_nil?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1923 def _contain_nil?(lhs_dom, rhs_dom = self) false end
_contain_union?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1947 def _contain_union?(lhs_dom, rhs_dom = self) false end
_contain_unlimited?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1927 def _contain_unlimited?(lhs_dom, rhs_dom = self) true end
_div_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2273 def _div_equal_to(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_div_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2287 def _div_greater_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_div_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2280 def _div_less_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_div_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2256 def _div_nil(lhs_dom, rhs_dom = self) # NOTE: NilValueDomain contains no values. # So, any arithmetic operation with NilValueDomain makes # NilValueDomain. lhs_dom end
_div_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2263 def _div_unlimited(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. # NOTE: NaN is a subclass of UnlimitedValueDomain. # Arithmetic operation with UnlimitedValueDomain should make # UnlimitedValueDomain, and with NaN should make NaN. lhs_dom.nan? ? lhs_dom : rhs_dom end
_equal_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2563 def _equal_equal_to(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, any comparison with UnlimitedValueDomain makes # UnlimitedValueDomain. ValueDomain.of_unlimited(logical_shr?) end
_equal_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2577 def _equal_greater_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, any comparison with UnlimitedValueDomain makes # UnlimitedValueDomain. ValueDomain.of_unlimited(logical_shr?) end
_equal_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2570 def _equal_less_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, any comparison with UnlimitedValueDomain makes # UnlimitedValueDomain. ValueDomain.of_unlimited(logical_shr?) end
_equal_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2550 def _equal_nil(lhs_dom, rhs_dom = self) # NOTE: `LHS == RHS' equals to `RHS == LHS'. # This method invokes NilValueDomain#_equal_unlimited. rhs_dom == lhs_dom end
_equal_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2556 def _equal_unlimited(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, any comparison with UnlimitedValueDomain makes # UnlimitedValueDomain. ValueDomain.of_unlimited(logical_shr?) end
_intersect_equal_to?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1965 def _intersect_equal_to?(lhs_dom, rhs_dom = self) true end
_intersect_greater_than?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1973 def _intersect_greater_than?(lhs_dom, rhs_dom = self) true end
_intersect_less_than?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1969 def _intersect_less_than?(lhs_dom, rhs_dom = self) true end
_intersect_nil?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1955 def _intersect_nil?(lhs_dom, rhs_dom = self) # NOTE: `LHS intersect? RHS' equals to `RHS intersect? LHS'. # This method invokes NilValueDomain#_intersect_unlimited?. rhs_dom.intersect?(lhs_dom) end
_intersect_unlimited?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1961 def _intersect_unlimited?(lhs_dom, rhs_dom = self) true end
_intersection_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2728 def _intersection_equal_to(lhs_dom, rhs_dom = self) lhs_dom end
_intersection_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2736 def _intersection_greater_than(lhs_dom, rhs_dom = self) lhs_dom end
_intersection_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2732 def _intersection_less_than(lhs_dom, rhs_dom = self) lhs_dom end
_intersection_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2718 def _intersection_nil(lhs_dom, rhs_dom = self) # NOTE: `LHS intersection RHS' equals to `RHS intersection LHS'. # This method invokes NilValueDomain#_intersection_unlimited. rhs_dom.intersection(lhs_dom) end
_intersection_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2724 def _intersection_unlimited(lhs_dom, rhs_dom = self) lhs_dom end
_less_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2525 def _less_equal_to(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, any comparison with UnlimitedValueDomain makes # UnlimitedValueDomain. ValueDomain.of_unlimited(logical_shr?) end
_less_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2539 def _less_greater_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, any comparison with UnlimitedValueDomain makes # UnlimitedValueDomain. ValueDomain.of_unlimited(logical_shr?) end
_less_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2532 def _less_less_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, any comparison with UnlimitedValueDomain makes # UnlimitedValueDomain. ValueDomain.of_unlimited(logical_shr?) end
_less_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2512 def _less_nil(lhs_dom, rhs_dom = self) # NOTE: NilValueDomain contains no values. # So, any comparison with NilValueDomain makes no sense. ValueDomain.of_nil(logical_shr?) end
_less_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2518 def _less_unlimited(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, any comparison with UnlimitedValueDomain makes # UnlimitedValueDomain. ValueDomain.of_unlimited(logical_shr?) end
_logical_and_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2639 def _logical_and_equal_to(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # If the value-domain of the other side of UnlimitedValueDomain # contains only zero value, the logical AND makes false. if lhs_dom.value == 0 ValueDomain.of_false(logical_shr?) else ValueDomain.of_unlimited(logical_shr?) end end
_logical_and_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2657 def _logical_and_greater_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # If the value-domain of the other side of UnlimitedValueDomain # contains only zero value, the logical AND makes false. ValueDomain.of_unlimited(logical_shr?) end
_logical_and_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2650 def _logical_and_less_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # If the value-domain of the other side of UnlimitedValueDomain # contains only zero value, the logical AND makes false. ValueDomain.of_unlimited(logical_shr?) end
_logical_and_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2626 def _logical_and_nil(lhs_dom, rhs_dom = self) # NOTE: `LHS && RHS' equals to `RHS && LHS'. # This method invokes NilValueDomain#_logical_and_unlimited. 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 2632 def _logical_and_unlimited(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # If the value-domain of the other side of UnlimitedValueDomain # contains only zero value, the logical AND makes false. ValueDomain.of_unlimited(logical_shr?) end
_logical_or_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2681 def _logical_or_equal_to(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # If the value-domain of the other side of UnlimitedValueDomain # contains only non-zero values, the logical OR makes true. if lhs_dom.value == 0 ValueDomain.of_unlimited(logical_shr?) else ValueDomain.of_true(logical_shr?) end end
_logical_or_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2703 def _logical_or_greater_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # If the value-domain of the other side of UnlimitedValueDomain # contains only non-zero values, the logical OR makes true. if lhs_dom.min_value <= 0 ValueDomain.of_unlimited(logical_shr?) else ValueDomain.of_true(logical_shr?) end end
_logical_or_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2692 def _logical_or_less_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # If the value-domain of the other side of UnlimitedValueDomain # contains only non-zero values, the logical OR makes true. if lhs_dom.max_value >= 0 ValueDomain.of_unlimited(logical_shr?) else ValueDomain.of_true(logical_shr?) end end
_logical_or_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2668 def _logical_or_nil(lhs_dom, rhs_dom = self) # NOTE: `LHS || RHS' equals to `RHS || LHS'. # This method invokes NilValueDomain#_logical_or_unlimited. 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 2674 def _logical_or_unlimited(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # If the value-domain of the other side of UnlimitedValueDomain # contains only non-zero values, the logical OR makes true. ValueDomain.of_unlimited(logical_shr?) end
_mul_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2231 def _mul_equal_to(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_mul_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2245 def _mul_greater_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_mul_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2238 def _mul_less_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_mul_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2215 def _mul_nil(lhs_dom, rhs_dom = self) # NOTE: `LHS * RHS' equals to `RHS * LHS'. # This method invokes NilValueDomain#_mul_unlimited. rhs_dom * lhs_dom end
_mul_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2221 def _mul_unlimited(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. # NOTE: NaN is a subclass of UnlimitedValueDomain. # Arithmetic operation with UnlimitedValueDomain should make # UnlimitedValueDomain, and with NaN should make NaN. lhs_dom.nan? ? lhs_dom : rhs_dom end
_narrow_by_eq(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1977 def _narrow_by_eq(rhs_dom, lhs_dom = self) rhs_dom._narrow_unlimited_by_eq(lhs_dom) end
_narrow_by_gt(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2103 def _narrow_by_gt(rhs_dom, lhs_dom = self) rhs_dom._narrow_unlimited_by_gt(lhs_dom) end
_narrow_by_lt(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2061 def _narrow_by_lt(rhs_dom, lhs_dom = self) rhs_dom._narrow_unlimited_by_lt(lhs_dom) end
_narrow_by_ne(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2019 def _narrow_by_ne(rhs_dom, lhs_dom = self) rhs_dom._narrow_unlimited_by_ne(lhs_dom) end
_narrow_equal_to_by_eq(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1998 def _narrow_equal_to_by_eq(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `== UnlimitedValueDomain' makes # no effect to the target value-domain. lhs_dom end
_narrow_equal_to_by_gt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2124 def _narrow_equal_to_by_gt(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `> UnlimitedValueDomain' makes # NilValueDomain. ValueDomain.of_nil(logical_shr?) end
_narrow_equal_to_by_lt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2082 def _narrow_equal_to_by_lt(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `< UnlimitedValueDomain' makes # NilValueDomain. ValueDomain.of_nil(logical_shr?) end
_narrow_equal_to_by_ne(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2040 def _narrow_equal_to_by_ne(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `!= UnlimitedValueDomain' makes # NilValueDomain. ValueDomain.of_nil(logical_shr?) end
_narrow_greater_than_by_eq(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2012 def _narrow_greater_than_by_eq(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `== UnlimitedValueDomain' makes # no effect to the target value-domain. lhs_dom end
_narrow_greater_than_by_gt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2138 def _narrow_greater_than_by_gt(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `> UnlimitedValueDomain' makes # NilValueDomain. ValueDomain.of_nil(logical_shr?) end
_narrow_greater_than_by_lt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2096 def _narrow_greater_than_by_lt(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `< UnlimitedValueDomain' makes # NilValueDomain. ValueDomain.of_nil(logical_shr?) end
_narrow_greater_than_by_ne(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2054 def _narrow_greater_than_by_ne(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `!= UnlimitedValueDomain' makes # NilValueDomain. ValueDomain.of_nil(logical_shr?) end
_narrow_less_than_by_eq(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2005 def _narrow_less_than_by_eq(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `== UnlimitedValueDomain' makes # no effect to the target value-domain. lhs_dom end
_narrow_less_than_by_gt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2131 def _narrow_less_than_by_gt(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `> UnlimitedValueDomain' makes # NilValueDomain. ValueDomain.of_nil(logical_shr?) end
_narrow_less_than_by_lt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2089 def _narrow_less_than_by_lt(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `< UnlimitedValueDomain' makes # NilValueDomain. ValueDomain.of_nil(logical_shr?) end
_narrow_less_than_by_ne(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2047 def _narrow_less_than_by_ne(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `!= UnlimitedValueDomain' makes # NilValueDomain. ValueDomain.of_nil(logical_shr?) end
_narrow_nil_by_eq(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1981 def _narrow_nil_by_eq(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `== UnlimitedValueDomain' 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 2107 def _narrow_nil_by_gt(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `> UnlimitedValueDomain' makes # NilValueDomain. lhs_dom end
_narrow_nil_by_lt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2065 def _narrow_nil_by_lt(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `< UnlimitedValueDomain' makes # NilValueDomain. lhs_dom end
_narrow_nil_by_ne(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2023 def _narrow_nil_by_ne(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `!= UnlimitedValueDomain' makes # NilValueDomain. lhs_dom end
_narrow_unlimited_by_eq(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1988 def _narrow_unlimited_by_eq(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `== UnlimitedValueDomain' makes # no effect to the target value-domain. # NOTE: NaN is a subclass of UnlimitedValueDomain. # UnlimitedValueDomain should be narrowed to be # UnlimitedValueDomain, and NaN should be narrowed to be NaN. lhs_dom end
_narrow_unlimited_by_gt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2114 def _narrow_unlimited_by_gt(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `> UnlimitedValueDomain' makes # NilValueDomain. # NOTE: NaN is a subclass of UnlimitedValueDomain. # UnlimitedValueDomain should be narrowed to be # UnlimitedValueDomain, and NaN should be narrowed to be NaN. ValueDomain.of_nil(logical_shr?) end
_narrow_unlimited_by_lt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2072 def _narrow_unlimited_by_lt(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `< UnlimitedValueDomain' makes # NilValueDomain. # NOTE: NaN is a subclass of UnlimitedValueDomain. # UnlimitedValueDomain should be narrowed to be # UnlimitedValueDomain, and NaN should be narrowed to be NaN. ValueDomain.of_nil(logical_shr?) end
_narrow_unlimited_by_ne(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2030 def _narrow_unlimited_by_ne(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, narrowing any value-domain by `!= UnlimitedValueDomain' makes # NilValueDomain. # NOTE: NaN is a subclass of UnlimitedValueDomain. # UnlimitedValueDomain should be narrowed to be # UnlimitedValueDomain, and NaN should be narrowed to be NaN. ValueDomain.of_nil(logical_shr?) end
_not_equal_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2601 def _not_equal_equal_to(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, any comparison with UnlimitedValueDomain makes # UnlimitedValueDomain. ValueDomain.of_unlimited(logical_shr?) end
_not_equal_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2615 def _not_equal_greater_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, any comparison with UnlimitedValueDomain makes # UnlimitedValueDomain. ValueDomain.of_unlimited(logical_shr?) end
_not_equal_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2608 def _not_equal_less_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, any comparison with UnlimitedValueDomain makes # UnlimitedValueDomain. ValueDomain.of_unlimited(logical_shr?) end
_not_equal_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2588 def _not_equal_nil(lhs_dom, rhs_dom = self) # NOTE: `LHS != RHS' equals to `RHS != LHS'. # This method invokes NilValueDomain#_not_equal_nil. rhs_dom != lhs_dom end
_not_equal_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2594 def _not_equal_unlimited(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, any comparison with UnlimitedValueDomain makes # UnlimitedValueDomain. ValueDomain.of_unlimited(logical_shr?) end
_or_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2355 def _or_equal_to(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_or_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2369 def _or_greater_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_or_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2362 def _or_less_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_or_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2339 def _or_nil(lhs_dom, rhs_dom = self) # NOTE: `LHS | RHS' equals to `RHS | LHS'. # This method invokes NilValueDomain#_or_unlimited. rhs_dom | lhs_dom end
_or_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2345 def _or_unlimited(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. # NOTE: NaN is a subclass of UnlimitedValueDomain. # Arithmetic operation with UnlimitedValueDomain should make # UnlimitedValueDomain, and with NaN should make NaN. lhs_dom.nan? ? lhs_dom : rhs_dom end
_shl_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2438 def _shl_equal_to(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain because of the bit-overflow. rhs_dom end
_shl_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2452 def _shl_greater_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain because of the bit-overflow. rhs_dom end
_shl_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2445 def _shl_less_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain because of the bit-overflow. rhs_dom end
_shl_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2421 def _shl_nil(lhs_dom, rhs_dom = self) # NOTE: NilValueDomain contains no values. # So, any arithmetic operation with NilValueDomain makes # NilValueDomain. lhs_dom end
_shl_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2428 def _shl_unlimited(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain because of the bit-overflow. # NOTE: NaN is a subclass of UnlimitedValueDomain. # Arithmetic operation with UnlimitedValueDomain should make # UnlimitedValueDomain, and with NaN should make NaN. lhs_dom.nan? ? lhs_dom : rhs_dom end
_shr_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2480 def _shr_equal_to(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain because of the bit-underflow. rhs_dom end
_shr_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2494 def _shr_greater_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain because of the bit-underflow. rhs_dom end
_shr_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2487 def _shr_less_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain because of the bit-underflow. rhs_dom end
_shr_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2463 def _shr_nil(lhs_dom, rhs_dom = self) # NOTE: NilValueDomain contains no values. # So, any arithmetic operation with NilValueDomain makes # NilValueDomain. lhs_dom end
_shr_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2470 def _shr_unlimited(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain because of the bit-underflow. # NOTE: NaN is a subclass of UnlimitedValueDomain. # Arithmetic operation with UnlimitedValueDomain should make # UnlimitedValueDomain, and with NaN should make NaN. lhs_dom.nan? ? lhs_dom : rhs_dom end
_union_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2754 def _union_equal_to(lhs_dom, rhs_dom = self) rhs_dom end
_union_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2762 def _union_greater_than(lhs_dom, rhs_dom = self) rhs_dom end
_union_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2758 def _union_less_than(lhs_dom, rhs_dom = self) rhs_dom end
_union_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2744 def _union_nil(lhs_dom, rhs_dom = self) # NOTE: `LHS union RHS' equals to `RHS union LHS'. # This method invokes NilValueDomain#_union_unlimited. rhs_dom.union(lhs_dom) end
_union_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2750 def _union_unlimited(lhs_dom, rhs_dom = self) rhs_dom end
_xor_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2396 def _xor_equal_to(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_xor_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2410 def _xor_greater_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_xor_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2403 def _xor_less_than(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. rhs_dom end
_xor_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2380 def _xor_nil(lhs_dom, rhs_dom = self) # NOTE: `LHS ^ RHS' equals to `RHS ^ LHS'. # This method invokes NilValueDomain#_or_unlimited. rhs_dom ^ lhs_dom end
_xor_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2386 def _xor_unlimited(lhs_dom, rhs_dom = self) # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. # NOTE: NaN is a subclass of UnlimitedValueDomain. # Arithmetic operation with UnlimitedValueDomain should make # UnlimitedValueDomain, and with NaN should make NaN. lhs_dom.nan? ? lhs_dom : rhs_dom end
ambiguous?()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1915 def ambiguous? false end
coerce_to_integer()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2766 def coerce_to_integer self end
coerce_to_real()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2770 def coerce_to_real self end
complexity()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2800 def complexity 1 end
contain_value_domain?(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1919 def contain_value_domain?(rhs_dom) rhs_dom._contain_unlimited?(self) end
each_sample() { |0| ... }
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2782 def each_sample if block_given? yield(0) self else to_enum(:each_sample) end end
empty?()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1903 def empty? false end
intersect?(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1951 def intersect?(rhs_dom) rhs_dom._intersect_unlimited?(self) end
intersection(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2714 def intersection(rhs_dom) rhs_dom._intersection_unlimited(self) end
inversion()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2145 def inversion ValueDomain.of_nil(logical_shr?) end
logical_and(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2622 def logical_and(rhs_dom) rhs_dom._logical_and_unlimited(self) end
logical_or(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2664 def logical_or(rhs_dom) rhs_dom._logical_or_unlimited(self) end
max_value()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2778 def max_value nil end
min_value()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2774 def min_value nil end
nan?()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1907 def nan? false end
to_defined_domain()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2791 def to_defined_domain self end
to_s()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2795 def to_s "(== Unlimited)" end
undefined?()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1911 def undefined? false end
union(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2740 def union(rhs_dom) rhs_dom._union_unlimited(self) end
|(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2335 def |(rhs_dom) rhs_dom.coerce_to_integer._or_unlimited(coerce_to_integer) end
~()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 2149 def ~ # NOTE: UnlimitedValueDomain contains everything. # So, this arithmetic operation with UnlimitedValueDomain makes # UnlimitedValueDomain. self end