From afbda75581fc26ef0fc14f926e27ff3026cef6ed Mon Sep 17 00:00:00 2001 From: Victor Petukhov Date: Tue, 11 May 2021 17:17:19 +0300 Subject: [PATCH] Set member scope for builder inference stub types equivalent to Any --- .../src/org/jetbrains/kotlin/resolve/calls/tower/TowerLevels.kt | 2 +- core/descriptors/src/org/jetbrains/kotlin/types/StubTypes.kt | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/tower/TowerLevels.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/tower/TowerLevels.kt index 6474680e6ca..90ed441b361 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/tower/TowerLevels.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/tower/TowerLevels.kt @@ -92,7 +92,7 @@ internal class MemberScopeTowerLevel( ): Collection { val receiverValue = dispatchReceiver.receiverValue - if (receiverValue.type is StubType) { + if (receiverValue.type is AbstractStubType && receiverValue.type.memberScope is ErrorUtils.ErrorScope) { return arrayListOf() } diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/StubTypes.kt b/core/descriptors/src/org/jetbrains/kotlin/types/StubTypes.kt index d0ffecb8820..2f88e708555 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/StubTypes.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/types/StubTypes.kt @@ -17,6 +17,8 @@ class StubTypeForBuilderInference( override fun materialize(newNullability: Boolean): AbstractStubType = StubTypeForBuilderInference(originalTypeVariable, newNullability) + override val memberScope = originalTypeVariable.builtIns.anyType.memberScope + override fun toString(): String { // BI means builder inference return "Stub (BI): $originalTypeVariable${if (isMarkedNullable) "?" else ""}"