Stub generation infrastructure (except for metadata generation) for KAPT+K2

This commit includes the basic Java stubs generation infrastructure and
the corresponding tests. The main entry point is called
Kapt4StubGenerator. Calls to it from production code will be added in a
separate commit.

 #KT-51982
This commit is contained in:
Pavel Mikhailovskii
2023-07-20 21:58:23 +02:00
committed by Space Team
parent ae4fab8483
commit 2002542ad2
113 changed files with 8249 additions and 34 deletions
@@ -0,0 +1,106 @@
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface Anno {
}
////////////////////
@kotlin.Metadata()
public final class Bar {
@FieldAnno()
@org.jetbrains.annotations.NotNull()
private final java.lang.String a = "";
public Bar() {
super();
}
@org.jetbrains.annotations.NotNull()
public final java.lang.String getA() {
return null;
}
@PropertyAnno()
@Anno()
@java.lang.Deprecated()
public static void getA$annotations() {
}
}
////////////////////
@kotlin.Metadata()
public final class Baz {
@FieldAnno()
@kotlin.jvm.JvmField()
@org.jetbrains.annotations.NotNull()
public final java.lang.String a = "";
public Baz() {
super();
}
@Anno()
@java.lang.Deprecated()
public static void getA$annotations() {
}
}
////////////////////
@kotlin.Metadata()
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.FIELD})
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.FIELD})
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface FieldAnno {
}
////////////////////
@kotlin.Metadata()
public final class Foo {
@FieldAnno()
@org.jetbrains.annotations.NotNull()
private final java.lang.String a = null;
public Foo(@ParameterAnno()
@Anno()
@org.jetbrains.annotations.NotNull()
java.lang.String a) {
super();
}
@org.jetbrains.annotations.NotNull()
public final java.lang.String getA() {
return null;
}
@PropertyAnno()
@java.lang.Deprecated()
public static void getA$annotations() {
}
}
////////////////////
@kotlin.Metadata()
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.VALUE_PARAMETER})
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.PARAMETER})
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface ParameterAnno {
}
////////////////////
@kotlin.Metadata()
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.PROPERTY})
@java.lang.annotation.Target(value = {})
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface PropertyAnno {
}