Package ghidra.app.decompiler.parallel
Class ParallelDecompiler
- java.lang.Object
-
- ghidra.app.decompiler.parallel.ParallelDecompiler
-
public class ParallelDecompiler extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <R> ChunkingParallelDecompiler<R>
createChunkingParallelDecopmiler(QCallback<Function,R> callback, TaskMonitor monitor)
Creates an object that can be used to perform decompilation of a limited number of functions at a time, as opposed to working over an entire range of functions at once.static <R> java.util.List<R>
decompileFunctions(QCallback<Function,R> callback, Program program, AddressSetView addresses, TaskMonitor monitor)
Decompile the given functions using multiple decompilersstatic <R> java.util.List<R>
decompileFunctions(QCallback<Function,R> callback, Program program, java.util.Collection<Function> functions, TaskMonitor monitor)
Decompile the given functions using multiple decompilers
-
-
-
Method Detail
-
decompileFunctions
public static <R> java.util.List<R> decompileFunctions(QCallback<Function,R> callback, Program program, AddressSetView addresses, TaskMonitor monitor) throws java.lang.InterruptedException, java.lang.Exception
Decompile the given functions using multiple decompilers- Parameters:
callback
- the callback to be called for each that is processedprogram
- the programaddresses
- the addresses restricting which functions to decompilemonitor
- the task monitor- Returns:
- the list of client results
- Throws:
java.lang.InterruptedException
- if interruptedjava.lang.Exception
- if any other exception occurs
-
decompileFunctions
public static <R> java.util.List<R> decompileFunctions(QCallback<Function,R> callback, Program program, java.util.Collection<Function> functions, TaskMonitor monitor) throws java.lang.InterruptedException, java.lang.Exception
Decompile the given functions using multiple decompilers- Parameters:
callback
- the callback to be called for each that is processedprogram
- the programfunctions
- the functions to decompilemonitor
- the task monitor- Returns:
- the list of client results
- Throws:
java.lang.InterruptedException
- if interruptedjava.lang.Exception
- if any other exception occurs
-
createChunkingParallelDecopmiler
public static <R> ChunkingParallelDecompiler<R> createChunkingParallelDecopmiler(QCallback<Function,R> callback, TaskMonitor monitor)
Creates an object that can be used to perform decompilation of a limited number of functions at a time, as opposed to working over an entire range of functions at once.decompileFunctions(QCallback, Program, AddressSetView, TaskMonitor)
will create and tear down concurrent data structures on each use, making repeated calls less efficient. You would use this method when you wish to perform periodic work as results are returned and when using the callback mechanism is not sufficient such as when ordering of results is required.- Parameters:
callback
- the callback required to perform work.monitor
- the monitor used to report progress and to cancel- Returns:
- the parallel decompiler used for decompiling.
-
-