ensure dots are excluded from applicable name suggestions (IDEA-195113)

This commit is contained in:
Anna.Kozlova
2018-07-05 18:13:11 +02:00
parent d612b2c65b
commit f9b5fb704b
2 changed files with 17 additions and 1 deletions
@@ -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);
@@ -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 <caret>s = f.inner.getCat();
}
}
""")
assert suggestions == ["cat", "innerCat", "s"]
}
private doTestSuggestionAvailable(String text, String... expectedSuggestions) {
def suggestions = getNameSuggestions(text)
for (String suggestion : expectedSuggestions) {