Class MemReferenceImpl

java.lang.Object
ghidra.program.model.symbol.MemReferenceImpl
All Implemented Interfaces:
Reference, Comparable<Reference>

public class MemReferenceImpl extends Object implements Reference
Implementation for a reference, not associated with a program.
  • Field Details

    • refType

      protected RefType refType
    • opIndex

      protected int opIndex
    • sourceType

      protected SourceType sourceType
    • symbolID

      protected long symbolID
    • isPrimary

      protected boolean isPrimary
  • Constructor Details

    • MemReferenceImpl

      public MemReferenceImpl(Address fromAddr, Address toAddr, RefType refType, SourceType sourceType, int opIndex, boolean isPrimary)
      Constructs a MemReferenceImpl.
      Parameters:
      fromAddr - reference from address
      toAddr - reference to address
      refType - the type of the reference
      sourceType - reference source type SourceType
      opIndex - the operand index of the from location
      isPrimary - true if this reference should substitue the operand
  • Method Details

    • getFromAddress

      public Address getFromAddress()
      Description copied from interface: Reference
      Returns Get the address of the code unit that is making the reference..
      Specified by:
      getFromAddress in interface Reference
      Returns:
      Get the address of the code unit that is making the reference.
      See Also:
    • getToAddress

      public Address getToAddress()
      Description copied from interface: Reference
      Returns Get the "to" address for this reference..
      Specified by:
      getToAddress in interface Reference
      Returns:
      Get the "to" address for this reference.
      See Also:
    • isPrimary

      public boolean isPrimary()
      Description copied from interface: Reference
      Returns Return whether this reference is marked as primary..
      Specified by:
      isPrimary in interface Reference
      Returns:
      Return whether this reference is marked as primary.
      See Also:
    • getSymbolID

      public long getSymbolID()
      Description copied from interface: Reference
      Get the symbol ID associated with this reference. Applies to memory references only.
      Specified by:
      getSymbolID in interface Reference
      Returns:
      symbol ID or -1 if no symbol is associated with this reference
      See Also:
    • getReferenceType

      public RefType getReferenceType()
      Description copied from interface: Reference
      Returns Get the type of reference being made..
      Specified by:
      getReferenceType in interface Reference
      Returns:
      Get the type of reference being made.
      See Also:
    • getOperandIndex

      public int getOperandIndex()
      Description copied from interface: Reference
      Get the operand index of where this reference was placed.
      Specified by:
      getOperandIndex in interface Reference
      Returns:
      op index or ReferenceManager.MNEMONIC
      See Also:
    • isMnemonicReference

      public boolean isMnemonicReference()
      Description copied from interface: Reference
      Returns Return true if this reference is on the Mnemonic and not on an operand..
      Specified by:
      isMnemonicReference in interface Reference
      Returns:
      Return true if this reference is on the Mnemonic and not on an operand.
      See Also:
    • isOperandReference

      public boolean isOperandReference()
      Description copied from interface: Reference
      Returns Return true if this reference is on an operand and not on the Mnemonic..
      Specified by:
      isOperandReference in interface Reference
      Returns:
      Return true if this reference is on an operand and not on the Mnemonic.
      See Also:
    • compareTo

      public int compareTo(Reference ref)
      Specified by:
      compareTo in interface Comparable<Reference>
      See Also:
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
      See Also:
    • isExternalReference

      public boolean isExternalReference()
      Description copied from interface: Reference
      Returns Returns true if this reference is an instance of ExternalReference..
      Specified by:
      isExternalReference in interface Reference
      Returns:
      Returns true if this reference is an instance of ExternalReference.
      See Also:
    • isOffsetReference

      public boolean isOffsetReference()
      Description copied from interface: Reference
      Returns Returns true if this reference is an instance of OffsetReference..
      Specified by:
      isOffsetReference in interface Reference
      Returns:
      Returns true if this reference is an instance of OffsetReference.
      See Also:
    • isShiftedReference

      public boolean isShiftedReference()
      Description copied from interface: Reference
      Returns Returns true if this reference is an instance of ShiftedReference..
      Specified by:
      isShiftedReference in interface Reference
      Returns:
      Returns true if this reference is an instance of ShiftedReference.
      See Also:
    • isEntryPointReference

      public boolean isEntryPointReference()
      Description copied from interface: Reference
      Returns Returns true if this reference is an instance of EntryReference..
      Specified by:
      isEntryPointReference in interface Reference
      Returns:
      Returns true if this reference is an instance of EntryReference.
      See Also:
    • isMemoryReference

      public boolean isMemoryReference()
      Description copied from interface: Reference
      Returns Returns true if this reference to an address in the programs memory space. This includes offset and shifted references..
      Specified by:
      isMemoryReference in interface Reference
      Returns:
      Returns true if this reference to an address in the programs memory space. This includes offset and shifted references.
      See Also:
    • isRegisterReference

      public boolean isRegisterReference()
      Description copied from interface: Reference
      Returns Returns true if this reference to an address in the programs register space..
      Specified by:
      isRegisterReference in interface Reference
      Returns:
      Returns true if this reference to an address in the programs register space.
      See Also:
    • isStackReference

      public boolean isStackReference()
      Description copied from interface: Reference
      Returns Returns true if this reference is an instance of StackReference and refers to a stack location..
      Specified by:
      isStackReference in interface Reference
      Returns:
      Returns true if this reference is an instance of StackReference and refers to a stack location.
      See Also:
    • getSource

      public SourceType getSource()
      Description copied from interface: Reference
      Gets the source of this reference. SourceTypes
      Specified by:
      getSource in interface Reference
      Returns:
      the source of this reference
    • setSource

      public void setSource(SourceType source)