KT-10619 Wrong completion after package name in annotation
#KT-10619 Fixed
This commit is contained in:
+13
-11
@@ -272,18 +272,20 @@ class BasicCompletionSession(
|
||||
}
|
||||
}
|
||||
|
||||
val classKindFilter: ((ClassKind) -> Boolean)?
|
||||
when (callTypeAndReceiver) {
|
||||
is CallTypeAndReceiver.ANNOTATION -> classKindFilter = { it == ClassKind.ANNOTATION_CLASS }
|
||||
is CallTypeAndReceiver.DEFAULT, is CallTypeAndReceiver.TYPE -> classKindFilter = { it != ClassKind.ENUM_ENTRY }
|
||||
else -> classKindFilter = null
|
||||
}
|
||||
if (classKindFilter != null) {
|
||||
if (configuration.completeNonImportedClasses) {
|
||||
addClassesFromIndex(classKindFilter)
|
||||
if (callTypeAndReceiver.receiver == null) {
|
||||
val classKindFilter: ((ClassKind) -> Boolean)?
|
||||
when (callTypeAndReceiver) {
|
||||
is CallTypeAndReceiver.ANNOTATION -> classKindFilter = { it == ClassKind.ANNOTATION_CLASS }
|
||||
is CallTypeAndReceiver.DEFAULT, is CallTypeAndReceiver.TYPE -> classKindFilter = { it != ClassKind.ENUM_ENTRY }
|
||||
else -> classKindFilter = null
|
||||
}
|
||||
else {
|
||||
collector.advertiseSecondCompletion()
|
||||
if (classKindFilter != null) {
|
||||
if (configuration.completeNonImportedClasses) {
|
||||
addClassesFromIndex(classKindFilter)
|
||||
}
|
||||
else {
|
||||
collector.advertiseSecondCompletion()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
@kotlin.concurrent.<caret>
|
||||
|
||||
// INVOCATION_COUNT: 2
|
||||
// ABSENT: Deprecated
|
||||
// ABSENT: Volatile
|
||||
+6
@@ -791,6 +791,12 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class Annotations extends AbstractJSBasicCompletionTest {
|
||||
@TestMetadata("AfterPackageName.kt")
|
||||
public void testAfterPackageName() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/annotations/AfterPackageName.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInAnnotations() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/annotations"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
+6
@@ -791,6 +791,12 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class Annotations extends AbstractJvmBasicCompletionTest {
|
||||
@TestMetadata("AfterPackageName.kt")
|
||||
public void testAfterPackageName() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/annotations/AfterPackageName.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInAnnotations() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/annotations"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user