diff --git a/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java b/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java index 7b68e338aa63..b29d02fad178 100644 --- a/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java @@ -791,7 +791,7 @@ public class InlineMethodProcessor extends BaseRefactoringProcessor { String[] names = myJavaCodeStyle.suggestVariableName(VariableKind.LOCAL_VARIABLE, null, null, thisType) .names; String thisVarName = names[0]; - thisVarName = myJavaCodeStyle.suggestUniqueVariableName(thisVarName, block.getFirstChild(), true); + thisVarName = myJavaCodeStyle.suggestUniqueVariableName(thisVarName, myMethod.getFirstChild(), true); PsiExpression initializer = myFactory.createExpressionFromText("null", null); PsiDeclarationStatement declaration = myFactory.createVariableDeclarationStatement(thisVarName, thisType, initializer); declaration = (PsiDeclarationStatement)block.addAfter(declaration, null); diff --git a/java/java-tests/testData/refactoring/inlineMethod/ThisNameConflict.java b/java/java-tests/testData/refactoring/inlineMethod/ThisNameConflict.java new file mode 100644 index 000000000000..262eae47d2a3 --- /dev/null +++ b/java/java-tests/testData/refactoring/inlineMethod/ThisNameConflict.java @@ -0,0 +1,11 @@ +class Test { + private final String test = ""; + + { + foo(); + } + + void foo() { + if (test.isEmpty()); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/inlineMethod/ThisNameConflict.java.after b/java/java-tests/testData/refactoring/inlineMethod/ThisNameConflict.java.after new file mode 100644 index 000000000000..76ed281eedb8 --- /dev/null +++ b/java/java-tests/testData/refactoring/inlineMethod/ThisNameConflict.java.after @@ -0,0 +1,8 @@ +class Test { + private final String test = ""; + + { + if (test.isEmpty()); + } + +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/refactoring/inline/InlineMethodTest.java b/java/java-tests/testSrc/com/intellij/refactoring/inline/InlineMethodTest.java index 99de5eb68dc4..922d5e04c3bc 100644 --- a/java/java-tests/testSrc/com/intellij/refactoring/inline/InlineMethodTest.java +++ b/java/java-tests/testSrc/com/intellij/refactoring/inline/InlineMethodTest.java @@ -268,6 +268,10 @@ public class InlineMethodTest extends LightRefactoringTestCase { doTest(); } + public void testThisNameConflict() throws Exception { + doTest(); + } + private void doTestInlineThisOnly() { @NonNls String fileName = "/refactoring/inlineMethod/" + getTestName(false) + ".java"; configureByFile(fileName);