Package ghidra.program.model.lang

# Interface DisassemblerContext

All Superinterfaces:
  `ProcessorContext`, `ProcessorContextView`

All Known Subinterfaces:
  `DisassemblerContextAdapter`

All Known Implementing Classes:
  `AssemblyDefaultContext`, `DisassemblerContextImpl`, `EmulateDisassemblerContext`, `PseudoDisassemblerContext`

public interface DisassemblerContext extends ProcessorContext

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `setFutureRegisterValue(Address fromAddr, Address toAddr, RegisterValue value)`
  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`
  `setFutureRegisterValue(Address address, RegisterValue value)`
  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.

  ### Methods inherited from interface ghidra.program.model.lang.ProcessorContext

  `clearRegister, setRegisterValue, setValue`

  ### Methods inherited from interface ghidra.program.model.lang.ProcessorContextView

  `getBaseContextRegister, getRegister, getRegisters, getRegisterValue, getValue, hasValue`

- ## Method Details

  - ### setFutureRegisterValue

    void setFutureRegisterValue(Address address, RegisterValue value)
    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.
    Parameters:
      `address` - the address to store the register value
      `value` - the register value to store at the address

  - ### setFutureRegisterValue

    void setFutureRegisterValue(Address fromAddr, Address toAddr, RegisterValue value)
    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.
    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