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


Java MoveRenameUsageInfo.getReference方法代码示例

本文整理汇总了Java中com.intellij.refactoring.util.MoveRenameUsageInfo.getReference方法的典型用法代码示例。如果您正苦于以下问题:Java MoveRenameUsageInfo.getReference方法的具体用法?Java MoveRenameUsageInfo.getReference怎么用?Java MoveRenameUsageInfo.getReference使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.intellij.refactoring.util.MoveRenameUsageInfo的用法示例。


在下文中一共展示了MoveRenameUsageInfo.getReference方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: retargetUsages

import com.intellij.refactoring.util.MoveRenameUsageInfo; //导入方法依赖的package包/类
@Override
public void retargetUsages(List<UsageInfo> usageInfos, Map<PsiElement, PsiElement> oldToNewMap) {
  for (UsageInfo usage : usageInfos) {
    if (usage instanceof MoveRenameUsageInfo) {
      final MoveRenameUsageInfo moveRenameUsage = (MoveRenameUsageInfo)usage;
      final PsiElement oldElement = moveRenameUsage.getReferencedElement();
      final PsiElement newElement = oldToNewMap.get(oldElement);
      final PsiReference reference = moveRenameUsage.getReference();
      if (reference != null) {
        try {
          LOG.assertTrue(newElement != null, oldElement != null ? oldElement : reference);
          reference.bindToElement(newElement);
        } catch (IncorrectOperationException ex) {
          LOG.error(ex);
        }
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:MoveJavaFileHandler.java

示例2: retargetUsages

import com.intellij.refactoring.util.MoveRenameUsageInfo; //导入方法依赖的package包/类
@Override
public void retargetUsages(List<UsageInfo> usageInfos, Map<PsiElement, PsiElement> oldToNewMap) {
  for (UsageInfo usage : usageInfos) {
    if (usage instanceof MoveRenameUsageInfo) {
      final MoveRenameUsageInfo moveRenameUsage = (MoveRenameUsageInfo)usage;
      final PsiElement oldElement = moveRenameUsage.getReferencedElement();
      final PsiElement newElement = oldToNewMap.get(oldElement);
      final PsiReference reference = moveRenameUsage.getReference();
      if (reference != null) {
        try {
          LOG.assertTrue(newElement != null, oldElement != null ? oldElement : reference);
          reference.bindToElement(newElement);
        }
        catch (IncorrectOperationException ex) {
          LOG.error(ex);
        }
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:21,代码来源:MoveGroovyFileHandler.java

示例3: retargetUsages

import com.intellij.refactoring.util.MoveRenameUsageInfo; //导入方法依赖的package包/类
public static NonCodeUsageInfo[] retargetUsages(final UsageInfo[] usages, final Map<PsiElement, PsiElement> oldToNewElementsMapping)
  throws IncorrectOperationException {
  Arrays.sort(usages, new Comparator<UsageInfo>() {
    @Override
    public int compare(UsageInfo o1, UsageInfo o2) {
      final VirtualFile file1 = o1.getVirtualFile();
      final VirtualFile file2 = o2.getVirtualFile();
      if (Comparing.equal(file1, file2)) {
        final ProperTextRange rangeInElement1 = o1.getRangeInElement();
        final ProperTextRange rangeInElement2 = o2.getRangeInElement();
        if (rangeInElement1 != null && rangeInElement2 != null) {
          return rangeInElement2.getStartOffset() - rangeInElement1.getStartOffset();
        }
        return 0;
      }
      if (file1 == null) return -1;
      if (file2 == null) return 1;
      return Comparing.compare(file1.getPath(), file2.getPath());
    }
  });
  List<NonCodeUsageInfo> nonCodeUsages = new ArrayList<NonCodeUsageInfo>();
  for (UsageInfo usage : usages) {
    if (usage instanceof NonCodeUsageInfo) {
      nonCodeUsages.add((NonCodeUsageInfo)usage);
    }
    else if (usage instanceof MoveRenameUsageInfo) {
      final MoveRenameUsageInfo moveRenameUsage = (MoveRenameUsageInfo)usage;
      final PsiElement oldElement = moveRenameUsage.getReferencedElement();
      final PsiElement newElement = oldToNewElementsMapping.get(oldElement);
      LOG.assertTrue(newElement != null, oldElement);
      final PsiReference reference = moveRenameUsage.getReference();
      if (reference != null) {
        try {
          reference.bindToElement(newElement);
        }
        catch (IncorrectOperationException e) {//
        }
      }
    }
  }
  return nonCodeUsages.toArray(new NonCodeUsageInfo[nonCodeUsages.size()]);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:43,代码来源:CommonMoveUtil.java

示例4: retargetUsages

import com.intellij.refactoring.util.MoveRenameUsageInfo; //导入方法依赖的package包/类
public static NonCodeUsageInfo[] retargetUsages(final UsageInfo[] usages, final Map<PsiElement, PsiElement> oldToNewElementsMapping)
  throws IncorrectOperationException {
  Arrays.sort(usages, new Comparator<UsageInfo>() {
    @Override
    public int compare(UsageInfo o1, UsageInfo o2) {
      final VirtualFile file1 = o1.getVirtualFile();
      final VirtualFile file2 = o2.getVirtualFile();
      if (Comparing.equal(file1, file2)) {
        final ProperTextRange rangeInElement1 = o1.getRangeInElement();
        final ProperTextRange rangeInElement2 = o2.getRangeInElement();
        if (rangeInElement1 != null && rangeInElement2 != null) {
          return rangeInElement2.getStartOffset() - rangeInElement1.getStartOffset();
        }
        return 0;
      }
      if (file1 == null) return -1;
      if (file2 == null) return 1;
      return Comparing.compare(file1.getPath(), file2.getPath());
    }
  });
  List<NonCodeUsageInfo> nonCodeUsages = new ArrayList<NonCodeUsageInfo>();
  for (UsageInfo usage : usages) {
    if (usage instanceof NonCodeUsageInfo) {
      nonCodeUsages.add((NonCodeUsageInfo)usage);
    }
    else if (usage instanceof MoveRenameUsageInfo) {
      final MoveRenameUsageInfo moveRenameUsage = (MoveRenameUsageInfo)usage;
      final PsiElement oldElement = moveRenameUsage.getReferencedElement();
      final PsiElement newElement = oldToNewElementsMapping.get(oldElement);
      LOG.assertTrue(newElement != null);
      final PsiReference reference = moveRenameUsage.getReference();
      if (reference != null) {
        try {
          reference.bindToElement(newElement);
        }
        catch (IncorrectOperationException e) {//
        }
      }
    }
  }
  return nonCodeUsages.toArray(new NonCodeUsageInfo[nonCodeUsages.size()]);
}
 
开发者ID:consulo,项目名称:consulo,代码行数:43,代码来源:CommonMoveUtil.java


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