Package ghidra.app.decompiler.component

# Class DecompilerManager

java.lang.Object
ghidra.app.decompiler.component.DecompilerManager

public class DecompilerManager extends Object
Manages the threading involved with dealing with the decompiler. It uses a simpler approach than previous versions. Currently, there is only one Runnable ever scheduled to the RunManager. If a new Decompile request comes in while a decompile is in progress, the new request is first checked to see if it going to result in the same function being decompile. If so, then the location is updated and the current decompile is allowed to continue. If the new request is a new function or the "forceDecompile" option is on, then the current decompile is stopped and a new one is scheduled. A SwingUpdateManger is used to prevent lots of decompile requests from coming to quickly.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DecompilerManager(DecompilerController decompilerController, DecompileOptions options)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `cancelAll()`
  `void`
  `dispose()`
  `boolean`
  `isBusy()`
  `void`
  `resetDecompiler()`
  Resets the native decompiler process.

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

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

- ## Constructor Details

  - ### DecompilerManager

    public DecompilerManager(DecompilerController decompilerController, DecompileOptions options)

- ## Method Details

  - ### resetDecompiler

    public void resetDecompiler()
    Resets the native decompiler process. Call this method when the decompiler's view of a program has been invalidated, such as when a new overlay space has been added.

  - ### isBusy

    public boolean isBusy()

  - ### cancelAll

    public void cancelAll()

  - ### dispose

    public void dispose()