Generate synthetic annotation method in interface if -Xjvm-default is on

This commit is contained in:
Mikhael Bogdanov
2021-02-23 14:45:30 +01:00
parent a101d12c78
commit 8764bb09f2
19 changed files with 431 additions and 5 deletions
@@ -0,0 +1,12 @@
// !JVM_DEFAULT_MODE: all-compatibility
// JVM_TARGET: 1.8
// WITH_RUNTIME
@Target(AnnotationTarget.PROPERTY)
annotation class Foo
interface Deprecated {
@Foo
val prop: String
}
@@ -0,0 +1,21 @@
@kotlin.Metadata
public final class Deprecated$DefaultImpls {
// source: 'interfaceProperty.kt'
public synthetic deprecated static @Foo method getProp$annotations(): void
public final inner class Deprecated$DefaultImpls
}
@kotlin.Metadata
public interface Deprecated {
// source: 'interfaceProperty.kt'
public abstract @org.jetbrains.annotations.NotNull method getProp(): java.lang.String
public final inner class Deprecated$DefaultImpls
}
@kotlin.annotation.Target
@java.lang.annotation.Retention
@java.lang.annotation.Target
@kotlin.Metadata
public annotation class Foo {
// source: 'interfaceProperty.kt'
}
@@ -0,0 +1,11 @@
// !JVM_DEFAULT_MODE: enable
// JVM_TARGET: 1.8
// WITH_RUNTIME
@Target(AnnotationTarget.PROPERTY)
annotation class Foo
interface Deprecated {
@Foo
val prop: String
}
@@ -0,0 +1,21 @@
@kotlin.Metadata
public final class Deprecated$DefaultImpls {
// source: 'interfaceProperty.kt'
public synthetic deprecated static @Foo method getProp$annotations(): void
public final inner class Deprecated$DefaultImpls
}
@kotlin.Metadata
public interface Deprecated {
// source: 'interfaceProperty.kt'
public abstract @org.jetbrains.annotations.NotNull method getProp(): java.lang.String
public final inner class Deprecated$DefaultImpls
}
@kotlin.annotation.Target
@java.lang.annotation.Retention
@java.lang.annotation.Target
@kotlin.Metadata
public annotation class Foo {
// source: 'interfaceProperty.kt'
}
@@ -0,0 +1,11 @@
// !JVM_DEFAULT_MODE: all
// JVM_TARGET: 1.8
// WITH_RUNTIME
@Target(AnnotationTarget.PROPERTY)
annotation class Foo
interface Deprecated {
@Foo
val prop: String
}
@@ -0,0 +1,14 @@
@kotlin.Metadata
public interface Deprecated {
// source: 'interfaceProperty.kt'
public synthetic deprecated static @Foo method getProp$annotations(): void
public abstract @org.jetbrains.annotations.NotNull method getProp(): java.lang.String
}
@kotlin.annotation.Target
@java.lang.annotation.Retention
@java.lang.annotation.Target
@kotlin.Metadata
public annotation class Foo {
// source: 'interfaceProperty.kt'
}