jvm-abi-gen: only keep relevant InnerClasses from current module

If a class is not referenced by the ABI class file, its InnerClasses
entry should only be kept if it's the current class or a descendant
of the current class.
This commit is contained in:
pyos
2022-12-08 11:34:39 +01:00
committed by Alexander Udalov
parent d6fdd6734e
commit 34a49b3f56
3 changed files with 62 additions and 13 deletions
@@ -2,13 +2,19 @@
class InAnnotation {}
class InPublicMethod {
fun foo(x: Outer.Middle.Inner) {}
fun foo(x: Outer.Middle.Inner): Class<*> = OuterKt.MiddleKt.InnerKt::class.java
}
class InPrivateMethod {
private fun foo(x: Outer.Middle.Inner) {}
private fun foo(x: Outer.Middle.Inner): Class<*> = OuterKt.MiddleKt.InnerKt::class.java
}
class InInlineMethod {
inline fun foo(): Class<*> = Outer.Middle.Inner::class.java
inline fun foo(x: Outer.Middle.Inner): Class<*> = OuterKt.MiddleKt.InnerKt::class.java
}
class OuterKt {
class MiddleKt {
class InnerKt
}
}