Dropped redundant code which was required for lambda signature completion when the syntax was different

#KT-12033 Fixed
This commit is contained in:
Valentin Kipyatkov
2016-04-27 12:53:25 +03:00
parent 40022e8f7a
commit 45d460a5fa
4 changed files with 25 additions and 12 deletions
@@ -180,19 +180,12 @@ class KotlinCompletionContributor : CompletionContributor() {
val lambda = leaf?.parents?.firstOrNull { it is KtFunctionLiteral } ?: return null val lambda = leaf?.parents?.firstOrNull { it is KtFunctionLiteral } ?: return null
val lambdaChild = leaf!!.parents.takeWhile { it != lambda }.lastOrNull() ?: return null val lambdaChild = leaf!!.parents.takeWhile { it != lambda }.lastOrNull()
if (lambdaChild is KtParameterList) return CompletionUtilCore.DUMMY_IDENTIFIER_TRIMMED
if (lambdaChild !is KtBlockExpression) return null return if (lambdaChild is KtParameterList)
val blockChild = leaf.parents.takeWhile { it != lambdaChild }.lastOrNull() CompletionUtilCore.DUMMY_IDENTIFIER_TRIMMED
if (blockChild !is PsiErrorElement) return null else
val inIncompleteSignature = blockChild.siblings(forward = false, withItself = false).all { null
when (it) {
is PsiWhiteSpace, is PsiComment -> true
else -> false
}
}
return if (inIncompleteSignature) CompletionUtilCore.DUMMY_IDENTIFIER_TRIMMED + "->" else null
} }
+8
View File
@@ -0,0 +1,8 @@
fun main(foo: Foo) {
foo.apply {
is<caret>
}
}
class Foo(val isValid: String)
// EXIST: isValid
@@ -469,6 +469,12 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
doTest(fileName); doTest(fileName);
} }
@TestMetadata("KT12033.kt")
public void testKT12033() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/KT12033.kt");
doTest(fileName);
}
@TestMetadata("LocalMultideclarationValues.kt") @TestMetadata("LocalMultideclarationValues.kt")
public void testLocalMultideclarationValues() throws Exception { public void testLocalMultideclarationValues() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/LocalMultideclarationValues.kt"); String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/LocalMultideclarationValues.kt");
@@ -469,6 +469,12 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
doTest(fileName); doTest(fileName);
} }
@TestMetadata("KT12033.kt")
public void testKT12033() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/KT12033.kt");
doTest(fileName);
}
@TestMetadata("LocalMultideclarationValues.kt") @TestMetadata("LocalMultideclarationValues.kt")
public void testLocalMultideclarationValues() throws Exception { public void testLocalMultideclarationValues() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/LocalMultideclarationValues.kt"); String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/LocalMultideclarationValues.kt");