diff options
Diffstat (limited to 'java/java-impl/src/com/intellij/refactoring/typeMigration/TypeMigrationProcessor.java')
-rw-r--r-- | java/java-impl/src/com/intellij/refactoring/typeMigration/TypeMigrationProcessor.java | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/java/java-impl/src/com/intellij/refactoring/typeMigration/TypeMigrationProcessor.java b/java/java-impl/src/com/intellij/refactoring/typeMigration/TypeMigrationProcessor.java index 609a981b7bf4..2998ec6b0f07 100644 --- a/java/java-impl/src/com/intellij/refactoring/typeMigration/TypeMigrationProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/typeMigration/TypeMigrationProcessor.java @@ -88,28 +88,32 @@ public class TypeMigrationProcessor extends BaseRefactoringProcessor { final Editor editor, final TypeMigrationRules rules, final PsiElement root) { + final PsiFile containingFile = root.getContainingFile(); final TypeMigrationProcessor processor = new TypeMigrationProcessor(project, root, rules) { @Override public void performRefactoring(final UsageInfo[] usages) { super.performRefactoring(usages); - ApplicationManager.getApplication().invokeLater(new Runnable() { - public void run() { - final List<PsiElement> result = new ArrayList<PsiElement>(); - for (UsageInfo usage : usages) { - final PsiElement element = usage.getElement(); - if (element instanceof PsiMethod) { - result.add(((PsiMethod)element).getReturnTypeElement()); - } - else if (element instanceof PsiVariable) { - result.add(((PsiVariable)element).getTypeElement()); - } - else if (element != null) { - result.add(element); + if (editor != null) { + ApplicationManager.getApplication().invokeLater(new Runnable() { + public void run() { + final List<PsiElement> result = new ArrayList<PsiElement>(); + for (UsageInfo usage : usages) { + final PsiElement element = usage.getElement(); + if (element == null || containingFile != element.getContainingFile()) continue; + if (element instanceof PsiMethod) { + result.add(((PsiMethod)element).getReturnTypeElement()); + } + else if (element instanceof PsiVariable) { + result.add(((PsiVariable)element).getTypeElement()); + } + else { + result.add(element); + } } + RefactoringUtil.highlightAllOccurrences(project, PsiUtilCore.toPsiElementArray(result), editor); } - if (editor != null) RefactoringUtil.highlightAllOccurrences(project, PsiUtilCore.toPsiElementArray(result), editor); - } - }); + }); + } } }; processor.run(); |