class AdLint::Cc1::ValueDomain
DESCRIPTION¶ ↑
ValueDomain
class hierarchy¶ ↑
ValueDomain <------------------------------+ <-- NilValueDomain | <-- UnlimitedValueDomain | <-- NaN | <-- EqualToValueDomain | <-- LessThanValueDomain | <-- GreaterThanValueDomain | <-- CompositeValueDomain <>--------------+ <-- IntersectionValueDomain <------+ <-- UnionValueDomain | <-- UndefinedValueDomain <>--------------+ <-- AmbiguousValueDomain
Public Class Methods
new(logical_shr)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 296 def initialize(logical_shr) @logical_shr = logical_shr end
Public Instance Methods
!()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 776 def ! subclass_responsibility end
!=(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 840 def !=(rhs_dom) # NOTE: Operator != cannot be defined by `!(LHS == RHS)'. # When the value domain of the left hand side or the right hand # side is NilValueDomain, `LHS == RHS' should make `false'. # But `LHS != RHS' should make `false', too. subclass_responsibility end
%(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 652 def %(rhs_dom) self - rhs_dom * (self / rhs_dom).coerce_to_integer end
&(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 656 def &(rhs_dom) subclass_responsibility end
*(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 601 def *(rhs_dom) # NOTE: Operator * cannot be defined by `LHS / (1.0 / RHS)'. # Because `1.0 / RHS' will make NaN, when the value domain of the # right hand side contains 0. subclass_responsibility end
+(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 573 def +(rhs_dom) subclass_responsibility end
+@()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 565 def +@ subclass_responsibility end
-(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 597 def -(rhs_dom) self + -rhs_dom end
-@()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 569 def -@ subclass_responsibility end
/(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 628 def /(rhs_dom) subclass_responsibility end
<(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 780 def <(rhs_dom) subclass_responsibility end
<<(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 728 def <<(rhs_dom) subclass_responsibility end
<=(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 868 def <=(rhs_dom) (self < rhs_dom).logical_or(self == rhs_dom) end
<=>(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 998 def <=>(rhs_dom) to_s <=> rhs_dom.to_s end
==(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 808 def ==(rhs_dom) # NOTE: Operator == cannot be defined by `!(LHS < RHS || LHS > RHS)'. # When the value domain of the left hand side is (--<===>-<===>--), # and the value domain of the right hand side is (-------|-------). # `LHS < RHS' should make `true or false' because values in the # left hand side may be less than or greater than the value in # the right hand side. # `LHS > RHS' should make `true or false', too. # So, `!(LHS < RHS) && !(LHS > RHS)' will make `true or false'. subclass_responsibility end
>(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 804 def >(rhs_dom) rhs_dom < self end
>=(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 872 def >=(rhs_dom) (self > rhs_dom).logical_or(self == rhs_dom) end
>>(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 752 def >>(rhs_dom) subclass_responsibility end
^(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 704 def ^(rhs_dom) subclass_responsibility end
_add_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 585 def _add_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_add_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 593 def _add_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_add_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 589 def _add_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_add_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 577 def _add_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_add_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 581 def _add_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_and_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 668 def _and_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_and_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 676 def _and_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_and_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 672 def _and_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_and_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 660 def _and_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_and_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 664 def _and_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_contain_equal_to?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 345 def _contain_equal_to?(lhs_dom, rhs_dom = self) subclass_responsibility end
_contain_greater_than?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 353 def _contain_greater_than?(lhs_dom, rhs_dom = self) subclass_responsibility end
_contain_intersection?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 357 def _contain_intersection?(lhs_dom, rhs_dom = self) subclass_responsibility end
_contain_less_than?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 349 def _contain_less_than?(lhs_dom, rhs_dom = self) subclass_responsibility end
_contain_nil?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 337 def _contain_nil?(lhs_dom, rhs_dom = self) subclass_responsibility end
_contain_union?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 361 def _contain_union?(lhs_dom, rhs_dom = self) subclass_responsibility end
_contain_unlimited?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 341 def _contain_unlimited?(lhs_dom, rhs_dom = self) subclass_responsibility end
_div_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 640 def _div_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_div_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 648 def _div_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_div_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 644 def _div_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_div_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 632 def _div_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_div_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 636 def _div_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_equal_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 828 def _equal_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_equal_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 836 def _equal_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_equal_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 832 def _equal_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_equal_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 820 def _equal_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_equal_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 824 def _equal_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_intersect_equal_to?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 377 def _intersect_equal_to?(lhs_dom, rhs_dom = self) subclass_responsibility end
_intersect_greater_than?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 385 def _intersect_greater_than?(lhs_dom, rhs_dom = self) subclass_responsibility end
_intersect_less_than?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 381 def _intersect_less_than?(lhs_dom, rhs_dom = self) subclass_responsibility end
_intersect_nil?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 369 def _intersect_nil?(lhs_dom, rhs_dom = self) subclass_responsibility end
_intersect_unlimited?(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 373 def _intersect_unlimited?(lhs_dom, rhs_dom = self) subclass_responsibility end
_intersection_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 938 def _intersection_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_intersection_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 946 def _intersection_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_intersection_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 942 def _intersection_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_intersection_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 930 def _intersection_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_intersection_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 934 def _intersection_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_less_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 792 def _less_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_less_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 800 def _less_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_less_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 796 def _less_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_less_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 784 def _less_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_less_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 788 def _less_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_logical_and_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 889 def _logical_and_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_logical_and_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 897 def _logical_and_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_logical_and_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 893 def _logical_and_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_logical_and_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 881 def _logical_and_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_logical_and_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 885 def _logical_and_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_logical_or_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 914 def _logical_or_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_logical_or_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 922 def _logical_or_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_logical_or_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 918 def _logical_or_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_logical_or_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 906 def _logical_or_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_logical_or_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 910 def _logical_or_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_mul_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 616 def _mul_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_mul_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 624 def _mul_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_mul_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 620 def _mul_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_mul_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 608 def _mul_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_mul_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 612 def _mul_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_by_eq(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 408 def _narrow_by_eq(rhs_dom, lhs_dom = self) subclass_responsibility end
_narrow_by_ge(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 508 def _narrow_by_ge(rhs_dom, lhs_dom = self) _narrow_by_gt(rhs_dom).union(_narrow_by_eq(rhs_dom)) end
_narrow_by_gt(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 480 def _narrow_by_gt(rhs_dom, lhs_dom = self) subclass_responsibility end
_narrow_by_le(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 504 def _narrow_by_le(rhs_dom, lhs_dom = self) _narrow_by_lt(rhs_dom).union(_narrow_by_eq(rhs_dom)) end
_narrow_by_lt(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 456 def _narrow_by_lt(rhs_dom, lhs_dom = self) subclass_responsibility end
_narrow_by_ne(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 432 def _narrow_by_ne(rhs_dom, lhs_dom = self) subclass_responsibility end
_narrow_equal_to_by_eq(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 420 def _narrow_equal_to_by_eq(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_equal_to_by_gt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 492 def _narrow_equal_to_by_gt(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_equal_to_by_lt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 468 def _narrow_equal_to_by_lt(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_equal_to_by_ne(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 444 def _narrow_equal_to_by_ne(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_greater_than_by_eq(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 428 def _narrow_greater_than_by_eq(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_greater_than_by_gt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 500 def _narrow_greater_than_by_gt(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_greater_than_by_lt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 476 def _narrow_greater_than_by_lt(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_greater_than_by_ne(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 452 def _narrow_greater_than_by_ne(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_less_than_by_eq(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 424 def _narrow_less_than_by_eq(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_less_than_by_gt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 496 def _narrow_less_than_by_gt(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_less_than_by_lt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 472 def _narrow_less_than_by_lt(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_less_than_by_ne(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 448 def _narrow_less_than_by_ne(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_nil_by_eq(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 412 def _narrow_nil_by_eq(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_nil_by_gt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 484 def _narrow_nil_by_gt(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_nil_by_lt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 460 def _narrow_nil_by_lt(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_nil_by_ne(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 436 def _narrow_nil_by_ne(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_unlimited_by_eq(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 416 def _narrow_unlimited_by_eq(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_unlimited_by_gt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 488 def _narrow_unlimited_by_gt(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_unlimited_by_lt(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 464 def _narrow_unlimited_by_lt(lhs_dom, rhs_dom = self) subclass_responsibility end
_narrow_unlimited_by_ne(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 440 def _narrow_unlimited_by_ne(lhs_dom, rhs_dom = self) subclass_responsibility end
_not_equal_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 856 def _not_equal_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_not_equal_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 864 def _not_equal_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_not_equal_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 860 def _not_equal_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_not_equal_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 848 def _not_equal_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_not_equal_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 852 def _not_equal_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_or_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 692 def _or_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_or_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 700 def _or_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_or_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 696 def _or_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_or_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 684 def _or_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_or_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 688 def _or_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_shl_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 740 def _shl_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_shl_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 748 def _shl_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_shl_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 744 def _shl_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_shl_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 732 def _shl_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_shl_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 736 def _shl_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_shr_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 764 def _shr_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_shr_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 772 def _shr_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_shr_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 768 def _shr_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_shr_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 756 def _shr_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_shr_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 760 def _shr_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_union_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 962 def _union_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_union_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 970 def _union_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_union_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 966 def _union_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_union_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 954 def _union_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_union_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 958 def _union_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
_widen_by_eq(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 531 def _widen_by_eq(rhs_dom, lhs_dom = self) lhs_dom.union(rhs_dom) end
_widen_by_ge(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 553 def _widen_by_ge(rhs_dom, lhs_dom = self) _widen_by_gt(rhs_dom).union(_widen_by_eq(rhs_dom)) end
_widen_by_gt(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 544 def _widen_by_gt(rhs_dom, lhs_dom = self) lhs_dom.union(ValueDomain.of_unlimited(logical_shr?).narrow( Operator::GT, rhs_dom)) end
_widen_by_le(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 549 def _widen_by_le(rhs_dom, lhs_dom = self) _widen_by_lt(rhs_dom).union(_widen_by_eq(rhs_dom)) end
_widen_by_lt(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 539 def _widen_by_lt(rhs_dom, lhs_dom = self) lhs_dom.union(ValueDomain.of_unlimited(logical_shr?).narrow( Operator::LT, rhs_dom)) end
_widen_by_ne(rhs_dom, lhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 535 def _widen_by_ne(rhs_dom, lhs_dom = self) lhs_dom.union(rhs_dom.inversion) end
_xor_equal_to(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 716 def _xor_equal_to(lhs_dom, rhs_dom = self) subclass_responsibility end
_xor_greater_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 724 def _xor_greater_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_xor_less_than(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 720 def _xor_less_than(lhs_dom, rhs_dom = self) subclass_responsibility end
_xor_nil(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 708 def _xor_nil(lhs_dom, rhs_dom = self) subclass_responsibility end
_xor_unlimited(lhs_dom, rhs_dom = self)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 712 def _xor_unlimited(lhs_dom, rhs_dom = self) subclass_responsibility end
ambiguous?()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 312 def ambiguous? subclass_responsibility end
coerce_to_integer()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 974 def coerce_to_integer subclass_responsibility end
coerce_to_real()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 978 def coerce_to_real subclass_responsibility end
complexity()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1015 def complexity subclass_responsibility end
contain?(domain_or_numeric)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 320 def contain?(domain_or_numeric) case domain_or_numeric when ValueDomain contain_value_domain?(domain_or_numeric) when Numeric dom = ValueDomain.equal_to(domain_or_numeric, logical_shr?) contain_value_domain?(dom) else raise TypeError, "`#{domain_or_numeric.inspect}' " + "must be kind of ValueDomain or Numeric." end end
contain_value_domain?(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 333 def contain_value_domain?(rhs_dom) subclass_responsibility end
each_sample()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 990 def each_sample subclass_responsibility end
empty?()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 300 def empty? subclass_responsibility end
eql?(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1002 def eql?(rhs_dom) to_s.eql?(rhs_dom.to_s) end
hash()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1006 def hash to_s.hash end
intersect?(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 365 def intersect?(rhs_dom) subclass_responsibility end
intersection(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 926 def intersection(rhs_dom) subclass_responsibility end
inversion()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 557 def inversion subclass_responsibility end
logical_and(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 876 def logical_and(rhs_dom) # NOTE: Operator && cannot be defined as a method in Ruby. subclass_responsibility end
logical_or(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 901 def logical_or(rhs_dom) # NOTE: Operator || cannot be defined as a method in Ruby. subclass_responsibility end
logical_shr?()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 316 def logical_shr? @logical_shr end
max_value()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 986 def max_value subclass_responsibility end
min_value()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 982 def min_value subclass_responsibility end
nan?()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 304 def nan? subclass_responsibility end
narrow(op, ope_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 389 def narrow(op, ope_dom) case op when Operator::EQ _narrow_by_eq(ope_dom) when Operator::NE _narrow_by_ne(ope_dom) when Operator::LT _narrow_by_lt(ope_dom) when Operator::GT _narrow_by_gt(ope_dom) when Operator::LE _narrow_by_le(ope_dom) when Operator::GE _narrow_by_ge(ope_dom) else __NOTREACHED__ end end
to_defined_domain()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 994 def to_defined_domain subclass_responsibility end
to_s()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1011 def to_s subclass_responsibility end
undefined?()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 308 def undefined? subclass_responsibility end
union(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 950 def union(rhs_dom) subclass_responsibility end
widen(op, ope_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 512 def widen(op, ope_dom) case op when Operator::EQ _widen_by_eq(ope_dom) when Operator::NE _widen_by_ne(ope_dom) when Operator::LT _widen_by_lt(ope_dom) when Operator::GT _widen_by_gt(ope_dom) when Operator::LE _widen_by_le(ope_dom) when Operator::GE _widen_by_ge(ope_dom) else __NOTREACHED__ end end
|(rhs_dom)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 680 def |(rhs_dom) subclass_responsibility end
~()
click to toggle source
# File lib/adlint/cc1/domain.rb, line 561 def ~ subclass_responsibility end
Private Instance Methods
left_shift(lhs_numeric, rhs_numeric)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1028 def left_shift(lhs_numeric, rhs_numeric) lhs_numeric.to_i.left_shift(rhs_numeric.to_i) end
right_shift(lhs_numeric, rhs_numeric)
click to toggle source
# File lib/adlint/cc1/domain.rb, line 1020 def right_shift(lhs_numeric, rhs_numeric) if logical_shr? lhs_numeric.to_i.logical_right_shift(rhs_numeric.to_i) else lhs_numeric.to_i.arithmetic_right_shift(rhs_numeric.to_i) end end