JVM IR: do not mangle synthetic methods with inline class parameters

For example, synthetic `$annotations` methods for properties were
previously mangled to `$annotations-...`, which breaks annotation
loader, and fails an assert in ClassCodegen.generateMethod.
This commit is contained in:
Alexander Udalov
2019-12-02 18:39:41 +01:00
parent 66ffdf1b2d
commit f869be6a71
8 changed files with 48 additions and 1 deletions
@@ -51,7 +51,7 @@ class MemoizedInlineClassReplacements {
it.isSyntheticInlineClassMember ||
it.origin == IrDeclarationOrigin.LOCAL_FUNCTION_FOR_LAMBDA ||
it.origin == IrDeclarationOrigin.DELEGATED_PROPERTY_ACCESSOR ||
it.origin == JvmLoweredDeclarationOrigin.POLYMORPHIC_SIGNATURE_INSTANTIATION -> null
it.origin.isSynthetic -> null
it.hasMethodReplacement -> createMethodReplacement(it)
it.hasStaticReplacement -> createStaticReplacement(it)
else -> null