Class Addr32

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

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

    • ZERO

      public static final Addr32 ZERO
    • MAX

      public static final Addr32 MAX
    • MAX_OFFSET

      public static final BigInteger MAX_OFFSET
  • Constructor Details

    • Addr32

      public Addr32(byte[] addrBytes)
    • Addr32

      public Addr32(long rawaddress)
    • Addr32

      public Addr32(long rawaddress, boolean truncate)
    • Addr32

      public Addr32(String addr)
    • Addr32

      public Addr32(String addr, boolean truncate)
    • Addr32

      public Addr32(String addr, int radix)
    • Addr32

      public Addr32(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
    • getValue

      public BigInteger getValue()
      Description copied from interface: IAddress
      Returns the value of the address.
      Specified by:
      getValue in interface IAddress
    • 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
    • compareTo

      public int compareTo(Object other)
      Specified by:
      compareTo in interface Comparable<Object>
    • 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
    • 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
    • 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
    • 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.