Support generating computable properties inside inline classes

This commit is contained in:
Mikhail Zarechenskiy
2018-02-06 16:52:52 +03:00
parent 47aeeb36e4
commit 30c79ffadc
10 changed files with 88 additions and 3 deletions
@@ -0,0 +1,6 @@
// !LANGUAGE: +InlineClasses
inline class Foo(val x: Int) {
val prop: Int get() = 1
val asThis: Foo get() = this
}
@@ -0,0 +1,16 @@
@kotlin.Metadata
public final static class Foo$Erased {
public final static @org.jetbrains.annotations.NotNull method box(p0: int): Foo
public final static method getAsThis(p0: int): int
public final static method getProp(p0: int): int
}
@kotlin.Metadata
public final class Foo {
private final field x: int
public method <init>(p0: int): void
public final method getAsThis(): int
public final method getProp(): int
public final method getX(): int
public final method unbox(): int
}
@@ -0,0 +1,3 @@
// !LANGUAGE: +InlineClasses
inline class UInt private constructor(val value: Int)
@@ -0,0 +1,12 @@
@kotlin.Metadata
public final static class UInt$Erased {
public final static @org.jetbrains.annotations.NotNull method box(p0: int): UInt
}
@kotlin.Metadata
public final class UInt {
private final field value: int
private method <init>(p0: int): void
public final method getValue(): int
public final method unbox(): int
}