| package com.intellij.openapi.diff.impl.incrementalMerge; |
| |
| import com.intellij.openapi.diagnostic.Logger; |
| import com.intellij.openapi.diff.impl.highlighting.FragmentSide; |
| import com.intellij.openapi.util.TextRange; |
| import org.jetbrains.annotations.NotNull; |
| |
| public class NoConflictChange extends TwoSideChange.SideChange<MergeNoConflict> { |
| private static final Logger LOG = Logger.getInstance(NoConflictChange.class); |
| |
| private boolean myApplied; |
| |
| public NoConflictChange(@NotNull MergeNoConflict twoSideChange, |
| @NotNull FragmentSide mergeSide, |
| @NotNull TextRange baseRange, |
| @NotNull TextRange versionRange, |
| @NotNull ChangeList changeList) { |
| super(twoSideChange, changeList, ChangeType.fromRanges(baseRange, versionRange), mergeSide, versionRange); |
| } |
| |
| @Override |
| public void onApplied() { |
| markApplied(); |
| |
| NoConflictChange otherChange = myTwoSideChange.getOtherChange(this); |
| LOG.assertTrue(otherChange != null, String.format("Other change is null. This change: %s Merge conflict: %s", this, myTwoSideChange)); |
| otherChange.markApplied(); |
| } |
| |
| @Override |
| protected void markApplied() { |
| if (!myApplied) { |
| myApplied = true; |
| super.markApplied(); |
| } |
| } |
| } |