Value classes: Generate @JvmInline annotation for inline classes

but not for value classes.
Since inline classes and value classes share the same flag, we use
presence of the annotation to distinguish them.
This commit is contained in:
Ilmir Usmanov
2020-11-19 22:00:27 +01:00
parent ae8abd1832
commit 129de76288
103 changed files with 1213 additions and 1056 deletions
@@ -24,7 +24,7 @@ public final class Test {
public final fun <get-z>(): test.Z
}
public final value class Z {
@kotlin.jvm.JvmInline /* annotation class not found */ public final value class Z {
/*primary*/ public constructor Z(/*0*/ x: kotlin.Int)
public final val x: kotlin.Int
public final fun <get-x>(): kotlin.Int
@@ -1,6 +1,6 @@
package test
public final value class Z {
@kotlin.jvm.JvmInline public final value class Z {
/*primary*/ internal constructor Z(/*0*/ kotlin.Int)
public final val value: kotlin.Int
public final fun <get-value>(): kotlin.Int
@@ -1,6 +1,6 @@
package test
public final value class Z {
@kotlin.jvm.JvmInline /* annotation class not found */ public final value class Z {
/*primary*/ @kotlin.PublishedApi internal constructor Z(/*0*/ value: kotlin.Int)
public final val value: kotlin.Int
public final fun <get-value>(): kotlin.Int