Package ghidra.program.disassemble

# Class ReDisassembler

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

public class ReDisassembler extends Object
A class that re-disassembles where necessary

Given a seed address, this will (re-)disassemble the instruction at that address. If it indicates any context changes, whether via `globalset` or fall-through, the affected addresses are considered for re-disassembly as well. If no instruction exists at the address, or an off-cut instruction exists at the address, the address is dropped, but the outgoing context is recorded. If one does exist, but its context is already the same, the address is dropped. Otherwise, it is queued up and the process repeats.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `protected class`
  `ReDisassembler.ReDisassemblerContext`
  `protected class`
  `ReDisassembler.ReDisBlock`
  `protected class`
  `ReDisassembler.ReDisState`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final AddressFactory`
  `addrFactory`
  `protected final Register`
  `ctxRegister`
  `protected final Language`
  `language`
  `protected final ParallelInstructionLanguageHelper`
  `parallelHelper`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ReDisassembler(Program program)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AddressSetView`
  `disasemble(Address seed, TaskMonitor monitor)`

  ### Methods inherited from class java.lang.Object

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

- ## Field Details

  - ### language

    protected final Language language

  - ### addrFactory

    protected final AddressFactory addrFactory

  - ### ctxRegister

    protected final Register ctxRegister

  - ### parallelHelper

    protected final ParallelInstructionLanguageHelper parallelHelper

- ## Constructor Details

  - ### ReDisassembler

    public ReDisassembler(Program program)

- ## Method Details

  - ### disasemble

    public AddressSetView disasemble(Address seed, TaskMonitor monitor) throws CancelledException
    Throws:
      `CancelledException`