Package ghidra.program.disassemble

# Class ReDisassembler.ReDisassemblerContext

java.lang.Object
ghidra.program.disassemble.ReDisassembler.ReDisassemblerContext

All Implemented Interfaces:
  `DisassemblerContext`, `DisassemblerContextAdapter`, `ProcessorContext`, `ProcessorContextView`

Enclosing class:
  `ReDisassembler`

protected class ReDisassembler.ReDisassemblerContext extends Object implements DisassemblerContextAdapter

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final ghidra.program.disassemble.ReDisassembler.Flow`
  `flow`
  `protected final ReDisassembler.ReDisState`
  `state`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ReDisassemblerContext(ReDisassembler.ReDisState state, ghidra.program.disassemble.ReDisassembler.Flow flow)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `RegisterValue`
  `getRegisterValue(Register register)`
  Get the RegisterValue for the given register.
  `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 class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

  `clearRegister, getBaseContextRegister, getRegister, getRegisters, getValue, hasValue, setFutureRegisterValue, setRegisterValue, setValue`

- ## Field Details

  - ### state

    protected final ReDisassembler.ReDisState state

  - ### flow

    protected final ghidra.program.disassemble.ReDisassembler.Flow flow

- ## Constructor Details

  - ### ReDisassemblerContext

    public ReDisassemblerContext(ReDisassembler.ReDisState state, ghidra.program.disassemble.ReDisassembler.Flow flow)

- ## Method Details

  - ### setFutureRegisterValue

    public void setFutureRegisterValue(Address address, RegisterValue value)
    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`
    Specified by:
      `setFutureRegisterValue` in interface `DisassemblerContextAdapter`
    Parameters:
      `address` - the address to store the register value
      `value` - the register value to store at the address

  - ### getRegisterValue

    public RegisterValue getRegisterValue(Register register)
    Description copied from interface: `ProcessorContextView`
    Get the RegisterValue for the given register.
    Specified by:
      `getRegisterValue` in interface `DisassemblerContextAdapter`
    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.