Class AddressMapImpl

  • public class AddressMapImpl
    extends java.lang.Object
    AddressMapImpl provides a stand-alone AddressMap. An AddressMapimpl instance should only be used to decode keys which it has generated. If this map is used for a specific program instance, the map should be discard if any changes are made to that programs address map (e.g., removing or renaming overlay spaces).
    • Constructor Detail

      • AddressMapImpl

        public AddressMapImpl()
        Creates a new AddressMapImpl with a mapID of 0.
      • AddressMapImpl

        public AddressMapImpl​(byte mapID,
                              AddressFactory addrFactory)
        Creates a new AddressMapImpl with the specified mapID
        mapID - the 8-bit value is placed in the upper 8 bits of every address encoding.
    • Method Detail

      • decodeAddress

        public Address decodeAddress​(long value)
        See Also:
      • getKey

        public long getKey​(Address addr)
        Generate a unique key for the specified addr. Only addresses from a single address space or single program should be passed to this method. Only limited checking is not performed in order to improve performance.
        addr - address
        See Also:
      • findKeyRange

        public int findKeyRange​(java.util.List<KeyRange> keyRangeList,
                                Address addr)
        See Also:
        ghidra.program.model.address.AddressMap#findKeyRange(java.util.List, ghidra.program.model.address.Address)
      • getKeyRanges

        public java.util.List<KeyRange> getKeyRanges​(Address start,
                                                     Address end)
        See Also:
        ghidra.program.model.address.AddressMap#getKeyRanges(ghidra.program.model.address.Address, ghidra.program.model.address.Address)
      • getKeyRanges

        public java.util.List<KeyRange> getKeyRanges​(AddressSetView set)
        See Also:
      • reconcile

        public void reconcile()
        Reconcile address space changes using associated address factory. This method should be invoked following an undo/redo (if the associated address factory may have changed) or removal of an overlay memory block.