diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/CapturedTypeApproximation.kt b/core/descriptors/src/org/jetbrains/kotlin/types/CapturedTypeApproximation.kt index 148f72cbdfd..e23cbfca240 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/CapturedTypeApproximation.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/types/CapturedTypeApproximation.kt @@ -117,7 +117,7 @@ public fun approximateCapturedTypes(type: KotlinType): ApproximationBounds throw AssertionError("Only nontrivial projections should have been captured, not: $typeProjection") } } - if (type.arguments.isEmpty()) { + if (type.arguments.isEmpty() || type.arguments.size != typeConstructor.parameters.size) { return ApproximationBounds(type, type) } val lowerBoundArguments = ArrayList() diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/missingDependencies.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/missingDependencies.kt index a927ac60f90..d90c0afa83b 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/missingDependencies.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/missingDependencies.kt @@ -24,6 +24,7 @@ import org.jetbrains.kotlin.descriptors.impl.PackageFragmentDescriptorImpl import org.jetbrains.kotlin.incremental.components.LookupLocation import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns import org.jetbrains.kotlin.resolve.scopes.MemberScope import org.jetbrains.kotlin.resolve.scopes.MemberScopeImpl import org.jetbrains.kotlin.types.ErrorUtils.createErrorType @@ -63,7 +64,10 @@ internal class PackageFragmentProviderForMissingDependencies(val moduleDescripto private class MissingDependencyErrorClassDescriptor( containing: DeclarationDescriptor, override val fullFqName: FqName -) : MissingDependencyErrorClass, ClassDescriptorImpl(containing, fullFqName.shortName(), Modality.OPEN, ClassKind.CLASS, listOf(), SourceElement.NO_SOURCE) { +) : MissingDependencyErrorClass, ClassDescriptorImpl( + containing, fullFqName.shortName(), Modality.OPEN, ClassKind.CLASS, listOf(containing.builtIns.nullableAnyType), + SourceElement.NO_SOURCE +) { private val scope = ScopeWithMissingDependencies(fullFqName, this)