本文整理汇总了Java中com.intellij.openapi.diff.ex.DiffFragment.isEmpty方法的典型用法代码示例。如果您正苦于以下问题:Java DiffFragment.isEmpty方法的具体用法?Java DiffFragment.isEmpty怎么用?Java DiffFragment.isEmpty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.openapi.diff.ex.DiffFragment
的用法示例。
在下文中一共展示了DiffFragment.isEmpty方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: buildFragments
import com.intellij.openapi.diff.ex.DiffFragment; //导入方法依赖的package包/类
@NotNull
@Override
public DiffFragment[] buildFragments(@NotNull DiffString text1, @NotNull DiffString text2) throws FilesTooBigForDiffException {
Word[] words1 = buildWords(text1, myComparisonPolicy);
Word[] words2 = buildWords(text2, myComparisonPolicy);
Diff.Change change = Diff.buildChanges(words1, words2);
change = Util.concatEquals(change, words1, words2);
if (Math.max(countNotWhitespaces(words1), countNotWhitespaces(words2)) > 0 && countEqual(change, words1, words2) == 0)
return new DiffFragment[]{myComparisonPolicy.createFragment(text1, text2)};
FragmentBuilder result = new FragmentBuilder(words1, words2, myComparisonPolicy, text1, text2);
FragmentBuilder.Version version1 = result.getVersion1();
FragmentBuilder.Version version2 = result.getVersion2();
while (change != null) {
if (change.line0 > version1.getCurrentWordIndex()) {
processEquals(change.line0, change.line1, result);
}
if (change.inserted == 0) {
processOneside(version1, change.deleted);
} else if (change.deleted == 0) {
processOneside(version2, change.inserted);
} else {
DiffString prefix1 = version1.getCurrentWordPrefix();
DiffString prefix2 = version2.getCurrentWordPrefix();
if (!prefix1.isEmpty() || !prefix2.isEmpty())
result.add(myComparisonPolicy.createFragment(prefix1, prefix2));
result.addChangedWords(change.deleted, change.inserted);
}
change = change.link;
}
processEquals(words1.length, words2.length, result);
result.addTails();
DiffFragment[] fragments = result.getFragments();
DiffFragment firstFragment = fragments[0];
if (firstFragment.isEmpty()) {
DiffFragment[] newFragments = new DiffFragment[fragments.length - 1];
System.arraycopy(fragments, 1, newFragments, 0, newFragments.length);
fragments = newFragments;
}
return fragments;
}