[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,5 +1,14 @@
package modifiers;
/**
* internal final class modifiers/InternalClass : kotlin/Any {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class InternalClass {
@@ -12,6 +21,12 @@ public final class InternalClass {
package modifiers;
/**
* internal abstract interface modifiers/InternalInterface : kotlin/Any {
*
* // module name: main
* }
*/
@kotlin.Metadata()
public abstract interface InternalInterface {
}
@@ -20,6 +35,33 @@ public abstract interface InternalInterface {
package modifiers;
/**
* public final class modifiers/Modifiers : kotlin/Any {
*
* // signature: <init>()V
* public constructor()
*
* // signature: overloads(Ljava/lang/String;I)Ljava/lang/String;
* public final fun overloads(a: kotlin/String (* = ... *), n: kotlin/Int (* = ... *)): kotlin/String
*
* // signature: strictFp()V
* public final fun strictFp(): kotlin/Unit
*
* // field: transientField:Ljava/lang/String;
* // getter: getTransientField()Ljava/lang/String;
* public final val transientField: kotlin/String (* = ... *)
* public final get
*
* // field: volatileField:Ljava/lang/String;
* // getter: getVolatileField()Ljava/lang/String;
* // setter: setVolatileField(Ljava/lang/String;)V
* public final var volatileField: kotlin/String
* public final get
* public final set
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class Modifiers {
@kotlin.jvm.Transient()
@@ -76,6 +118,15 @@ public final class Modifiers {
package modifiers;
/**
* private final class modifiers/PrivateClass : kotlin/Any {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
final class PrivateClass {
@@ -88,6 +139,12 @@ final class PrivateClass {
package modifiers;
/**
* private abstract interface modifiers/PrivateInterface : kotlin/Any {
*
* // module name: main
* }
*/
@kotlin.Metadata()
abstract interface PrivateInterface {
}
@@ -96,6 +153,15 @@ abstract interface PrivateInterface {
package modifiers;
/**
* public final class modifiers/PublicClass : kotlin/Any {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class PublicClass {
@@ -108,6 +174,15 @@ public final class PublicClass {
package modifiers;
/**
* public abstract class modifiers/PublicClassPrivateConstructor : kotlin/Any {
*
* // signature: <init>()V
* private constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
public abstract class PublicClassPrivateConstructor {
@@ -120,6 +195,19 @@ public abstract class PublicClassPrivateConstructor {
package modifiers;
/**
* public open class modifiers/PublicClassProtectedConstructor : kotlin/Any {
*
* // signature: <init>()V
* protected constructor()
*
* // nested class: PrivateInterface
*
* // nested class: ProtectedInterface
*
* // module name: main
* }
*/
@kotlin.Metadata()
public class PublicClassProtectedConstructor {
@@ -127,10 +215,22 @@ public class PublicClassProtectedConstructor {
super();
}
/**
* protected abstract interface modifiers/PublicClassProtectedConstructor.ProtectedInterface : kotlin/Any {
*
* // module name: main
* }
*/
@kotlin.Metadata()
public static abstract interface ProtectedInterface {
}
/**
* private abstract interface modifiers/PublicClassProtectedConstructor.PrivateInterface : kotlin/Any {
*
* // module name: main
* }
*/
@kotlin.Metadata()
static abstract interface PrivateInterface {
}
@@ -140,6 +240,12 @@ public class PublicClassProtectedConstructor {
package modifiers;
/**
* public abstract interface modifiers/PublicInterface : kotlin/Any {
*
* // module name: main
* }
*/
@kotlin.Metadata()
public abstract interface PublicInterface {
}
@@ -148,6 +254,27 @@ public abstract interface PublicInterface {
package modifiers;
/**
* public sealed class modifiers/SealedClass : kotlin/Any {
*
* // signature: <init>()V
* protected constructor()
*
* // nested class: Four
*
* // nested class: One
*
* // nested class: Three
*
* // nested class: Two
*
* // sealed subclass: modifiers/SealedClass.One
*
* // sealed subclass: modifiers/SealedClass.Two
*
* // module name: main
* }
*/
@kotlin.Metadata()
public abstract class SealedClass {
@@ -155,6 +282,15 @@ public abstract class SealedClass {
super();
}
/**
* public final class modifiers/SealedClass.One : modifiers/SealedClass {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
public static final class One extends modifiers.SealedClass {
@@ -163,6 +299,15 @@ public abstract class SealedClass {
}
}
/**
* public open class modifiers/SealedClass.Two : modifiers/SealedClass {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
public static class Two extends modifiers.SealedClass {
@@ -171,6 +316,15 @@ public abstract class SealedClass {
}
}
/**
* public abstract class modifiers/SealedClass.Three : modifiers/SealedClass.Two {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
public static abstract class Three extends modifiers.SealedClass.Two {
@@ -179,6 +333,15 @@ public abstract class SealedClass {
}
}
/**
* public final class modifiers/SealedClass.Four : modifiers/SealedClass.Three {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
public static final class Four extends modifiers.SealedClass.Three {