Files
kotlin/compiler/testData/writeSignature/DeepGenericInnerClass.kt
Mikhail Zarechenskiy a0d7b703f4 Align generic signature for inner classes to work as in Java
#KT-10397 Fixed

According to JVMS (p. 4.3.4) inner classes should be separated with `$` in generic signature.

Note that in Java, inner types separated with `.` after first parameterized type, and now we preserve the same behaviour. See tests for clarification.
2017-04-27 15:47:28 +03:00

15 lines
515 B
Kotlin
Vendored

abstract class Outer {
inner class FirstInner {
inner class SecondInner<A> {
inner class ThirdInnner {
inner class FourthInner<B>
}
}
}
fun <T, V> foo(): FirstInner.SecondInner<T>.ThirdInnner.FourthInner<V> = TODO()
}
// method: Outer::foo
// jvm signature: ()LOuter$FirstInner$SecondInner$ThirdInnner$FourthInner;
// generic signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>()LOuter$FirstInner$SecondInner<TT;>.ThirdInnner.FourthInner<TV;>;