diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/quickfix/TypeAccessibilityCheckerImpl.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/quickfix/TypeAccessibilityCheckerImpl.kt index c077aa3634b..6f020c768f9 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/quickfix/TypeAccessibilityCheckerImpl.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/quickfix/TypeAccessibilityCheckerImpl.kt @@ -105,7 +105,7 @@ private fun DeclarationDescriptor.collectAllTypes(): Sequence { is CallableDescriptor -> { val returnType = returnType ?: return sequenceOf(null) returnType.collectAllTypes() + - explicitParameters.asSequence().map(ParameterDescriptor::getType).flatMap(KotlinType::collectAllTypes) + + explicitParameters.map(ParameterDescriptor::getType).flatMap(KotlinType::collectAllTypes) + typeParameters.asSequence().flatMap(DeclarationDescriptor::collectAllTypes) } is TypeParameterDescriptor -> { @@ -130,19 +130,9 @@ private fun KotlinType.collectAllTypes(): Sequence = sequenceOf(fqName) .map(TypeProjection::getType) .flatMap(KotlinType::collectAllTypes) -private val CallableDescriptor.explicitParameters: List - get() { - val result = ArrayList(valueParameters.size + 2) - - this.dispatchReceiverParameter?.let { - result.add(it) - } - - this.extensionReceiverParameter?.let { - result.add(it) - } - - result.addAll(valueParameters) - - return result - } +private val CallableDescriptor.explicitParameters: Sequence + get() = valueParameters.asSequence() + dispatchReceiverParameter?.let { + sequenceOf(it) + }.orEmpty() + extensionReceiverParameter?.let { + sequenceOf(it) + }.orEmpty()