Files
strangepleasures 2423b7b62f [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>
2023-08-17 21:43:54 +00:00

107 lines
2.0 KiB
Plaintext
Vendored

/**
* public final class AnotherRootClass : kotlin/Any {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class AnotherRootClass {
public AnotherRootClass() {
super();
}
}
////////////////////
/**
* public final class RootClass : kotlin/Any {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class RootClass {
public RootClass() {
super();
}
}
////////////////////
package test;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.annotation.ElementType;
@Target(value = {ElementType.TYPE, ElementType.METHOD})
@Retention(value = RetentionPolicy.RUNTIME)
public @interface ClassRefAnnotation {
Class<?>[] value();
}
////////////////////
package test;
/**
* public abstract interface test/PackedClass : kotlin/Any {
*
* // signature: oneMoreMethod()LAnotherRootClass;
* public abstract fun oneMoreMethod(): AnotherRootClass
*
* // signature: otherMethod()Ljava/lang/Number;
* public abstract fun otherMethod(): java/lang/Number
*
* // signature: someMethod()LRootClass;
* public abstract fun someMethod(): RootClass
*
* // module name: main
* }
*/
@kotlin.Metadata()
public abstract interface PackedClass {
@org.jetbrains.annotations.NotNull()
public abstract RootClass someMethod();
@org.jetbrains.annotations.NotNull()
public abstract java.lang.Number otherMethod();
@org.jetbrains.annotations.NotNull()
public abstract AnotherRootClass oneMoreMethod();
}
////////////////////
package test;
@ClassRefAnnotation(value = {RootClass.class})
/**
* public final class test/PackedWithAnnotation : kotlin/Any {
*
* // signature: <init>()V
* public constructor()
*
* // module name: main
* }
*/
@kotlin.Metadata()
public final class PackedWithAnnotation {
public PackedWithAnnotation() {
super();
}
}