Class Addr64

java.lang.Object
org.eclipse.cdt.utils.Addr64
All Implemented Interfaces:
Serializable, Comparable<Object>, IAddress

public class Addr64 extends Object implements IAddress, Serializable
See Also:
  • Field Details

    • ZERO

      public static final Addr64 ZERO
    • MAX

      public static final Addr64 MAX
    • MAX_OFFSET

      public static final BigInteger MAX_OFFSET
  • Constructor Details

    • Addr64

      public Addr64(byte[] addrBytes)
    • Addr64

      public Addr64(BigInteger rawaddress)
    • Addr64

      public Addr64(BigInteger rawaddress, boolean truncate)
    • Addr64

      public Addr64(String addr)
    • Addr64

      public Addr64(long addr)
      Create an address represented by long bits. Signed bit will be used as unsigned extension, if you don't want it mask it before passing here.
      Since:
      5.9
    • Addr64

      public Addr64(String addr, boolean truncate)
    • Addr64

      public Addr64(String addr, int radix)
    • Addr64

      public Addr64(String addr, int radix, boolean truncate)
  • Method Details

    • add

      public IAddress add(BigInteger offset)
      Description copied from interface: IAddress
      Adds offset to address and returns new address object which is the result
      Specified by:
      add in interface IAddress
      Parameters:
      offset - to add
      Returns:
      the new address
    • add

      public IAddress add(long offset)
      Description copied from interface: IAddress
      Adds offset to address and returns new address object which is the result

      Note: This method has an offset limit of Long.MAX and Long.MIN, which under some addressing schemes may impose an unnecessary limitation, see IAddress.add(BigInteger offset) to handle larger offsets.
      Specified by:
      add in interface IAddress
      Parameters:
      offset - to add
      Returns:
      the new address
    • getMaxOffset

      public BigInteger getMaxOffset()
      Description copied from interface: IAddress
      Returns maximal offset possible for address. The offset should be identical for all addresses of given class.
      Specified by:
      getMaxOffset in interface IAddress
      Returns:
      the max offset for this address class
    • distanceTo

      public BigInteger distanceTo(IAddress other)
      Description copied from interface: IAddress
      Returns distance to address. Distance may be positive or negative
      Specified by:
      distanceTo in interface IAddress
      Parameters:
      other - address which distance is calculated to.
      Returns:
      distance to address
    • isMax

      public boolean isMax()
      Description copied from interface: IAddress
      Return true if address is maximal, i.e. maximal possible
      Specified by:
      isMax in interface IAddress
      Returns:
      true if address is maximal
    • isZero

      public boolean isZero()
      Description copied from interface: IAddress
      Return true if address is zero, i.e. minimal possible
      Specified by:
      isZero in interface IAddress
      Returns:
      true is address is zero
    • getValue

      public BigInteger getValue()
      Description copied from interface: IAddress
      Returns the value of the address.
      Specified by:
      getValue in interface IAddress
    • compareTo

      public int compareTo(Object other)
      Specified by:
      compareTo in interface Comparable<Object>
    • equals

      public boolean equals(Object x)
      Description copied from interface: IAddress
      Returns whether this address equals the given object.
      Specified by:
      equals in interface IAddress
      Overrides:
      equals in class Object
      Parameters:
      x - the other object
      Returns:
      true if the addresses are equivalent, and false if they are not
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Description copied from interface: IAddress
      Identical to toString(10)
      Specified by:
      toString in interface IAddress
      Overrides:
      toString in class Object
      Returns:
      a string representation of address using a radix of 10
    • toString

      public String toString(int radix)
      Description copied from interface: IAddress
      Converts address to string as an unsigned number with given radix
      Specified by:
      toString in interface IAddress
      Parameters:
      radix - to use for string conversion
      Returns:
      a string representation of address
    • toHexAddressString

      public String toHexAddressString()
      Description copied from interface: IAddress
      Converts address to the hex representation with '0x' prefix and with all leading zeros. The length of returned string should be the same for all addresses of given class. I.e. 10 for 32-bit addresses and 18 for 64-bit addresses
      Specified by:
      toHexAddressString in interface IAddress
    • toOctalAddressString

      public String toOctalAddressString()
      Since:
      5.4
    • toBinaryAddressString

      public String toBinaryAddressString()
      Description copied from interface: IAddress
      Converts address to the binary representation with '0b' prefix and with all leading zeros. The length of returned string should be the same for all addresses of given class. I.e. 34 for 32-bit addresses and 66 for 64-bit addresses
      Specified by:
      toBinaryAddressString in interface IAddress
    • getCharsNum

      public int getCharsNum()
      Description copied from interface: IAddress
      Returns amount of symbols in hex representation. Is identical to toHexAddressString().length(). It is present for performance purpose.
      Specified by:
      getCharsNum in interface IAddress
      Returns:
      the number of character symbols to represent this address in hex.
    • getSize

      public int getSize()
      Description copied from interface: IAddress
      Returns the address size in bytes.
      Specified by:
      getSize in interface IAddress
      Returns:
      the number of bytes required to hold this address.