Add "hasEnumEntries" class flag to kotlinx-metadata
^KT-53929 Fixed
This commit is contained in:
@@ -501,6 +501,10 @@ class ClassPrinter(private val settings: KotlinpSettings) : AbstractPrinter<Kotl
|
||||
supertypes.joinTo(result)
|
||||
}
|
||||
result.appendLine(" {")
|
||||
if (Flag.Class.HAS_ENUM_ENTRIES(flags!!)) {
|
||||
sb.appendLine()
|
||||
sb.appendLine(" // has Enum.entries")
|
||||
}
|
||||
result.append(sb)
|
||||
result.appendLine("}")
|
||||
}
|
||||
|
||||
+10
@@ -44,6 +44,11 @@ public class KotlinpTestGenerated extends AbstractKotlinpTest {
|
||||
runTest("libraries/tools/kotlinp/testData/Contracts.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("EnumEntries.kt")
|
||||
public void testEnumEntries() throws Exception {
|
||||
runTest("libraries/tools/kotlinp/testData/EnumEntries.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("FunInterface.kt")
|
||||
public void testFunInterface() throws Exception {
|
||||
runTest("libraries/tools/kotlinp/testData/FunInterface.kt");
|
||||
@@ -74,6 +79,11 @@ public class KotlinpTestGenerated extends AbstractKotlinpTest {
|
||||
runTest("libraries/tools/kotlinp/testData/NestedClasses.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("NotEnumWithEnumEntriesEnabled.kt")
|
||||
public void testNotEnumWithEnumEntriesEnabled() throws Exception {
|
||||
runTest("libraries/tools/kotlinp/testData/NotEnumWithEnumEntriesEnabled.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("OptionalAnnotation.kt")
|
||||
public void testOptionalAnnotation() throws Exception {
|
||||
runTest("libraries/tools/kotlinp/testData/OptionalAnnotation.kt");
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
// !LANGUAGE: +EnumEntries
|
||||
|
||||
enum class MyEnum {
|
||||
ONE, TWO
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
// MyEnum.class
|
||||
// ------------------------------------------
|
||||
public final enum class MyEnum : kotlin/Enum<MyEnum> {
|
||||
|
||||
// signature: <init>(Ljava/lang/String;I)V
|
||||
private constructor()
|
||||
|
||||
ONE,
|
||||
|
||||
TWO,
|
||||
|
||||
// module name: test-module
|
||||
|
||||
// has Enum.entries
|
||||
}
|
||||
// META-INF/test-module.kotlin_module
|
||||
// ------------------------------------------
|
||||
module {
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
// !LANGUAGE: +EnumEntries
|
||||
|
||||
class UsualClass {
|
||||
fun foo() {}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
// UsualClass.class
|
||||
// ------------------------------------------
|
||||
public final class UsualClass : kotlin/Any {
|
||||
|
||||
// signature: <init>()V
|
||||
public constructor()
|
||||
|
||||
// signature: foo()V
|
||||
public final fun foo(): kotlin/Unit
|
||||
|
||||
// module name: test-module
|
||||
}
|
||||
// META-INF/test-module.kotlin_module
|
||||
// ------------------------------------------
|
||||
module {
|
||||
}
|
||||
Reference in New Issue
Block a user