Remove kotlin.coroutine package from default imports.
This commit is contained in:
committed by
Stanislav Erokhin
parent
7d1b883171
commit
0132f3eea7
+3
-5
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.backend.common
|
package org.jetbrains.kotlin.backend.common
|
||||||
|
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
@@ -25,7 +24,6 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
|
|||||||
val SUSPEND_WITH_CURRENT_CONTINUATION_NAME = Name.identifier("suspendWithCurrentContinuation")
|
val SUSPEND_WITH_CURRENT_CONTINUATION_NAME = Name.identifier("suspendWithCurrentContinuation")
|
||||||
|
|
||||||
fun FunctionDescriptor.getBuiltInSuspendWithCurrentContinuation() =
|
fun FunctionDescriptor.getBuiltInSuspendWithCurrentContinuation() =
|
||||||
builtIns.builtInsPackageFragments.singleOrNull { it.fqName == KotlinBuiltIns.COROUTINES_PACKAGE_FQ_NAME }
|
builtIns.builtInsCoroutinePackageFragment.getMemberScope()
|
||||||
?.getMemberScope()
|
.getContributedFunctions(SUSPEND_WITH_CURRENT_CONTINUATION_NAME, NoLookupLocation.FROM_BACKEND)
|
||||||
?.getContributedFunctions(SUSPEND_WITH_CURRENT_CONTINUATION_NAME, NoLookupLocation.FROM_BACKEND)
|
.singleOrNull()
|
||||||
?.singleOrNull()
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ object JvmPlatform : TargetPlatform("JVM") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val builtIns = JvmBuiltIns(LockBasedStorageManager.NO_LOCKS)
|
val builtIns = JvmBuiltIns(LockBasedStorageManager.NO_LOCKS)
|
||||||
for (builtinPackageFragment in builtIns.builtInsPackageFragments) {
|
for (builtinPackageFragment in builtIns.builtInsPackageFragmentsImportedByDefault) {
|
||||||
addAllClassifiersFromScope(builtinPackageFragment.getMemberScope())
|
addAllClassifiersFromScope(builtinPackageFragment.getMemberScope())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ abstract class TargetPlatform(val platformName: String) {
|
|||||||
add(ImportPath("kotlin.*"))
|
add(ImportPath("kotlin.*"))
|
||||||
add(ImportPath("kotlin.annotation.*"))
|
add(ImportPath("kotlin.annotation.*"))
|
||||||
add(ImportPath("kotlin.collections.*"))
|
add(ImportPath("kotlin.collections.*"))
|
||||||
add(ImportPath("kotlin.coroutines.*"))
|
|
||||||
add(ImportPath("kotlin.ranges.*"))
|
add(ImportPath("kotlin.ranges.*"))
|
||||||
add(ImportPath("kotlin.sequences.*"))
|
add(ImportPath("kotlin.sequences.*"))
|
||||||
add(ImportPath("kotlin.text.*"))
|
add(ImportPath("kotlin.text.*"))
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
// FILE: 1.kt
|
||||||
|
|
||||||
|
fun test(<!UNUSED_PARAMETER!>c<!>: <!UNRESOLVED_REFERENCE!>Continuation<!><Unit>) {}
|
||||||
|
|
||||||
|
// FILE: 2.kt
|
||||||
|
import kotlin.coroutines.*
|
||||||
|
|
||||||
|
fun test2(<!UNUSED_PARAMETER!>c<!>: Continuation<Unit>) {}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
public fun test(/*0*/ c: [ERROR : Continuation<Unit>]<kotlin.Unit>): kotlin.Unit
|
||||||
|
public fun test2(/*0*/ c: kotlin.coroutines.Continuation<kotlin.Unit>): kotlin.Unit
|
||||||
@@ -4276,6 +4276,12 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("noDefaultCoroutineImports.kt")
|
||||||
|
public void testNoDefaultCoroutineImports() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/coroutines/noDefaultCoroutineImports.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("nonLocalSuspension.kt")
|
@TestMetadata("nonLocalSuspension.kt")
|
||||||
public void testNonLocalSuspension() throws Exception {
|
public void testNonLocalSuspension() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/coroutines/nonLocalSuspension.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/coroutines/nonLocalSuspension.kt");
|
||||||
|
|||||||
@@ -92,11 +92,11 @@ public abstract class KotlinBuiltIns {
|
|||||||
PackageFragmentDescriptor kotlinCollections = createPackage(provider, nameToFragment, COLLECTIONS_PACKAGE_FQ_NAME);
|
PackageFragmentDescriptor kotlinCollections = createPackage(provider, nameToFragment, COLLECTIONS_PACKAGE_FQ_NAME);
|
||||||
createPackage(provider, nameToFragment, RANGES_PACKAGE_FQ_NAME);
|
createPackage(provider, nameToFragment, RANGES_PACKAGE_FQ_NAME);
|
||||||
PackageFragmentDescriptor kotlinAnnotation = createPackage(provider, nameToFragment, ANNOTATION_PACKAGE_FQ_NAME);
|
PackageFragmentDescriptor kotlinAnnotation = createPackage(provider, nameToFragment, ANNOTATION_PACKAGE_FQ_NAME);
|
||||||
createPackage(provider, nameToFragment, COROUTINES_PACKAGE_FQ_NAME);
|
PackageFragmentDescriptor coroutinePackage = createPackage(provider, null, COROUTINES_PACKAGE_FQ_NAME);
|
||||||
|
|
||||||
Set<PackageFragmentDescriptor> all = new LinkedHashSet<PackageFragmentDescriptor>(nameToFragment.values());
|
Set<PackageFragmentDescriptor> allImportedByDefault = new LinkedHashSet<PackageFragmentDescriptor>(nameToFragment.values());
|
||||||
|
|
||||||
return new PackageFragments(kotlin, kotlinCollections, kotlinAnnotation, all);
|
return new PackageFragments(kotlin, kotlinCollections, kotlinAnnotation, coroutinePackage, allImportedByDefault);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -174,7 +174,7 @@ public abstract class KotlinBuiltIns {
|
|||||||
@NotNull
|
@NotNull
|
||||||
private PackageFragmentDescriptor createPackage(
|
private PackageFragmentDescriptor createPackage(
|
||||||
@NotNull PackageFragmentProvider fragmentProvider,
|
@NotNull PackageFragmentProvider fragmentProvider,
|
||||||
@NotNull Map<FqName, PackageFragmentDescriptor> packageNameToPackageFragment,
|
@Nullable Map<FqName, PackageFragmentDescriptor> packageNameToPackageFragment,
|
||||||
@NotNull final FqName packageFqName
|
@NotNull final FqName packageFqName
|
||||||
) {
|
) {
|
||||||
final List<PackageFragmentDescriptor> packageFragments = fragmentProvider.getPackageFragments(packageFqName);
|
final List<PackageFragmentDescriptor> packageFragments = fragmentProvider.getPackageFragments(packageFqName);
|
||||||
@@ -203,7 +203,7 @@ public abstract class KotlinBuiltIns {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
packageNameToPackageFragment.put(packageFqName, result);
|
if (packageNameToPackageFragment != null) packageNameToPackageFragment.put(packageFqName, result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,18 +232,21 @@ public abstract class KotlinBuiltIns {
|
|||||||
public final PackageFragmentDescriptor builtInsPackageFragment;
|
public final PackageFragmentDescriptor builtInsPackageFragment;
|
||||||
public final PackageFragmentDescriptor collectionsPackageFragment;
|
public final PackageFragmentDescriptor collectionsPackageFragment;
|
||||||
public final PackageFragmentDescriptor annotationPackageFragment;
|
public final PackageFragmentDescriptor annotationPackageFragment;
|
||||||
public final Set<PackageFragmentDescriptor> builtInsPackageFragments;
|
public final PackageFragmentDescriptor coroutinePackageFragment;
|
||||||
|
public final Set<PackageFragmentDescriptor> allImportedByDefaultBuiltInsPackageFragments;
|
||||||
|
|
||||||
private PackageFragments(
|
private PackageFragments(
|
||||||
@NotNull PackageFragmentDescriptor builtInsPackageFragment,
|
@NotNull PackageFragmentDescriptor builtInsPackageFragment,
|
||||||
@NotNull PackageFragmentDescriptor collectionsPackageFragment,
|
@NotNull PackageFragmentDescriptor collectionsPackageFragment,
|
||||||
@NotNull PackageFragmentDescriptor annotationPackageFragment,
|
@NotNull PackageFragmentDescriptor annotationPackageFragment,
|
||||||
@NotNull Set<PackageFragmentDescriptor> builtInsPackageFragments
|
@NotNull PackageFragmentDescriptor coroutinePackageFragment,
|
||||||
|
@NotNull Set<PackageFragmentDescriptor> allImportedByDefaultBuiltInsPackageFragments
|
||||||
) {
|
) {
|
||||||
this.builtInsPackageFragment = builtInsPackageFragment;
|
this.builtInsPackageFragment = builtInsPackageFragment;
|
||||||
this.collectionsPackageFragment = collectionsPackageFragment;
|
this.collectionsPackageFragment = collectionsPackageFragment;
|
||||||
this.annotationPackageFragment = annotationPackageFragment;
|
this.annotationPackageFragment = annotationPackageFragment;
|
||||||
this.builtInsPackageFragments = builtInsPackageFragments;
|
this.coroutinePackageFragment = coroutinePackageFragment;
|
||||||
|
this.allImportedByDefaultBuiltInsPackageFragments = allImportedByDefaultBuiltInsPackageFragments;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -368,8 +371,13 @@ public abstract class KotlinBuiltIns {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public Set<PackageFragmentDescriptor> getBuiltInsPackageFragments() {
|
public Set<PackageFragmentDescriptor> getBuiltInsPackageFragmentsImportedByDefault() {
|
||||||
return packageFragments.invoke().builtInsPackageFragments;
|
return packageFragments.invoke().allImportedByDefaultBuiltInsPackageFragments;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
public PackageFragmentDescriptor getBuiltInsCoroutinePackageFragment() {
|
||||||
|
return packageFragments.invoke().coroutinePackageFragment;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package kotlin.jvm.internal
|
package kotlin.jvm.internal
|
||||||
|
|
||||||
|
import kotlin.coroutines.*
|
||||||
|
|
||||||
private const val INTERCEPT_BIT_SET = 1 shl 31
|
private const val INTERCEPT_BIT_SET = 1 shl 31
|
||||||
private const val INTERCEPT_BIT_CLEAR = INTERCEPT_BIT_SET.inv()
|
private const val INTERCEPT_BIT_CLEAR = INTERCEPT_BIT_SET.inv()
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -50,7 +50,7 @@ class AllClassesCompletion(private val parameters: CompletionParameters,
|
|||||||
|
|
||||||
//TODO: this is a temporary solution until we have built-ins in indices
|
//TODO: this is a temporary solution until we have built-ins in indices
|
||||||
// we need only nested classes because top-level built-ins are all added through default imports
|
// we need only nested classes because top-level built-ins are all added through default imports
|
||||||
for (builtinPackage in resolutionFacade.moduleDescriptor.builtIns.builtInsPackageFragments) {
|
for (builtinPackage in resolutionFacade.moduleDescriptor.builtIns.builtInsPackageFragmentsImportedByDefault) {
|
||||||
collectClassesFromScope(builtinPackage.getMemberScope()) {
|
collectClassesFromScope(builtinPackage.getMemberScope()) {
|
||||||
if (it.containingDeclaration is ClassDescriptor) {
|
if (it.containingDeclaration is ClassDescriptor) {
|
||||||
classifierDescriptorCollector(it)
|
classifierDescriptorCollector(it)
|
||||||
|
|||||||
Reference in New Issue
Block a user