diff --git a/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/JavaCodeStyleManagerImpl.java b/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/JavaCodeStyleManagerImpl.java index 4f49ce6e7e97..617e773cacd5 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/JavaCodeStyleManagerImpl.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/JavaCodeStyleManagerImpl.java @@ -632,7 +632,7 @@ public class JavaCodeStyleManagerImpl extends JavaCodeStyleManager { final PsiExpression qualifierExpression = methodExpr.getQualifierExpression(); if (qualifierExpression instanceof PsiReferenceExpression && ((PsiReferenceExpression)qualifierExpression).resolve() instanceof PsiVariable) { - String name = qualifierExpression.getText() + StringUtil.capitalize(propertyName); + String name = StringUtil.getShortName(qualifierExpression.getText()) + StringUtil.capitalize(propertyName); return new NamesByExprInfo(propertyName, name); } return new NamesByExprInfo(propertyName); diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/RenameSuggestionsTest.groovy b/java/java-tests/testSrc/com/intellij/java/refactoring/RenameSuggestionsTest.groovy index 55cd49fbbeaf..5316c28e2d27 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/RenameSuggestionsTest.groovy +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/RenameSuggestionsTest.groovy @@ -132,6 +132,22 @@ class Car {} assert suggestions == ["car", "optionalCar", "carOptional", "optional", "o"] } + void "test long qualified name"() { + def suggestions = getNameSuggestions(""" +class Foo { + Inner inner; + class Inner { + String getCat() {} + } + + void m(Foo f){ + String s = f.inner.getCat(); + } +} +""") + assert suggestions == ["cat", "innerCat", "s"] + } + private doTestSuggestionAvailable(String text, String... expectedSuggestions) { def suggestions = getNameSuggestions(text) for (String suggestion : expectedSuggestions) {