当前位置: 首页>>代码示例>>Java>>正文


Java DiffFragment.isEmpty方法代码示例

本文整理汇总了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;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:41,代码来源:ByWord.java


注:本文中的com.intellij.openapi.diff.ex.DiffFragment.isEmpty方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。