Add Flag.IS_VALUE for value classes to kotlinx-metadata-jvm

#KT-44783 Fixed
This commit is contained in:
Alexander Udalov
2021-03-05 20:28:33 +01:00
parent 6ddca4a592
commit ee11202db5
8 changed files with 52 additions and 6 deletions
@@ -946,7 +946,7 @@ private val CLASS_FLAGS_MAP = COMMON_FLAGS_MAP + mapOf(
Flag.Class.IS_DATA to "data",
Flag.Class.IS_EXTERNAL to "external",
Flag.Class.IS_EXPECT to "expect",
Flag.Class.IS_INLINE to "inline",
Flag.Class.IS_VALUE to "value",
Flag.Class.IS_FUN to "fun",
Flag.Class.IS_CLASS to "class",
@@ -109,6 +109,11 @@ public class KotlinpTestGenerated extends AbstractKotlinpTest {
runTest("libraries/tools/kotlinp/testData/TypeParameters.kt");
}
@TestMetadata("ValueClass.kt")
public void testValueClass() throws Exception {
runTest("libraries/tools/kotlinp/testData/ValueClass.kt");
}
@TestMetadata("VersionRequirement.kt")
public void testVersionRequirement() throws Exception {
runTest("libraries/tools/kotlinp/testData/VersionRequirement.kt");
+2
View File
@@ -0,0 +1,2 @@
@JvmInline
value class Z(val s: String)
+29
View File
@@ -0,0 +1,29 @@
// Z.class
// ------------------------------------------
// requires language version 1.3.0 (level=ERROR)
public final value class Z : kotlin/Any {
// requires language version 1.3.0 (level=ERROR)
// signature: constructor-impl(Ljava/lang/String;)Ljava/lang/String;
public constructor(s: kotlin/String)
// signature: equals-impl(Ljava/lang/String;Ljava/lang/Object;)Z
public open /* synthesized */ operator fun equals(other: kotlin/Any?): kotlin/Boolean
// signature: hashCode-impl(Ljava/lang/String;)I
public open /* synthesized */ fun hashCode(): kotlin/Int
// signature: toString-impl(Ljava/lang/String;)Ljava/lang/String;
public open /* synthesized */ fun toString(): kotlin/String
// field: s:Ljava/lang/String;
// getter: getS()Ljava/lang/String;
public final val s: kotlin/String
public final get
// module name: test-module
}
// META-INF/test-module.kotlin_module
// ------------------------------------------
module {
}