From c51ac96762076a23403e8efd69c6beb6a32fc6dd Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 26 Nov 2009 14:53:00 +0300 Subject: [PATCH] typo (IDEADEV-41471) --- .../RenameInPlaceQualifyFieldReference.java | 6 +++ .../RenameInPlaceQualifyFieldReference_after.java | 6 +++ .../com/intellij/refactoring/RenameLocalTest.java | 44 +++++++++++++++++++++- .../rename/inplace/VariableInplaceRenamer.java | 2 +- resources/src/META-INF/IdeaPlugin.xml | 2 +- 5 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 java/java-tests/testData/refactoring/renameLocal/RenameInPlaceQualifyFieldReference.java create mode 100644 java/java-tests/testData/refactoring/renameLocal/RenameInPlaceQualifyFieldReference_after.java diff --git a/java/java-tests/testData/refactoring/renameLocal/RenameInPlaceQualifyFieldReference.java b/java/java-tests/testData/refactoring/renameLocal/RenameInPlaceQualifyFieldReference.java new file mode 100644 index 0000000000..f6268b3231 --- /dev/null +++ b/java/java-tests/testData/refactoring/renameLocal/RenameInPlaceQualifyFieldReference.java @@ -0,0 +1,6 @@ +class Test { + int myI; + void foo(int i){ + myI = i; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/renameLocal/RenameInPlaceQualifyFieldReference_after.java b/java/java-tests/testData/refactoring/renameLocal/RenameInPlaceQualifyFieldReference_after.java new file mode 100644 index 0000000000..8afd91e9d4 --- /dev/null +++ b/java/java-tests/testData/refactoring/renameLocal/RenameInPlaceQualifyFieldReference_after.java @@ -0,0 +1,6 @@ +class Test { + int myI; + void foo(int i){ + this.myI = i; + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/refactoring/RenameLocalTest.java b/java/java-tests/testSrc/com/intellij/refactoring/RenameLocalTest.java index eae34289f0..250940681e 100644 --- a/java/java-tests/testSrc/com/intellij/refactoring/RenameLocalTest.java +++ b/java/java-tests/testSrc/com/intellij/refactoring/RenameLocalTest.java @@ -1,10 +1,19 @@ package com.intellij.refactoring; +import com.intellij.JavaTestUtil; import com.intellij.codeInsight.TargetElementUtilBase; +import com.intellij.codeInsight.lookup.LookupManager; +import com.intellij.codeInsight.lookup.impl.TestLookupManager; +import com.intellij.codeInsight.template.TemplateManager; +import com.intellij.codeInsight.template.impl.TemplateManagerImpl; import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiMethod; +import com.intellij.psi.PsiNameIdentifierOwner; +import com.intellij.psi.util.PsiTreeUtil; import com.intellij.refactoring.rename.RenameProcessor; +import com.intellij.refactoring.rename.inplace.ResolveSnapshotProvider; +import com.intellij.refactoring.rename.inplace.VariableInplaceRenamer; import com.intellij.testFramework.LightCodeInsightTestCase; -import com.intellij.JavaTestUtil; /** * @author ven @@ -37,4 +46,37 @@ public class RenameLocalTest extends LightCodeInsightTestCase { new RenameProcessor(getProject(), element, newName, true, true).run(); checkResultByFile(BASE_PATH + getTestName(false) + "_after.java"); } + + public void testRenameInPlaceQualifyFieldReference() throws Exception { + doTestInplaceRenameCollisionsResolved("myI"); + } + + //reference itself won't be renamed + private void doTestInplaceRenameCollisionsResolved(String newName) throws Exception { + configureByFile(BASE_PATH + "/" + getTestName(false) + ".java"); + PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.ELEMENT_NAME_ACCEPTED); + assertNotNull(element); + final PsiMethod methodScope = PsiTreeUtil.getParentOfType(element, PsiMethod.class); + assertNotNull(methodScope); + + ResolveSnapshotProvider resolveSnapshotProvider = VariableInplaceRenamer.INSTANCE.forLanguage(getFile().getLanguage()); + assertNotNull(resolveSnapshotProvider); + final ResolveSnapshotProvider.ResolveSnapshot snapshot = resolveSnapshotProvider.createSnapshot(methodScope); + assertNotNull(snapshot); + + VariableInplaceRenamer renamer = new VariableInplaceRenamer((PsiNameIdentifierOwner)element, getEditor()); + ((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(true); + try { + renamer.performInplaceRename(); + } + finally { + renamer.finish(); + snapshot.apply(newName); + + TemplateManagerImpl.getTemplateState(myEditor).gotoEnd(); + ((TestLookupManager)LookupManager.getInstance(getProject())).clearLookup(); + ((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(false); + } + checkResultByFile(BASE_PATH + getTestName(false) + "_after.java"); + } } diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java index 6bda9f016e..7e4a0e219d 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java @@ -66,7 +66,7 @@ import java.util.Map; */ public class VariableInplaceRenamer { private static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.rename.inplace.VariableInplaceRenamer"); - private static final LanguageExtension INSTANCE = new LanguageExtension( + public static final LanguageExtension INSTANCE = new LanguageExtension( "com.intellij.rename.inplace.resolveSnapshotProvider" ); diff --git a/resources/src/META-INF/IdeaPlugin.xml b/resources/src/META-INF/IdeaPlugin.xml index faa30377fd..0fa1b38604 100644 --- a/resources/src/META-INF/IdeaPlugin.xml +++ b/resources/src/META-INF/IdeaPlugin.xml @@ -987,7 +987,7 @@ -- 2.11.4.GIT