Files
kotlin-fork/compiler/testData/loadJava/compiledJava/InnerOfGeneric.fir.txt
T
Roman Golyshev 9b9c51bc8d [FIR] Fix dispatch receivers on inner classes' constructors
1. Inner class constructor should have its outer class as a dispatch
receiver, since it is necessary for the call. Before it was null
2. Substituted inner class constructor should have its original dispatch
 receiver type with the proper substitution. Before it was set to the
 class itself (since the class was usually passed as a new dispatch
 receiver)

Also, modify FIR renderer, so it properly renders the dispatch receiver
of the constructors
2021-10-05 12:17:08 +00:00

29 lines
1.5 KiB
Plaintext
Vendored

public open class InnerOfGeneric : R|kotlin/Any| {
public constructor(): R|test/InnerOfGeneric|
public abstract inner class A<K : R|ft<kotlin/Any, kotlin/Any?>|> : R|kotlin/Any| {
public test/InnerOfGeneric.constructor<K : R|ft<kotlin/Any, kotlin/Any?>|>(): R|test/InnerOfGeneric.A<K>|
public abstract inner class Inner<K : R|ft<kotlin/Any, kotlin/Any?>|> : R|test/InnerOfGeneric.S<ft<K, K?>>| {
public test/InnerOfGeneric.A<K>.constructor(): R|test/InnerOfGeneric.A.Inner<K>|
}
}
public open inner class B<L : R|ft<kotlin/Any, kotlin/Any?>|> : R|test/InnerOfGeneric.A<ft<L, L?>>| {
public test/InnerOfGeneric.constructor<L : R|ft<kotlin/Any, kotlin/Any?>|>(): R|test/InnerOfGeneric.B<L>|
public open inner class SubInner<L : R|ft<kotlin/Any, kotlin/Any?>|> : R|test/InnerOfGeneric.A.Inner<ft<L, L?>>| {
@R|java/lang/Override|() public open operator fun iterator(): R|ft<kotlin/collections/MutableIterator<ft<L, L?>>, kotlin/collections/Iterator<ft<L, L?>>?>|
public test/InnerOfGeneric.B<L>.constructor(): R|test/InnerOfGeneric.B.SubInner<L>|
}
}
public open inner class S<E : R|ft<kotlin/Any, kotlin/Any?>|> : R|kotlin/Any| {
public open operator fun iterator(): R|ft<kotlin/collections/MutableIterator<ft<E, E?>>, kotlin/collections/Iterator<ft<E, E?>>?>|
public test/InnerOfGeneric.constructor<E : R|ft<kotlin/Any, kotlin/Any?>|>(): R|test/InnerOfGeneric.S<E>|
}
}