From 1bb3ff8c00affe613ef336cbbfba023ae2a20620 Mon Sep 17 00:00:00 2001 From: Eugene Vigdorchik Date: Thu, 24 Mar 2005 20:50:48 +0300 Subject: [PATCH] Tests --- openapi/src/com/intellij/psi/PsiImportList.java | 1 + .../codeInsight/actions/OptimizeImportsProcessor.java | 5 +---- source/com/intellij/psi/impl/source/PsiImportListImpl.java | 4 ++++ .../com/intellij/psi/impl/source/codeStyle/ImportHelper.java | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/openapi/src/com/intellij/psi/PsiImportList.java b/openapi/src/com/intellij/psi/PsiImportList.java index 40d7b4cb6206..3e3301dd26b9 100644 --- a/openapi/src/com/intellij/psi/PsiImportList.java +++ b/openapi/src/com/intellij/psi/PsiImportList.java @@ -14,4 +14,5 @@ public interface PsiImportList extends PsiElement { PsiImportStatement findSingleClassImportStatement(String qName); PsiImportStatement findOnDemandImportStatement(String packageName); PsiImportStatementBase findSingleImportStatement(String name); + boolean isReplaceEquivalent(PsiImportList otherList); } diff --git a/source/com/intellij/codeInsight/actions/OptimizeImportsProcessor.java b/source/com/intellij/codeInsight/actions/OptimizeImportsProcessor.java index 3c15fb766f23..557dba716a23 100644 --- a/source/com/intellij/codeInsight/actions/OptimizeImportsProcessor.java +++ b/source/com/intellij/codeInsight/actions/OptimizeImportsProcessor.java @@ -44,10 +44,7 @@ public class OptimizeImportsProcessor extends AbstractLayoutCodeProcessor { public void run() { try { if (newImportList != null) { - PsiImportList oldImportList = ((PsiJavaFile)file).getImportList(); - if (!oldImportList.getText().equals(newImportList.getText())) { - oldImportList.replace(newImportList); - } + ((PsiJavaFile)file).getImportList().replace(newImportList); } } catch (IncorrectOperationException e) { diff --git a/source/com/intellij/psi/impl/source/PsiImportListImpl.java b/source/com/intellij/psi/impl/source/PsiImportListImpl.java index bad87787d2a5..312d18c9e194 100644 --- a/source/com/intellij/psi/impl/source/PsiImportListImpl.java +++ b/source/com/intellij/psi/impl/source/PsiImportListImpl.java @@ -182,6 +182,10 @@ public class PsiImportListImpl extends SlaveRepositoryPsiElement implements PsiI return (PsiImportStatementBase)myNameToSingleImportMap.get(name); } + public boolean isReplaceEquivalent(PsiImportList otherList) { + return getText().equals(otherList.getText()); + } + private void initializeMaps() { if (myClassNameToImportMap == null) { myClassNameToImportMap = new HashMap(); diff --git a/source/com/intellij/psi/impl/source/codeStyle/ImportHelper.java b/source/com/intellij/psi/impl/source/codeStyle/ImportHelper.java index 325c18ae00fa..db6e29020ff4 100644 --- a/source/com/intellij/psi/impl/source/codeStyle/ImportHelper.java +++ b/source/com/intellij/psi/impl/source/codeStyle/ImportHelper.java @@ -115,7 +115,7 @@ public class ImportHelper{ PsiImportList resultList = dummyFile.getImportList(); PsiImportList oldList = file.getImportList(); - if (resultList.getText().equals(oldList.getText())) return null; + if (oldList.isReplaceEquivalent(resultList)) return null; return resultList; } catch(IncorrectOperationException e) {