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) {
|
private static void addCamelNames(ArrayList<String> result, String name, JetNameValidator validator) {
|
||||||
if (name == "") return;
|
if (name == "") return;
|
||||||
String s = deleteNonLetterFromString(name);
|
String s = deleteNonLetterFromString(name);
|
||||||
if (s.startsWith("get") || s.startsWith("set")) s = s.substring(0, 3);
|
if (s.startsWith("get") || s.startsWith("set")) s = s.substring(3);
|
||||||
else if (s.startsWith("is")) s = s.substring(0, 2);
|
else if (s.startsWith("is")) s = s.substring(2);
|
||||||
for (int i = 0; i < s.length(); ++i) {
|
for (int i = 0; i < s.length(); ++i) {
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
addName(result, StringUtil.decapitalize(s), validator);
|
addName(result, StringUtil.decapitalize(s), validator);
|
||||||
@@ -172,7 +172,17 @@ public class JetNameSuggester {
|
|||||||
private static void addNamesForExpression(ArrayList<String> result, JetExpression expression, JetNameValidator validator) {
|
private static void addNamesForExpression(ArrayList<String> result, JetExpression expression, JetNameValidator validator) {
|
||||||
if (expression instanceof JetQualifiedExpression) {
|
if (expression instanceof JetQualifiedExpression) {
|
||||||
JetQualifiedExpression qualifiedExpression = (JetQualifiedExpression) expression;
|
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) {
|
} else if (expression instanceof JetSimpleNameExpression) {
|
||||||
JetSimpleNameExpression reference = (JetSimpleNameExpression) expression;
|
JetSimpleNameExpression reference = (JetSimpleNameExpression) expression;
|
||||||
String referenceName = reference.getReferencedName();
|
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
|
* Date: 07.02.12
|
||||||
*/
|
*/
|
||||||
public class JetNameSuggesterTest extends LightCodeInsightFixtureTestCase {
|
public class JetNameSuggesterTest extends LightCodeInsightFixtureTestCase {
|
||||||
|
public void testGetterSure() {
|
||||||
|
doTest();
|
||||||
|
}
|
||||||
|
|
||||||
public void testNameArrayOfClasses() {
|
public void testNameArrayOfClasses() {
|
||||||
doTest();
|
doTest();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user