Class EquateDB
java.lang.Object
ghidra.program.database.DbObject
ghidra.program.database.symbol.EquateDB
- All Implemented Interfaces:
Equate
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddReference(long dynamicHash, Address refAddr) Add a reference (at the given dynamic hash position) to this equate.voidaddReference(Address refAddr, int opIndex) Add a reference (at the given operand position) to this equate.booleanGets the "display name" of this equate.Gets a more accurate representation of the equate value.Gets the universal id from this equate if the equate was based off of an enum.getName()Get the actual name of this equate.intGet the number of references to this equate.Get the references for this equate.getReferences(Address refAddr) Get references for this equate attached to a specific addresslonggetValue()Get the value of this equate.inthashCode()booleanChecks if equate is based off an enum's universal id.booleanChecks if equate is based off an enum's universal id and checks if the enum still exists.protected booleanTells the object to refresh its state from the database using the specified record if provided.voidremoveReference(long dynamicHash, Address refAddr) Remove the reference at the given addressvoidremoveReference(Address refAddr, int opIndex) Remove the reference at the given operand position.voidrenameEquate(String newName) Changes the name associated with the equate.toString()Get the name of this equate.Methods inherited from class DbObject
checkDeleted, getKey, isDeleted, isValid, keyChanged, needsRefreshing, refreshIfNeeded, setDeleted, setInvalid, setValid, validate
-
Method Details
-
refresh
Description copied from class:DbObjectTells the object to refresh its state from the database using the specified record if provided. The record may be null and the object is generally expected to be able to retrieve its own record from the database as needed. Is is mostly passed as a parameter for efficiency to keep an object from having to look up its record when the client already has the record in hand such as when it is iterating over records.This method generally should not be called directly as it provides no recursion protection. Instead, most clients should call
DbObject.refreshIfNeeded()instead which WILL provide recursion protection. If clients must call this method, they either need to provided their own recursion protection or be absolutely certain that recursive calls won't occur.- Specified by:
refreshin classDbObject- Parameters:
rec- valid record associated with object's key (optional, may be null to force record lookup or other refresh technique)- Returns:
- true if the object was able to refresh itself. Return false if record is null and 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
Description copied from interface:EquateAdd 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:
addReferencein interfaceEquate- Parameters:
refAddr- the address where the equate is used.opIndex- the operand index where the equate is used.
-
addReference
Description copied from interface:EquateAdd 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:
addReferencein interfaceEquate- Parameters:
dynamicHash- constant varnode dynamic hash valuerefAddr- the address where the equate is used.
-
getName
-
getDisplayName
Description copied from interface:EquateGets 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:
getDisplayNamein interfaceEquate- Returns:
- The "display name" of this equate.
-
getEnumUUID
Description copied from interface:EquateGets the universal id from this equate if the equate was based off of an enum.- Specified by:
getEnumUUIDin interfaceEquate- Returns:
- The universal id for this equate.
-
getReferenceCount
public int getReferenceCount()Description copied from interface:EquateGet the number of references to this equate.- Specified by:
getReferenceCountin interfaceEquate
-
getReferences
Description copied from interface:EquateGet the references for this equate.- Specified by:
getReferencesin interfaceEquate- Returns:
- a array of EquateReferences.
-
getReferences
Description copied from interface:EquateGet references for this equate attached to a specific address- Specified by:
getReferencesin interfaceEquate- Parameters:
refAddr- is the address- Returns:
- the list of EquateReferences
-
getValue
-
getDisplayValue
Description copied from interface:EquateGets a more accurate representation of the equate value. Used for rendering as close to the listing as possible.- Specified by:
getDisplayValuein interfaceEquate- Returns:
- A more accurate representation of the equate value.
-
removeReference
Description copied from interface:EquateRemove the reference at the given operand position.- Specified by:
removeReferencein interfaceEquate- Parameters:
refAddr- the address that was using this equateopIndex- the operand index of the operand that was using this eqate.
-
removeReference
Description copied from interface:EquateRemove the reference at the given address- Specified by:
removeReferencein interfaceEquate- Parameters:
dynamicHash- the hash of the referencerefAddr- the reference's address
-
renameEquate
Description copied from interface:EquateChanges the name associated with the equate.- Specified by:
renameEquatein interfaceEquate- 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:EquateChecks 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:
isValidUUIDin interfaceEquate- Returns:
- true if the equate is based off an enum that still exists.
-
isEnumBased
public boolean isEnumBased()Description copied from interface:EquateChecks if equate is based off an enum's universal id.- Specified by:
isEnumBasedin interfaceEquate- Returns:
-
equals
-
hashCode
-
toString
-