[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,16 @@
/**
* public final annotation class Anno : kotlin/Annotation {
*
* // signature: <init>(Lkotlin/reflect/KClass;)V
* public constructor(a: kotlin/reflect/KClass<kotlin/Any>)
*
* // getter: a()Ljava/lang/Class;
* public final val a: kotlin/reflect/KClass<kotlin/Any>
* public final get
*
* // module name: main
* }
*/
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface Anno {
@@ -8,6 +21,15 @@ public abstract @interface Anno {
////////////////////
/**
* public final class ErrorInAnnotation : kotlin/Any {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
@Anno(a = ABC.class)
public final class ErrorInAnnotation {
@@ -20,6 +42,30 @@ public final class ErrorInAnnotation {
////////////////////
/**
* public final class ErrorInConstructorParameter : kotlin/Any {
*
* // signature: <init>(Ljava/lang/String;Lerror/NonExistentClass;Ljava/util/List;)V
* public constructor(a: kotlin/String, b: error/NonExistentClass, c: kotlin/collections/List<error/NonExistentClass>)
*
* // field: a:Ljava/lang/String;
* // getter: getA()Ljava/lang/String;
* public final val a: kotlin/String
* public final get
*
* // field: b:Lerror/NonExistentClass;
* // getter: getB()Lerror/NonExistentClass;
* public final val b: error/NonExistentClass
* public final get
*
* // field: c:Ljava/util/List;
* // getter: getC()Ljava/util/List;
* public final val c: kotlin/collections/List<error/NonExistentClass>
* public final get
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class ErrorInConstructorParameter {
@org.jetbrains.annotations.NotNull()
@@ -55,6 +101,54 @@ public final class ErrorInConstructorParameter {
////////////////////
/**
* public final class ErrorInDeclarations : kotlin/Any {
*
* // signature: <init>()V
* public constructor()
*
* // signature: f1(Ljava/lang/String;Lerror/NonExistentClass;)V
* public final fun f1(a: kotlin/String, b: error/NonExistentClass): kotlin/Unit
*
* // signature: f2()V
* public final fun <T#0 (* T *) : kotlin/String> f2(): kotlin/Unit
*
* // signature: f3()V
* public final fun <T#0 (* T *) : error/NonExistentClass> f3(): kotlin/Unit
*
* // signature: f4()Lerror/NonExistentClass;
* public final fun f4(): error/NonExistentClass
*
* // signature: overloads(Lerror/NonExistentClass;)V
* public final fun overloads(a: error/NonExistentClass): kotlin/Unit
*
* // signature: overloads(Ljava/lang/String;)V
* public final fun overloads(a: kotlin/String): kotlin/Unit
*
* // field: p1:Ljava/lang/String;
* // getter: getP1()Ljava/lang/String;
* // setter: setP1(Ljava/lang/String;)V
* public final lateinit var p1: kotlin/String
* public final get
* public final set
*
* // field: p2:Lerror/NonExistentClass;
* // getter: getP2()Lerror/NonExistentClass;
* // setter: setP2(Lerror/NonExistentClass;)V
* public final lateinit var p2: error/NonExistentClass
* public final get
* public final set
*
* // field: p3:Lerror/NonExistentClass;
* // getter: getP3()Lerror/NonExistentClass;
* // setter: setP3(Lerror/NonExistentClass;)V
* public final lateinit var p3: error/NonExistentClass
* public final get
* public final set
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class ErrorInDeclarations {
public java.lang.String p1;
@@ -120,6 +214,15 @@ public final class ErrorInDeclarations {
////////////////////
/**
* public final class ErrorInSupertype : error/NonExistentClass {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class ErrorInSupertype implements ABC {
@@ -131,6 +234,15 @@ public final class ErrorInSupertype implements ABC {
////////////////////
/**
* public final class ErrorInSupertype2 : error/NonExistentClass {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class ErrorInSupertype2 extends ABC<java.lang.String> {