[FIR] Make type parameters inaccessible for non-inner nested types

#KT-57209
This commit is contained in:
Kirill Rakhman
2023-03-14 17:20:35 +01:00
committed by Space Team
parent c39ab956a0
commit 1f0d56e157
24 changed files with 227 additions and 181 deletions
@@ -1,11 +1,11 @@
class Outer<O> {
class A<X> {
inner class A<X> {
fun <Y> foo(x: X, y: Y): Map<X, Map<Y, O>>
val map: Map<X, O>
}
}
fun foo(a: Outer.A<Int>) {
fun foo(a: Outer<String>.A<Int>) {
println(<expr>a</expr>)
}
}
@@ -1,6 +1,6 @@
KtTypeScope:
fun foo(x: kotlin.Int, y: Y): kotlin.collections.Map<kotlin.Int, kotlin.collections.Map<Y, O>>
val map: kotlin.collections.Map<kotlin.Int, O>
fun foo(x: kotlin.Int, y: Y): kotlin.collections.Map<kotlin.Int, kotlin.collections.Map<Y, kotlin.String>>
val map: kotlin.collections.Map<kotlin.Int, kotlin.String>
fun equals(other: kotlin.Any?): kotlin.Boolean
fun hashCode(): kotlin.Int
fun toString(): kotlin.String
@@ -1,11 +1,11 @@
expression: a
KtType: Outer.A<kotlin.Int>
KtType: Outer<kotlin.String>.A<kotlin.Int>
KtTypeScope:
KtFunctionLikeSignature:
receiverType = null
returnType = kotlin.collections.Map<kotlin.Int, kotlin.collections.Map<Y, O>>
symbol = /Outer.A.foo(<dispatch receiver>: Outer.A<X>, x: X, y: Y): kotlin.collections.Map<X, kotlin.collections.Map<Y, O>>
returnType = kotlin.collections.Map<kotlin.Int, kotlin.collections.Map<Y, kotlin.String>>
symbol = /Outer.A.foo(<dispatch receiver>: Outer.A<X, O>, x: X, y: Y): kotlin.collections.Map<X, kotlin.collections.Map<Y, O>>
valueParameters = [
KtVariableLikeSignature:
name = x
@@ -24,7 +24,7 @@ KtFunctionLikeSignature:
KtVariableLikeSignature:
name = map
receiverType = null
returnType = kotlin.collections.Map<kotlin.Int, O>
returnType = kotlin.collections.Map<kotlin.Int, kotlin.String>
symbol = val map: kotlin.collections.Map<X, O>
callableIdIfNonLocal = /Outer.A.map
KtFunctionLikeSignature: