TypeAccessibilityChecker: fix callable with upper bound

This commit is contained in:
Dmitry Gridin
2019-08-20 18:44:55 +07:00
parent 46fefde09c
commit 3617f3d247
3 changed files with 5 additions and 3 deletions
@@ -95,7 +95,9 @@ private fun DeclarationDescriptor.collectAllTypes(): Sequence<FqName?> {
} + declaredTypeParameters.asSequence().flatMap(DeclarationDescriptor::collectAllTypes) + sequenceOf(fqNameOrNull())
is CallableDescriptor -> {
val returnType = returnType ?: return sequenceOf(null)
returnType.collectAllTypes() + explicitParameters.asSequence().map(ParameterDescriptor::getType).flatMap(KotlinType::collectAllTypes)
returnType.collectAllTypes() +
explicitParameters.asSequence().map(ParameterDescriptor::getType).flatMap(KotlinType::collectAllTypes) +
typeParameters.asSequence().flatMap(DeclarationDescriptor::collectAllTypes)
}
is TypeParameterDescriptor -> {
val upperBounds = upperBounds
@@ -1,5 +1,5 @@
// "Create expected function in common module testModule_Common" "true"
// SHOULD_FAIL_WITH: Cannot generate expected function: Type Some is not accessible from common code
// SHOULD_FAIL_WITH: You cannot create the expect declaration from:,fun foo(some: List<T>){...}
// DISABLE-ERRORS
interface Some
@@ -1,5 +1,5 @@
// "Create expected function in common module testModule_Common" "true"
// SHOULD_FAIL_WITH: Cannot generate expected function: Type Some is not accessible from common code
// SHOULD_FAIL_WITH: You cannot create the expect declaration from:,fun foo(some: List<T>){...}
// DISABLE-ERRORS
interface Some