Class EquateDB

java.lang.Object
ghidra.program.database.DatabaseObject
ghidra.program.database.symbol.EquateDB
All Implemented Interfaces:
Equate

public class EquateDB extends DatabaseObject implements Equate
Database object for an Equate.
  • Constructor Details

    • EquateDB

      public EquateDB(EquateManager equateMgr, DBObjectCache<EquateDB> cache, DBRecord record)
      Constructor
      Parameters:
      equateMgr - the equate manager
      cache - EquateDB cache
      record - the record for this equate.
  • Method Details

    • refresh

      protected boolean refresh()
      Description copied from class: DatabaseObject
      Tells the object to refresh its state from the database.
      Specified by:
      refresh in class DatabaseObject
      Returns:
      true if the object was able to refresh itself. Return false if the object was deleted. Objects that extend this class must implement a refresh method. If an object can never refresh itself, then it should always return false.
    • addReference

      public void addReference(Address refAddr, int opIndex)
      Description copied from interface: Equate
      Add a reference (at the given operand position) to this equate. If a reference already exists for the instruction at this address, then the old reference will be removed before the new reference is added.
      Specified by:
      addReference in interface Equate
      Parameters:
      refAddr - the address where the equate is used.
      opIndex - the operand index where the equate is used.
    • addReference

      public void addReference(long dynamicHash, Address refAddr)
      Description copied from interface: Equate
      Add a reference (at the given dynamic hash position) to this equate. If a reference already exists for the instruction at this address, then the old reference will be removed before the new reference is added.
      Specified by:
      addReference in interface Equate
      Parameters:
      dynamicHash - constant varnode dynamic hash value
      refAddr - the address where the equate is used.
    • getName

      public String getName()
      Description copied from interface: Equate
      Get the actual name of this equate. Note that this name may be different than the "display name," which is what the user will see.
      Specified by:
      getName in interface Equate
      Returns:
      The actual name of this equate.
    • getDisplayName

      public String getDisplayName()
      Description copied from interface: Equate
      Gets the "display name" of this equate. Note that the display name may be different than the equate's actual name if the equate is based off a data type id.
      Specified by:
      getDisplayName in interface Equate
      Returns:
      The "display name" of this equate.
    • getEnumUUID

      public UniversalID getEnumUUID()
      Description copied from interface: Equate
      Gets the universal id from this equate if the equate was based off of an enum.
      Specified by:
      getEnumUUID in interface Equate
      Returns:
      The universal id for this equate.
    • getReferenceCount

      public int getReferenceCount()
      Description copied from interface: Equate
      Get the number of references to this equate.
      Specified by:
      getReferenceCount in interface Equate
    • getReferences

      public EquateReference[] getReferences()
      Description copied from interface: Equate
      Get the references for this equate.
      Specified by:
      getReferences in interface Equate
      Returns:
      a array of EquateReferences.
    • getReferences

      public List<EquateReference> getReferences(Address refAddr)
      Description copied from interface: Equate
      Get references for this equate attached to a specific address
      Specified by:
      getReferences in interface Equate
      Parameters:
      refAddr - is the address
      Returns:
      the list of EquateReferences
    • getValue

      public long getValue()
      Description copied from interface: Equate
      Get the value of this equate.
      Specified by:
      getValue in interface Equate
    • getDisplayValue

      public String getDisplayValue()
      Description copied from interface: Equate
      Gets a more accurate representation of the equate value. Used for rendering as close to the listing as possible.
      Specified by:
      getDisplayValue in interface Equate
      Returns:
      A more accurate representation of the equate value.
    • removeReference

      public void removeReference(Address refAddr, int opIndex)
      Description copied from interface: Equate
      Remove the reference at the given operand position.
      Specified by:
      removeReference in interface Equate
      Parameters:
      refAddr - the address that was using this equate
      opIndex - the operand index of the operand that was using this eqate.
    • removeReference

      public void removeReference(long dynamicHash, Address refAddr)
      Description copied from interface: Equate
      Remove the reference at the given address
      Specified by:
      removeReference in interface Equate
      Parameters:
      dynamicHash - the hash of the reference
      refAddr - the reference's address
    • renameEquate

      public void renameEquate(String newName) throws DuplicateNameException, InvalidInputException
      Description copied from interface: Equate
      Changes the name associated with the equate.
      Specified by:
      renameEquate in interface Equate
      Parameters:
      newName - the new name for this equate.
      Throws:
      DuplicateNameException - thrown if newName is already used by another equate.
      InvalidInputException - if newName contains blank characters, is zero length, or is null
    • isValidUUID

      public boolean isValidUUID()
      Description copied from interface: Equate
      Checks if equate is based off an enum's universal id and checks if the enum still exists. The equate is still valid if the equate is not based off an enum.
      Specified by:
      isValidUUID in interface Equate
      Returns:
      true if the equate is based off an enum that still exists.
    • isEnumBased

      public boolean isEnumBased()
      Description copied from interface: Equate
      Checks if equate is based off an enum's universal id.
      Specified by:
      isEnumBased in interface Equate
      Returns:
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

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

      public String toString()
      Description copied from interface: Equate
      Get the name of this equate.
      Specified by:
      toString in interface Equate
      Overrides:
      toString in class Object
      See Also: