IC Mangling: Correctly mangle functions with generic return type

if the type's parent is inline class.
 #KT-43050 Fixed
 #KT-26130 Fixed
 #KT-32384 Fixed
This commit is contained in:
Ilmir Usmanov
2020-12-23 23:23:21 +01:00
parent f8cca288ab
commit 9c67d8f89e
7 changed files with 55 additions and 7 deletions
@@ -0,0 +1,8 @@
inline class X(val x: Any?)
interface IFoo<out T : X?> {
fun foo(): T
}
fun <T : X> foo(x: T) {}
@@ -0,0 +1,30 @@
@kotlin.Metadata
public final class GenericChildKt {
// source: 'genericChild.kt'
public final static method foo-p_PkZps(@org.jetbrains.annotations.NotNull p0: java.lang.Object): void
}
@kotlin.Metadata
public interface IFoo {
// source: 'genericChild.kt'
public abstract method foo-HezMcGQ(): X
}
@kotlin.jvm.JvmInline
@kotlin.Metadata
public final class X {
// source: 'genericChild.kt'
private final @org.jetbrains.annotations.Nullable field x: java.lang.Object
private synthetic method <init>(p0: java.lang.Object): void
public synthetic final static method box-impl(p0: java.lang.Object): X
public static @org.jetbrains.annotations.NotNull method constructor-impl(@org.jetbrains.annotations.Nullable p0: java.lang.Object): java.lang.Object
public method equals(p0: java.lang.Object): boolean
public static method equals-impl(p0: java.lang.Object, p1: java.lang.Object): boolean
public final static method equals-impl0(p0: java.lang.Object, p1: java.lang.Object): boolean
public final @org.jetbrains.annotations.Nullable method getX(): java.lang.Object
public method hashCode(): int
public static method hashCode-impl(p0: java.lang.Object): int
public method toString(): java.lang.String
public static method toString-impl(p0: java.lang.Object): java.lang.String
public synthetic final method unbox-impl(): java.lang.Object
}