Interface FunctionComparisonService
FunctionComparisonProvider
. Each side in the
display will allow the user to select one or more functions
Concurrent usage: All work performed by this service will be done on the Swing thread. Further, all calls that do not return a value will be run immediately if the caller is on the Swing thread; otherwise, the work will be done on the Swing thread at a later time. Contrastingly, any method on this interface that returns a value will be run immediately, regardless of whether the call is on the Swing thread. Thus, the methods that return a value will always be blocking calls; methods that do not return a value may or may not block, depending on the client's thread.
-
Method Summary
Modifier and TypeMethodDescriptionghidra.app.plugin.core.functioncompare.FunctionComparisonProvider
compareFunctions
(Function source, Function target) Creates a comparison between two functions, where the source function will be shown on the left side of the comparison dialog and the target on the right.void
compareFunctions
(Function source, Function target, ghidra.app.plugin.core.functioncompare.FunctionComparisonProvider provider) Creates a comparison between two functions and adds it to a given comparison provider.ghidra.app.plugin.core.functioncompare.FunctionComparisonProvider
compareFunctions
(Set<Function> functions) Creates a comparison between a set of functions, where each function in the list can be compared against any other.void
compareFunctions
(Set<Function> functions, ghidra.app.plugin.core.functioncompare.FunctionComparisonProvider provider) Creates a comparison between a set of functions, adding them to the given comparison provider.ghidra.app.plugin.core.functioncompare.FunctionComparisonProvider
compareFunctions
(Set<Function> sourceFunctions, Set<Function> destinationFunctions) Creates a comparison between two sets of functions, where all the functions in source list can be compared against all functions in the destination list.ghidra.app.plugin.core.functioncompare.FunctionComparisonProvider
Creates a comparison provider that allows comparisons between a functions.void
removeFunction
(Function function) Removes a given function from all comparisons across all comparison providersvoid
removeFunction
(Function function, ghidra.app.plugin.core.functioncompare.FunctionComparisonProvider provider) Removes a given function from all comparisons in the given comparison provider only
-
Method Details
-
createFunctionComparisonProvider
ghidra.app.plugin.core.functioncompare.FunctionComparisonProvider createFunctionComparisonProvider()Creates a comparison provider that allows comparisons between a functions.- Returns:
- the new comparison provider
-
compareFunctions
ghidra.app.plugin.core.functioncompare.FunctionComparisonProvider compareFunctions(Set<Function> functions) Creates a comparison between a set of functions, where each function in the list can be compared against any other.eg: Given a set of 3 functions (f1, f2, f3), the comparison dialog will allow the user to display either f1, f2 or f3 on EITHER side of the comparison.
Note that this method will always create a new provider; if you want to add functions to an existing comparison, use
this
variant that takes a provider.- Parameters:
functions
- the functions to compare- Returns:
- the new comparison provider
-
compareFunctions
ghidra.app.plugin.core.functioncompare.FunctionComparisonProvider compareFunctions(Set<Function> sourceFunctions, Set<Function> destinationFunctions) Creates a comparison between two sets of functions, where all the functions in source list can be compared against all functions in the destination list.Note that this method will always create a new provider.
- Parameters:
sourceFunctions
-destinationFunctions
-- Returns:
- the new comparison provider
-
compareFunctions
ghidra.app.plugin.core.functioncompare.FunctionComparisonProvider compareFunctions(Function source, Function target) Creates a comparison between two functions, where the source function will be shown on the left side of the comparison dialog and the target on the right.Note that this will always create a new provider; if you want to add functions to an existing comparison, use
this
variant that takes a provider.- Parameters:
source
- a function in the comparisontarget
- a function in the comparison- Returns:
- the new comparison provider
-
compareFunctions
void compareFunctions(Set<Function> functions, ghidra.app.plugin.core.functioncompare.FunctionComparisonProvider provider) Creates a comparison between a set of functions, adding them to the given comparison provider. Each function in the given set will be added to both sides of the comparison, allowing users to compare any functions in the existing provider with the new set.- Parameters:
functions
- the functions to compareprovider
- the provider to add the comparisons to- See Also:
-
compareFunctions
void compareFunctions(Function source, Function target, ghidra.app.plugin.core.functioncompare.FunctionComparisonProvider provider) Creates a comparison between two functions and adds it to a given comparison provider. The existing comparisons in the provider will not be affected, unless the provider already contains a comparison with the same source function; in this case the given target will be added to that comparisons' list of targets.- Parameters:
source
- a function in the comparisontarget
- a function in the comparisonprovider
- the provider to add the comparison to- See Also:
-
removeFunction
Removes a given function from all comparisons across all comparison providers- Parameters:
function
- the function to remove
-
removeFunction
void removeFunction(Function function, ghidra.app.plugin.core.functioncompare.FunctionComparisonProvider provider) Removes a given function from all comparisons in the given comparison provider only- Parameters:
function
- the function to removeprovider
- the comparison provider to remove functions from
-