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


Java MoveClassesOrPackagesUtil类代码示例

本文整理汇总了Java中com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesUtil的典型用法代码示例。如果您正苦于以下问题:Java MoveClassesOrPackagesUtil类的具体用法?Java MoveClassesOrPackagesUtil怎么用?Java MoveClassesOrPackagesUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MoveClassesOrPackagesUtil类属于com.intellij.refactoring.move.moveClassesOrPackages包,在下文中一共展示了MoveClassesOrPackagesUtil类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: chooseDirectoryAndMove

import com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesUtil; //导入依赖的package包/类
private void chooseDirectoryAndMove(Project project, PsiFile myFile) {
  try {
    PsiDirectory directory = MoveClassesOrPackagesUtil.chooseDestinationPackage(project, myTargetPackage, myFile.getContainingDirectory());

    if (directory == null) {
      return;
    }
    String error = RefactoringMessageUtil.checkCanCreateFile(directory, myFile.getName());
    if (error != null) {
      Messages.showMessageDialog(project, error, CommonBundle.getErrorTitle(), Messages.getErrorIcon());
      return;
    }
    new MoveClassesOrPackagesProcessor(
            project,
            ((PsiJavaFile) myFile).getClasses(),
            new SingleSourceRootMoveDestination(PackageWrapper.create(JavaDirectoryService.getInstance().getPackage(directory)), directory), false,
            false,
            null).run();
  }
  catch (IncorrectOperationException e) {
    LOG.error(e);
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:24,代码来源:MoveToPackageFix.java

示例2: findUsages

import com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesUtil; //导入依赖的package包/类
@NotNull
protected UsageInfo[] findUsages() {
  LOG.assertTrue(myTargetContainer != null);

  Collection<PsiReference> innerClassRefs = ReferencesSearch.search(myInnerClass).findAll();
  ArrayList<UsageInfo> usageInfos = new ArrayList<UsageInfo>(innerClassRefs.size());
  for (PsiReference innerClassRef : innerClassRefs) {
    PsiElement ref = innerClassRef.getElement();
    if (!PsiTreeUtil.isAncestor(myInnerClass, ref, true)) { // do not show self-references
      usageInfos.add(new UsageInfo(ref));
    }
  }

  final String newQName;
  if (myTargetContainer instanceof PsiDirectory) {
    final PsiDirectory targetDirectory = (PsiDirectory)myTargetContainer;
    final PsiPackage aPackage = JavaDirectoryService.getInstance().getPackage(targetDirectory);
    LOG.assertTrue(aPackage != null);
    newQName = aPackage.getQualifiedName() + "." + myNewClassName;
  }
  else if (myTargetContainer instanceof PsiClass) {
    final String qName = ((PsiClass)myTargetContainer).getQualifiedName();
    if (qName != null) {
      newQName = qName + "." + myNewClassName;
    }
    else {
      newQName = myNewClassName;
    }
  }
  else {
    newQName = myNewClassName;
  }
  MoveClassesOrPackagesUtil.findNonCodeUsages(mySearchInComments, mySearchInNonJavaFiles,
                                              myInnerClass, newQName, usageInfos);
  return usageInfos.toArray(new UsageInfo[usageInfos.size()]);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:37,代码来源:MoveInnerProcessor.java

示例3: prepareMovedFile

import com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesUtil; //导入依赖的package包/类
@Override
public void prepareMovedFile(PsiFile file, PsiDirectory moveDestination, Map<PsiElement, PsiElement> oldToNewMap) {
  final GroovyFile groovyFile = (GroovyFile)file;
  GroovyChangeContextUtil.encodeContextInfo(groovyFile);
  for (PsiClass psiClass : groovyFile.getClasses()) {
    oldToNewMap.put(psiClass, MoveClassesOrPackagesUtil.doMoveClass(psiClass, moveDestination));
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:9,代码来源:MoveGroovyFileHandler.java

示例4: findUsages

import com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesUtil; //导入依赖的package包/类
@Override
public List<UsageInfo> findUsages(PsiFile psiFile, PsiDirectory newParent, boolean searchInComments, boolean searchInNonJavaFiles) {
  final List<UsageInfo> result = new ArrayList<UsageInfo>();
  final PsiPackage newParentPackage = JavaDirectoryService.getInstance().getPackage(newParent);
  final String qualifiedName = newParentPackage == null ? "" : newParentPackage.getQualifiedName();
  for (PsiClass aClass : ((GroovyFile)psiFile).getClasses()) {
    Collections.addAll(result, MoveClassesOrPackagesUtil
      .findUsages(aClass, searchInComments, searchInNonJavaFiles, StringUtil.getQualifiedName(qualifiedName, aClass.getName())));
  }
  return result.isEmpty() ? null : result;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:12,代码来源:MoveGroovyFileHandler.java

示例5: findUsages

import com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesUtil; //导入依赖的package包/类
@Override
@NotNull
protected UsageInfo[] findUsages() {
  List<UsageInfo> usageInfos = Arrays.asList(MoveClassesOrPackagesUtil.findUsages(myClass, false, false, null));
  final List<UsageInfo> usages = new ArrayList<UsageInfo>();
  PsiReference reference;
  PsiClass psiClass;

  for (int i = 0; i < usageInfos.size(); i++) {
    reference = usageInfos.get(i).getReference();
    if (reference != null) {
      psiClass = PsiTreeUtil.getParentOfType((PsiElement)reference, PsiClass.class);
      if (psiClass != null) {
        usages.add(new UsageInfo(psiClass));
      }
    }
  }

 /* final PsiMethod interfaceMethod = LambdaUtil.getFunctionalInterfaceMethod(myClass);
  if (interfaceMethod != null && isMoved(interfaceMethod)) {
    FunctionalExpressionSearch.search(myClass).forEach(new Processor<PsiFunctionalExpression>() {
      @Override
      public boolean process(PsiFunctionalExpression expression) {
        usages.add(new UsageInfo(expression));
        return true;
      }
    });
  }*/

  return usages.toArray(new UsageInfo[usages.size()]);
}
 
开发者ID:HaxeFoundation,项目名称:intellij-haxe,代码行数:32,代码来源:PushDownProcessor.java


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