diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/CapturedTypeConstructor.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/CapturedTypeConstructor.kt index 26bef2ba240..5e43fee276a 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/CapturedTypeConstructor.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/CapturedTypeConstructor.kt @@ -68,10 +68,15 @@ public class CapturedType( override fun getDelegate(): KotlinType = delegateType + override fun getCapabilities(): TypeCapabilities = object : TypeCapabilities { + override fun getCapability(capabilityClass: Class) = + this@CapturedType.getCapability(capabilityClass) + } + override fun getCapability(capabilityClass: Class): T? { @Suppress("UNCHECKED_CAST") - return if (capabilityClass == javaClass()) this as T - else super.getCapability(capabilityClass) + return if (capabilityClass == SubtypingRepresentatives::class.java) this as T + else super.getCapability(capabilityClass) } override val subTypeRepresentative: KotlinType