JVM IR: fix flags of $default methods in multi-file facades

Do not change origin of multifile class bridges to something else
because, as it turns out, there are numerous origin-specific checks in
the codegen that start to behave differently for multifile bridges.
Instead of the method-targeted origin MULTIFILE_BRIDGE, use new class
origin JVM_MULTIFILE_CLASS to detect whether a declaration is a
multifile bridge.

 #KT-40198 Fixed
 #KT-43145 Fixed
This commit is contained in:
Alexander Udalov
2020-11-04 17:54:11 +01:00
parent d326d6a693
commit 500b1cfbd3
19 changed files with 210 additions and 76 deletions
@@ -1,8 +1,8 @@
@kotlin.Metadata
public final class Hello/Foo {
// source: 'multifileSuspend.kt'
public final static method main(@org.jetbrains.annotations.NotNull p0: java.lang.String[]): void
public final static @org.jetbrains.annotations.Nullable method main(@org.jetbrains.annotations.NotNull p0: java.lang.String[], @org.jetbrains.annotations.NotNull p1: kotlin.coroutines.Continuation): java.lang.Object
public synthetic final static method main(p0: java.lang.String[]): void
}
@kotlin.Metadata