Package ghidra.app.merge.datatypes
Class DataTypeMergeManager
java.lang.Object
ghidra.app.merge.datatypes.DataTypeMergeManager
- All Implemented Interfaces:
MergeResolver
Manager for merging category and data type changes
-
Constructor Summary
ConstructorsConstructorDescriptionDataTypeMergeManager(DomainObjectMergeManager mergeManager, DataTypeManagerDomainObject resultDomainObject, DataTypeManagerDomainObject myDomainObject, DataTypeManagerDomainObject originalDomainObject, DataTypeManagerDomainObject latestDomainObject, DataTypeChangeSet latestChanges, DataTypeChangeSet myChanges) Manager for merging the data types using the four programs. -
Method Summary
Modifier and TypeMethodDescriptionvoidapply()Notification that the apply button was hit.voidcancel()Notification that the merge process was canceled.Get the description of what this MergeResolver does.getName()Get the name of this MergeResolver.String[][]Gets identifiers for the merge phases handled by this MergeResolver.voidmerge(TaskMonitor monitor) Merge the data types using the four programs.
-
Constructor Details
-
DataTypeMergeManager
public DataTypeMergeManager(DomainObjectMergeManager mergeManager, DataTypeManagerDomainObject resultDomainObject, DataTypeManagerDomainObject myDomainObject, DataTypeManagerDomainObject originalDomainObject, DataTypeManagerDomainObject latestDomainObject, DataTypeChangeSet latestChanges, DataTypeChangeSet myChanges) Manager for merging the data types using the four programs.- Parameters:
mergeManager- overall merge manager for domain objectresultDomainObject- the program to be updated with the result of the merge. This is the program that will actually get checked in.myDomainObject- the program requesting to be checked in.originalDomainObject- the program that was checked out.latestDomainObject- the latest checked-in version of the program.latestChanges- the address set of changes between original and latest versioned program.myChanges- the address set of changes between original and my modified program.
-
-
Method Details
-
apply
public void apply()Description copied from interface:MergeResolverNotification that the apply button was hit.- Specified by:
applyin interfaceMergeResolver
-
cancel
public void cancel()Description copied from interface:MergeResolverNotification that the merge process was canceled.- Specified by:
cancelin interfaceMergeResolver
-
getDescription
Description copied from interface:MergeResolverGet the description of what this MergeResolver does.- Specified by:
getDescriptionin interfaceMergeResolver
-
getName
Description copied from interface:MergeResolverGet the name of this MergeResolver.- Specified by:
getNamein interfaceMergeResolver
-
merge
Merge the data types using the four programs.- Specified by:
mergein interfaceMergeResolver- Parameters:
monitor- merge task monitor- See Also:
-
getPhases
Description copied from interface:MergeResolverGets identifiers for the merge phases handled by this MergeResolver. If the merge has no sub-phases then return an array with a single string array. Each inner String array indicates a path for a single merge phase. Each outer array element represents a phase whose progress we wish to indicate.
Examples:
So for a simple phase which has no sub-phases returnnew String[][] {new String[] {"Phase A"}}
So for a phase with 2 sub-phases returnnew String[][] { new String[] {"Phase A"}, new String[] {"Phase A", "Sub-Phase 1}, new String[] {"Phase A", "Sub-Phase 2} }.- Specified by:
getPhasesin interfaceMergeResolver- Returns:
- an array of phases.
-