[KAPT4] KT-51982 Implement generation of @Metadata annotations in Java stubs

Also adds rendering of @Metadata annotations in Kapt3 and Kapt4 tests
(currently disabled for a few tests).

Co-authored-by: Alexander Udalov <alexander.udalov@jetbrains.com>
This commit is contained in:
strangepleasures
2023-07-31 23:09:08 +02:00
committed by Space Team
parent f40fc1b0c6
commit 2423b7b62f
250 changed files with 15438 additions and 81 deletions
@@ -1,3 +1,12 @@
/**
* public final annotation class Anno : kotlin/Annotation {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.PROPERTY})
@java.lang.annotation.Target(value = {})
@@ -8,6 +17,24 @@ public abstract @interface Anno {
////////////////////
/**
* public final enum class EnumError : kotlin/Enum<EnumError> {
*
* // signature: <init>(Ljava/lang/String;I)V
* private constructor()
*
* // signature: doIt()Ljava/lang/String;
* public abstract fun doIt(): kotlin/String
*
* One,
*
* Two,
*
* // module name: main
*
* // has Enum.entries
* }
*/
@kotlin.Metadata()
public enum EnumError {
/*public static final*/ One /* = new EnumError() */,
@@ -29,7 +56,13 @@ public enum EnumError {
/**
* Obj.
* public final object Obj : kotlin/Any {
*
* // signature: <init>()V
* private constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class Obj {
@@ -45,7 +78,38 @@ public final class Obj {
/**
* Test.
* public final class Test : kotlin/Any {
*
* // signature: <init>()V
* public constructor()
*
* // signature: method()V
* public final fun method(): kotlin/Unit
*
* // signature: method(I)V
* public final fun method(a: kotlin/Int): kotlin/Unit
*
* // signature: method(Ljava/lang/String;)V
* public final fun method(a: kotlin/String): kotlin/Unit
*
* // field: prop2:Ljava/lang/String;
* // getter: getProp2()Ljava/lang/String;
* // synthetic method for annotations: getProp2$annotations()V
* public final val prop2: kotlin/String (* = ... *)
* public final get
*
* // getter: getProp3()Ljava/lang/String;
* // setter: setProp3(Ljava/lang/String;)V
* public final var prop3: kotlin/String
* public final (* non-default *) get
* public final (* non-default *) set(v: kotlin/String)
*
* // field: prop:Ljava/lang/String;
* public final const val prop: kotlin/String (* = ... *)
* public final get
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class Test {
@@ -121,9 +185,18 @@ public final class Test {
/**
* Test2
* Multiline
* documentation.
* public final class Test2 : kotlin/Any {
*
* // signature: <init>(Ljava/lang/String;)V
* public constructor(a: kotlin/String)
*
* // field: a:Ljava/lang/String;
* // getter: getA()Ljava/lang/String;
* public final val a: kotlin/String
* public final get
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class Test2 {
@@ -145,7 +218,18 @@ public final class Test2 {
/**
* constructor.
* public final class Test3 : kotlin/Any {
*
* // signature: <init>(Ljava/lang/String;)V
* protected constructor(a: kotlin/String)
*
* // field: a:Ljava/lang/String;
* // getter: getA()Ljava/lang/String;
* public final val a: kotlin/String
* public final get
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class Test3 {
@@ -166,6 +250,18 @@ public final class Test3 {
////////////////////
/**
* public final class Test4 : kotlin/Any {
*
* // signature: <init>()V
* public constructor()
*
* // signature: method()V
* public final fun method(): kotlin/Unit
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class Test4 {
@@ -181,7 +277,10 @@ public final class Test4 {
/**
* `/ * Failure * /`
* public abstract interface TestComponent : kotlin/Any {
*
* // module name: main
* }
*/
@kotlin.Metadata()
public abstract interface TestComponent {