Class CstLiteralBits

All Implemented Interfaces:
TypeBearer, ToHuman, Comparable<Constant>
Direct Known Subclasses:
CstKnownNull, CstLiteral32, CstLiteral64

public abstract class CstLiteralBits extends TypedConstant
Constants which are literal bitwise values of some sort.
  • Constructor Details

    • CstLiteralBits

      public CstLiteralBits()
  • Method Details

    • fitsInInt

      public abstract boolean fitsInInt()
      Returns whether or not this instance's value may be accurately represented as an int. The rule is that if there is an int which may be sign-extended to yield this instance's value, then this method returns true. Otherwise, it returns false.
      Returns:
      true iff this instance fits in an int
    • getIntBits

      public abstract int getIntBits()
      Gets the value as int bits. If this instance contains more bits than fit in an int, then this returns only the low-order bits.
      Returns:
      the bits
    • getLongBits

      public abstract long getLongBits()
      Gets the value as long bits. If this instance contains fewer bits than fit in a long, then the result of this method is the sign extension of the value.
      Returns:
      the bits
    • fitsIn16Bits

      public boolean fitsIn16Bits()
      Returns true if this value can fit in 16 bits with sign-extension.
      Returns:
      true if the sign-extended lower 16 bits are the same as the value.
    • fitsIn8Bits

      public boolean fitsIn8Bits()
      Returns true if this value can fit in 8 bits with sign-extension.
      Returns:
      true if the sign-extended lower 8 bits are the same as the value.