jvm-abi-gen: always keep annotation classes

This commit is contained in:
Steven Schäfer
2021-02-09 10:51:57 +01:00
committed by Alexander Udalov
parent c9b0cc5b32
commit c156613141
6 changed files with 104 additions and 1 deletions
@@ -0,0 +1,23 @@
package test
@Retention(AnnotationRetention.SOURCE)
private annotation class A1(val x: Int)
@Retention(AnnotationRetention.BINARY)
private annotation class A2(val x: Int)
@Retention(AnnotationRetention.RUNTIME)
private annotation class A3(val x: Int)
@Retention(AnnotationRetention.SOURCE)
annotation class B1(val x: Int)
@Retention(AnnotationRetention.BINARY)
annotation class B2(val x: Int)
@Retention(AnnotationRetention.RUNTIME)
annotation class B3(val x: Int)
@A1(0) @A2(1) @A3(2) class T1
@B1(0) @B2(1) @B3(2) class T2
@@ -0,0 +1,56 @@
@kotlin.annotation.Retention(value=SOURCE)
@java.lang.annotation.Retention(value=SOURCE)
@kotlin.Metadata
annotation class test/A1 {
// source: 'annotations.kt'
public abstract method x(): int
}
@kotlin.annotation.Retention(value=BINARY)
@java.lang.annotation.Retention(value=CLASS)
@kotlin.Metadata
annotation class test/A2 {
// source: 'annotations.kt'
public abstract method x(): int
}
@kotlin.annotation.Retention(value=RUNTIME)
@java.lang.annotation.Retention(value=RUNTIME)
@kotlin.Metadata
annotation class test/A3 {
// source: 'annotations.kt'
public abstract method x(): int
}
@kotlin.annotation.Retention(value=SOURCE)
@java.lang.annotation.Retention(value=SOURCE)
@kotlin.Metadata
public annotation class test/B1 {
// source: 'annotations.kt'
public abstract method x(): int
}
@kotlin.annotation.Retention(value=BINARY)
@java.lang.annotation.Retention(value=CLASS)
@kotlin.Metadata
public annotation class test/B2 {
// source: 'annotations.kt'
public abstract method x(): int
}
@kotlin.annotation.Retention(value=RUNTIME)
@java.lang.annotation.Retention(value=RUNTIME)
@kotlin.Metadata
public annotation class test/B3 {
// source: 'annotations.kt'
public abstract method x(): int
}
@test.A3(x=2)
@kotlin.Metadata
@test.A2(x=1)
public final class test/T1 {
// source: 'annotations.kt'
public method <init>(): void
}
@test.B3(x=2)
@kotlin.Metadata
@test.B2(x=1)
public final class test/T2 {
// source: 'annotations.kt'
public method <init>(): void
}