diff --git a/idea/idea-completion/testData/basic/common/NoCompletionForCoroutinesIntinsics.kt b/idea/idea-completion/testData/basic/common/NoCompletionForCoroutinesIntinsics.kt new file mode 100644 index 00000000000..621d59adff3 --- /dev/null +++ b/idea/idea-completion/testData/basic/common/NoCompletionForCoroutinesIntinsics.kt @@ -0,0 +1,5 @@ +fun some() { + kotlin.coroutines.experimental. +} + +// ABSENT: intrinsics diff --git a/idea/idea-completion/testData/basic/common/NoCompletionForCoroutinesJvmInternal.kt b/idea/idea-completion/testData/basic/common/NoCompletionForCoroutinesJvmInternal.kt new file mode 100644 index 00000000000..a043ce0b5e2 --- /dev/null +++ b/idea/idea-completion/testData/basic/common/NoCompletionForCoroutinesJvmInternal.kt @@ -0,0 +1,5 @@ +fun some() { + kotlin.coroutines.experimental.jvm. +} + +// ABSENT: internal diff --git a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JSBasicCompletionTestGenerated.java b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JSBasicCompletionTestGenerated.java index 666da2fdd93..22928477e17 100644 --- a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JSBasicCompletionTestGenerated.java +++ b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JSBasicCompletionTestGenerated.java @@ -578,6 +578,18 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes doTest(fileName); } + @TestMetadata("NoCompletionForCoroutinesIntinsics.kt") + public void testNoCompletionForCoroutinesIntinsics() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/NoCompletionForCoroutinesIntinsics.kt"); + doTest(fileName); + } + + @TestMetadata("NoCompletionForCoroutinesJvmInternal.kt") + public void testNoCompletionForCoroutinesJvmInternal() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/NoCompletionForCoroutinesJvmInternal.kt"); + doTest(fileName); + } + @TestMetadata("NoCompletionForExcluded.kt") public void testNoCompletionForExcluded() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/NoCompletionForExcluded.kt"); diff --git a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JvmBasicCompletionTestGenerated.java b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JvmBasicCompletionTestGenerated.java index 505af8db96d..83510bd5291 100644 --- a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JvmBasicCompletionTestGenerated.java +++ b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/JvmBasicCompletionTestGenerated.java @@ -578,6 +578,18 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT doTest(fileName); } + @TestMetadata("NoCompletionForCoroutinesIntinsics.kt") + public void testNoCompletionForCoroutinesIntinsics() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/NoCompletionForCoroutinesIntinsics.kt"); + doTest(fileName); + } + + @TestMetadata("NoCompletionForCoroutinesJvmInternal.kt") + public void testNoCompletionForCoroutinesJvmInternal() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/NoCompletionForCoroutinesJvmInternal.kt"); + doTest(fileName); + } + @TestMetadata("NoCompletionForExcluded.kt") public void testNoCompletionForExcluded() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/NoCompletionForExcluded.kt"); diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/excludedFromImportsAndCompletion.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/excludedFromImportsAndCompletion.kt index bb1c9e564b3..69835cff703 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/excludedFromImportsAndCompletion.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/excludedFromImportsAndCompletion.kt @@ -25,7 +25,8 @@ import org.jetbrains.kotlin.idea.imports.importableFqName private val exclusions = listOf( "kotlin.jvm.internal", - "kotlin.coroutines.intrinsics", + "kotlin.coroutines.experimental.intrinsics", + "kotlin.coroutines.experimental.jvm.internal", "kotlin.reflect.jvm.internal" ) diff --git a/idea/testData/quickfix/autoImports/excludedCoroutineImpl.kt b/idea/testData/quickfix/autoImports/excludedCoroutineImpl.kt new file mode 100644 index 00000000000..8ddfaa6ea51 --- /dev/null +++ b/idea/testData/quickfix/autoImports/excludedCoroutineImpl.kt @@ -0,0 +1,13 @@ +// "Import" "false" +// WITH_RUNTIME +// ACTION: Create local variable 'CoroutineImpl' +// ACTION: Create object 'CoroutineImpl' +// ACTION: Create parameter 'CoroutineImpl' +// ACTION: Create property 'CoroutineImpl' +// ACTION: Introduce local variable +// ACTION: Rename reference +// ERROR: Unresolved reference: CoroutineImpl + +fun some() { + CoroutineImpl::class +} diff --git a/idea/testData/quickfix/autoImports/excludedCoroutineIntrinsics.kt b/idea/testData/quickfix/autoImports/excludedCoroutineIntrinsics.kt new file mode 100644 index 00000000000..4076cb01cc6 --- /dev/null +++ b/idea/testData/quickfix/autoImports/excludedCoroutineIntrinsics.kt @@ -0,0 +1,9 @@ +// "Import" "false" +// WITH_RUNTIME +// ACTION: Create function 'suspendCoroutineOrReturn' +// ACTION: Rename reference +// ERROR: Unresolved reference: suspendCoroutineOrReturn + +fun some() { + suspendCoroutineOrReturn {} +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java index f42764c1192..3202226be3a 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -734,6 +734,18 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { doTest(fileName); } + @TestMetadata("excludedCoroutineImpl.kt") + public void testExcludedCoroutineImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/autoImports/excludedCoroutineImpl.kt"); + doTest(fileName); + } + + @TestMetadata("excludedCoroutineIntrinsics.kt") + public void testExcludedCoroutineIntrinsics() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/autoImports/excludedCoroutineIntrinsics.kt"); + doTest(fileName); + } + @TestMetadata("excludedFromImport.kt") public void testExcludedFromImport() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/autoImports/excludedFromImport.kt");