Class EmulateDisassemblerContext

java.lang.Object
ghidra.pcode.emulate.EmulateDisassemblerContext
All Implemented Interfaces:
DisassemblerContext, ProcessorContext, ProcessorContextView

@Deprecated(since="12.1", forRemoval=true) public class EmulateDisassemblerContext extends Object implements DisassemblerContext
Deprecated, for removal: This API element is subject to removal in a future version.
  • Constructor Summary

    Constructors
    Constructor
    Description
    EmulateDisassemblerContext(Language language, RegisterValue initialContextValue)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Clears the register within this context.
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    Deprecated, for removal: This API element is subject to removal in a future version.
    Get a Register given the name of a register
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns all the Registers for the processor as an unmodifiable list
    Deprecated, for removal: This API element is subject to removal in a future version.
    Get the RegisterValue for the given register.
    getValue(Register register, boolean signed)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Get the contents of a processor register as a BigInteger object
    boolean
    hasValue(Register register)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns true if a value is defined for the given register.
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Combines value with any previously saved future register value at fromAddr/toAddr or any value stored in the program if there is no previously saved future value.
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Combines value with any previously saved future register value at address or any value stored in the program if there is no previously saved future value.
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Sets the specified register value within this context.
    void
    setValue(Register register, BigInteger value)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Sets the value for a Register.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • EmulateDisassemblerContext

      public EmulateDisassemblerContext(Language language, RegisterValue initialContextValue)
      Deprecated, for removal: This API element is subject to removal in a future version.
  • Method Details

    • getBaseContextRegister

      public Register getBaseContextRegister()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      getBaseContextRegister in interface ProcessorContextView
      Returns:
      the base processor context register or null if one has not been defined
    • getCurrentContextRegisterValue

      public RegisterValue getCurrentContextRegisterValue()
      Deprecated, for removal: This API element is subject to removal in a future version.
    • setCurrentAddress

      public void setCurrentAddress(Address addr)
      Deprecated, for removal: This API element is subject to removal in a future version.
    • clearRegister

      public void clearRegister(Register register)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: ProcessorContext
      Clears the register within this context.
      Specified by:
      clearRegister in interface ProcessorContext
      Parameters:
      register - register to be cleared.
    • getRegister

      public Register getRegister(String name)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: ProcessorContextView
      Get a Register given the name of a register
      Specified by:
      getRegister in interface ProcessorContextView
      Parameters:
      name - the name of the register.
      Returns:
      The register with the given name.
    • getRegisterValue

      public RegisterValue getRegisterValue(Register register)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: ProcessorContextView
      Get the RegisterValue for the given register.
      Specified by:
      getRegisterValue in interface ProcessorContextView
      Parameters:
      register - register to get the value for
      Returns:
      RegisterValue object containing the value of the register if a value exists, otherwise null.
    • getRegisters

      public List<Register> getRegisters()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: ProcessorContextView
      Returns all the Registers for the processor as an unmodifiable list
      Specified by:
      getRegisters in interface ProcessorContextView
      Returns:
      all the Registers for the processor
    • getValue

      public BigInteger getValue(Register register, boolean signed)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: ProcessorContextView
      Get the contents of a processor register as a BigInteger object
      Specified by:
      getValue in interface ProcessorContextView
      Parameters:
      register - register to get the value for
      Returns:
      a BigInteger object containing the value of the register if a value exists, otherwise null.
    • hasValue

      public boolean hasValue(Register register)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: ProcessorContextView
      Returns true if a value is defined for the given register.
      Specified by:
      hasValue in interface ProcessorContextView
      Parameters:
      register - the register to check for a value.
      Returns:
      true if the given register has a value.
    • setRegisterValue

      public void setRegisterValue(RegisterValue value)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: ProcessorContext
      Sets the specified register value within this context.
      Specified by:
      setRegisterValue in interface ProcessorContext
      Parameters:
      value - register value
    • setValue

      public void setValue(Register register, BigInteger value)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: ProcessorContext
      Sets the value for a Register.
      Specified by:
      setValue in interface ProcessorContext
      Parameters:
      register - the register to have its value set
      value - the value for the register (null is not permitted).
    • setFutureRegisterValue

      public void setFutureRegisterValue(Address address, RegisterValue value)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: DisassemblerContext
      Combines value with any previously saved future register value at address or any value stored in the program if there is no previously saved future value. Use this method when multiple flows to the same address don't matter or the flowing from address is unknown.
      When value has conflicting bits with the previously saved value, value will take precedence.
      If the register value is the value for the processor context register and a previously saved value does not exist, the user saved values in the stored context of the program will be used as existing value.
      Specified by:
      setFutureRegisterValue in interface DisassemblerContext
      Parameters:
      address - the address to store the register value
      value - the register value to store at the address
    • setFutureRegisterValue

      public void setFutureRegisterValue(Address fromAddr, Address toAddr, RegisterValue value)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: DisassemblerContext
      Combines value with any previously saved future register value at fromAddr/toAddr or any value stored in the program if there is no previously saved future value.
      When value has conflicting bits with the previously saved value, value will take precedence.
      If the register value is the value for the processor context register and a previously saved value does not exist, the user saved values in the stored context of the program will be used as existing value.
      Specified by:
      setFutureRegisterValue in interface DisassemblerContext
      Parameters:
      fromAddr - the address this value if flowing from
      toAddr - the address to store the register value
      value - the register value to store at the address