Class CopyMethodMappingChange
- All Implemented Interfaces:
MappingsChange
,MergeableMappingsChange<CopyMethodMappingChange>
MappingsChange
which copies a method mapping.-
Method Summary
Modifier and TypeMethodDescriptionvoid
applyChange
(@NotNull MappingSet input, @NotNull MemberReference target) Same asAbstractMappingsChange.applyChange(MappingSet)
but it also includes this change'sAbstractMappingsChange.target()
.Mergethis
withthat
, returning a new instance ofthis
which applies the combination of both of the given changes.Returns theMethodMapping
to copy.static @NotNull CopyMethodMappingChange
of
(@NotNull MemberReference target, @NotNull MethodMapping mapping) Create a new instance ofCopyMethodMappingChange
.toString()
Methods inherited from class dev.denwav.hypo.mappings.changes.AbstractMappingsChange
applyChange, equals, hashCode, target
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface dev.denwav.hypo.mappings.MappingsChange
applyChange, target
-
Method Details
-
of
@Contract(value="_, _ -> new", pure=true) @NotNull public static @NotNull CopyMethodMappingChange of(@NotNull @NotNull MemberReference target, @NotNull @NotNull MethodMapping mapping) Create a new instance ofCopyMethodMappingChange
.- Parameters:
target
- TheMemberReference
this change targets.mapping
- TheMethodMapping
to copy the mapping to.- Returns:
- A new instance of
CopyMethodMappingChange
.
-
methodMapping
Returns theMethodMapping
to copy.- Returns:
- The
MethodMapping
to copy.
-
applyChange
public void applyChange(@NotNull @NotNull MappingSet input, @NotNull @NotNull MemberReference target) Description copied from class:AbstractMappingsChange
Same asAbstractMappingsChange.applyChange(MappingSet)
but it also includes this change'sAbstractMappingsChange.target()
.- Specified by:
applyChange
in classAbstractMappingsChange
- Parameters:
input
- The mapping set to change.target
- The member this change targets.
-
mergeWith
@NotNull public @NotNull MergeResult<CopyMethodMappingChange> mergeWith(@NotNull @NotNull CopyMethodMappingChange that) Description copied from interface:MergeableMappingsChange
Mergethis
withthat
, returning a new instance ofthis
which applies the combination of both of the given changes. If the 2 changes cannot be merged such that both changes are completely satisfied without issues, then this method will return afailed merge result
. If this method returns asuccessful merge result
it will be considered successful.For an example of a change which is compatible, imagine if
this
andthat
both request a mapping change with a new deobfuscated name, where both changes are requesting the same deobfuscated name. These changes would be compatible with each other as they are requesting the same change.For another example, imagine if
this
andthat
both request changes to a method mapping, but each change is requesting a change to a different method parameter index. These changes are compatible because they have different targets (different method parameters) but the returned mappings change much apply both sets of changes to be considered properly merged.For an example of an unmergeable case, if the 2 changes target the same member but have different deobfuscated names there is no way to successfully handle both cases, so the merge should fail.
- Specified by:
mergeWith
in interfaceMergeableMappingsChange<CopyMethodMappingChange>
- Parameters:
that
- The change, which must be the same type asthis
, to merge.- Returns:
- The new mappings change, which must be the same type as
this
, which applies the combination of changes from both mappings changes.
-
toString
-