Package ghidra.program.model.symbol
Interface Reference
-
- All Superinterfaces:
java.lang.Comparable<Reference>
- All Known Subinterfaces:
DynamicReference
,EntryPointReference
,ExternalReference
,OffsetReference
,ShiftedReference
,StackReference
- All Known Implementing Classes:
MemReferenceImpl
,ThunkReference
public interface Reference extends java.lang.Comparable<Reference>
Base class to hold information about a referring address. Derived classes add what the address is referring to. A basic reference consists of a "from" address, the reference type, the operand index for where the reference is, and whether the reference is user defined.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Address
getFromAddress()
Get the address of the codeunit that is making the reference.int
getOperandIndex()
Get the operand index of where this reference was placed.RefType
getReferenceType()
Get the type of reference being made.SourceType
getSource()
Gets the source of this reference.long
getSymbolID()
Get the symbol ID associated with this reference.Address
getToAddress()
Get the "to" address for this reference.boolean
isEntryPointReference()
Returns true if this reference is an instance of EntryReference.boolean
isExternalReference()
Returns true if this reference is an instance of ExternalReference.boolean
isMemoryReference()
Returns true if this reference to an address in the programs memory space.boolean
isMnemonicReference()
Return true if this reference is on the Mnemonic and not on an operandboolean
isOffsetReference()
Returns true if this reference is an instance of OffsetReference.boolean
isOperandReference()
Return true if this reference is on an operand and not on the Mnemonic.boolean
isPrimary()
Return whether this reference is marked as primary.boolean
isRegisterReference()
Returns true if this reference to an address in the programs register space.boolean
isShiftedReference()
Returns true if this reference is an instance of ShiftedReference.boolean
isStackReference()
Returns true if this reference is an instance of StackReference and refers to a stack location.
-
-
-
Field Detail
-
MNEMONIC
static final int MNEMONIC
Operand index which corresponds to the instruction/data mnemonic.- See Also:
- Constant Field Values
-
OTHER
static final int OTHER
Special purpose operand index when not applicable (i.e., Thunk reference)- See Also:
- Constant Field Values
-
-
Method Detail
-
getFromAddress
Address getFromAddress()
Get the address of the codeunit that is making the reference.
-
getToAddress
Address getToAddress()
Get the "to" address for this reference.
-
isPrimary
boolean isPrimary()
Return whether this reference is marked as primary.
-
getSymbolID
long getSymbolID()
Get the symbol ID associated with this reference.- Returns:
- symbol ID or -1 if no symbol is associated with this reference
-
getReferenceType
RefType getReferenceType()
Get the type of reference being made.
-
getOperandIndex
int getOperandIndex()
Get the operand index of where this reference was placed.- Returns:
- op index or ReferenceManager.MNEMONIC
-
isMnemonicReference
boolean isMnemonicReference()
Return true if this reference is on the Mnemonic and not on an operand
-
isOperandReference
boolean isOperandReference()
Return true if this reference is on an operand and not on the Mnemonic.
-
isStackReference
boolean isStackReference()
Returns true if this reference is an instance of StackReference and refers to a stack location.
-
isExternalReference
boolean isExternalReference()
Returns true if this reference is an instance of ExternalReference.
-
isEntryPointReference
boolean isEntryPointReference()
Returns true if this reference is an instance of EntryReference.
-
isMemoryReference
boolean isMemoryReference()
Returns true if this reference to an address in the programs memory space. This includes offset and shifted references.
-
isRegisterReference
boolean isRegisterReference()
Returns true if this reference to an address in the programs register space.
-
isOffsetReference
boolean isOffsetReference()
Returns true if this reference is an instance of OffsetReference.
-
isShiftedReference
boolean isShiftedReference()
Returns true if this reference is an instance of ShiftedReference.
-
getSource
SourceType getSource()
Gets the source of this reference.SourceTypes
- Returns:
- the source of this reference
-
-