Fixed name suggester for getter/setter names. Added names suggested by call before "sure" call. +Test
This commit is contained in:
@@ -152,8 +152,8 @@ public class JetNameSuggester {
|
||||
private static void addCamelNames(ArrayList<String> result, String name, JetNameValidator validator) {
|
||||
if (name == "") return;
|
||||
String s = deleteNonLetterFromString(name);
|
||||
if (s.startsWith("get") || s.startsWith("set")) s = s.substring(0, 3);
|
||||
else if (s.startsWith("is")) s = s.substring(0, 2);
|
||||
if (s.startsWith("get") || s.startsWith("set")) s = s.substring(3);
|
||||
else if (s.startsWith("is")) s = s.substring(2);
|
||||
for (int i = 0; i < s.length(); ++i) {
|
||||
if (i == 0) {
|
||||
addName(result, StringUtil.decapitalize(s), validator);
|
||||
@@ -172,7 +172,17 @@ public class JetNameSuggester {
|
||||
private static void addNamesForExpression(ArrayList<String> result, JetExpression expression, JetNameValidator validator) {
|
||||
if (expression instanceof JetQualifiedExpression) {
|
||||
JetQualifiedExpression qualifiedExpression = (JetQualifiedExpression) expression;
|
||||
addNamesForExpression(result, qualifiedExpression.getSelectorExpression(), validator);
|
||||
JetExpression selectorExpression = qualifiedExpression.getSelectorExpression();
|
||||
addNamesForExpression(result, selectorExpression, validator);
|
||||
if (selectorExpression != null && selectorExpression instanceof JetCallExpression) {
|
||||
JetExpression calleeExpression = ((JetCallExpression)selectorExpression).getCalleeExpression();
|
||||
if (calleeExpression != null && calleeExpression instanceof JetSimpleNameExpression) {
|
||||
String name = ((JetSimpleNameExpression)calleeExpression).getReferencedName();
|
||||
if (name != null && name.equals("sure")) {
|
||||
addNamesForExpression(result, qualifiedExpression.getReceiverExpression(), validator);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (expression instanceof JetSimpleNameExpression) {
|
||||
JetSimpleNameExpression reference = (JetSimpleNameExpression) expression;
|
||||
String referenceName = reference.getReferencedName();
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
fun getFooGoo(): String? = "text"
|
||||
|
||||
fun a() {
|
||||
<selection>getFooGoo().sure()</selection>
|
||||
}
|
||||
/*
|
||||
fooGoo
|
||||
goo
|
||||
s
|
||||
sure
|
||||
*/
|
||||
+4
@@ -35,6 +35,10 @@ import java.util.Arrays;
|
||||
* Date: 07.02.12
|
||||
*/
|
||||
public class JetNameSuggesterTest extends LightCodeInsightFixtureTestCase {
|
||||
public void testGetterSure() {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testNameArrayOfClasses() {
|
||||
doTest();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user