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
Modifier and TypeFieldDescriptionprotected final ghidra.program.disassemble.ReDisassembler.Flow
protected final ReDisassembler.ReDisState
-
Constructor Summary
ConstructorDescriptionReDisassemblerContext
(ReDisassembler.ReDisState state, ghidra.program.disassemble.ReDisassembler.Flow flow) -
Method Summary
Modifier and TypeMethodDescriptiongetRegisterValue
(Register register) Get the RegisterValue for the given register.void
setFutureRegisterValue
(Address address, RegisterValue value) Combinesvalue
with any previously saved future register value ataddress
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
-
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
Description copied from interface:DisassemblerContext
Combinesvalue
with any previously saved future register value ataddress
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.
Whenvalue
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 interfaceDisassemblerContext
- Specified by:
setFutureRegisterValue
in interfaceDisassemblerContextAdapter
- Parameters:
address
- the address to store the register valuevalue
- the register value to store at the address
-
getRegisterValue
Description copied from interface:ProcessorContextView
Get the RegisterValue for the given register.- Specified by:
getRegisterValue
in interfaceDisassemblerContextAdapter
- Specified by:
getRegisterValue
in interfaceProcessorContextView
- Parameters:
register
- register to get the value for- Returns:
- RegisterValue object containing the value of the register if a value exists, otherwise null.
-