mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-03-10 08:31:29 +00:00
#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.
15 lines
515 B
Kotlin
Vendored
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;>; |