本文整理汇总了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);
}
}
示例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()]);
}
示例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));
}
}
示例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;
}
示例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()]);
}