FIR deserializer: support enum entries and their annotation usages

This commit is contained in:
Mikhail Glukhikh
2019-04-22 12:22:30 +03:00
parent b839e50ee2
commit a9db64989b
16 changed files with 207 additions and 69 deletions
@@ -6,6 +6,9 @@ public final class AnnotationInAnnotationArguments : R|kotlin/Any| {
public final enum class E : R|kotlin/Enum<test/E>| {
private constructor(): R|test/E|
public? final enum entry ENTRY {
}
}
public final annotation class EnumOption : R|kotlin/Annotation| {
@@ -1,6 +1,11 @@
public final enum class E : R|kotlin/Enum<test/E>| {
private constructor(): R|test/E|
public final enum entry CAKE : R|test/E| {
public open fun toString(): R|kotlin/String|
}
}
public final annotation class EnumAnno : R|kotlin/Annotation| {
@@ -17,4 +17,17 @@ public final annotation class Bnno : R|kotlin/Annotation| {
public final enum class Eee : R|kotlin/Enum<test/Eee>| {
private constructor(): R|test/Eee|
public? final enum entry Entry1 {
}
public? final enum entry Entry2 {
}
public? final enum entry Entry3 {
}
public? final enum entry Entry4 {
}
}
@@ -1,14 +1,24 @@
internal final enum class In : R|kotlin/Enum<test/In>| {
private constructor(): R|test/In|
public? final enum entry A {
}
}
private final enum class Pr : R|kotlin/Enum<test/Pr>| {
private constructor(): R|test/Pr|
public? final enum entry A {
}
}
public final enum class Pu : R|kotlin/Enum<test/Pu>| {
private constructor(): R|test/Pu|
public? final enum entry A {
}
}
@@ -7,4 +7,14 @@ public final enum class En : R|kotlin/Enum<test/En>| {
private constructor(b: R|kotlin/Boolean| = STUB, i: R|kotlin/Int| = STUB): R|test/En|
public? final enum entry E1 {
}
public? final enum entry E2 {
}
public? final enum entry E3 {
}
}
@@ -19,4 +19,11 @@ public final enum class Enum : R|kotlin/Enum<test/Enum>| {
public abstract interface Trait : R|kotlin/Any| {
}
public? final enum entry ENTRY1 {
}
public? final enum entry ENTRY2 {
}
}
@@ -4,6 +4,9 @@ public final class A : R|kotlin/Any| {
public final enum class E : R|kotlin/Enum<test/A.E>| {
private constructor(): R|test/A.E|
public? final enum entry ENTRY {
}
}
}
@@ -9,6 +9,9 @@ public final class A : R|kotlin/Any| {
public final enum class E : R|kotlin/Enum<test/A.E>| {
private constructor(): R|test/A.E|
public? final enum entry ENTRY {
}
}
}
@@ -1,4 +1,8 @@
public final enum class MyEnum : R|kotlin/Enum<test/MyEnum>| {
private constructor(): R|test/MyEnum|
public? final enum entry ENTRY {
}
}
@@ -1,4 +1,11 @@
public final enum class Test : R|kotlin/Enum<test/Test>| {
private constructor(a: R|kotlin/Int|): R|test/Test|
public? final enum entry A {
}
public? final enum entry B {
}
}
@@ -1,4 +1,29 @@
public final enum class E : R|kotlin/Enum<test/E>| {
private constructor(): R|test/E|
public? final enum entry ONE {
}
public? final enum entry TWO {
}
public? final enum entry THREE {
}
public? final enum entry FOUR {
}
public? final enum entry FIVE {
}
public? final enum entry SIX {
}
public? final enum entry SEVEN {
}
public? final enum entry EIGHT {
}
}