JVM_IR KT-47326 downcast field receiver on JvmField lowering

This commit is contained in:
Dmitry Petrov
2021-06-18 17:55:51 +03:00
committed by TeamCityServer
parent ebc4e10684
commit c19792e7c5
24 changed files with 530 additions and 8 deletions
+9
View File
@@ -0,0 +1,9 @@
// WITH_RUNTIME
interface A { val x: Int }
class B(@JvmField override val x: Int): A
class C<D: A>(@JvmField val d: D)
class E(c: C<B>) { val ax = c.d.x }
+27
View File
@@ -0,0 +1,27 @@
@kotlin.Metadata
public interface A {
// source: 'kt47328.kt'
public abstract method getX(): int
}
@kotlin.Metadata
public final class B {
// source: 'kt47328.kt'
public final @kotlin.jvm.JvmField field x: int
public method <init>(p0: int): void
}
@kotlin.Metadata
public final class C {
// source: 'kt47328.kt'
public final @kotlin.jvm.JvmField @org.jetbrains.annotations.NotNull field d: A
public method <init>(@org.jetbrains.annotations.NotNull p0: A): void
}
@kotlin.Metadata
public final class E {
// source: 'kt47328.kt'
private final field ax: int
public method <init>(@org.jetbrains.annotations.NotNull p0: C): void
public final method getAx(): int
}