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,88 @@
@kotlin.Metadata()
public final class B {
public B() {
super();
}
}
////////////////////
@kotlin.Metadata()
public final class BParceler implements Parceler<B> {
@org.jetbrains.annotations.NotNull()
public static final BParceler INSTANCE = null;
private BParceler() {
super();
}
}
////////////////////
@kotlin.Metadata()
public final class C {
public C() {
super();
}
}
////////////////////
@kotlin.Metadata()
public final class CParceler implements Parceler<C> {
@org.jetbrains.annotations.NotNull()
public static final CParceler INSTANCE = null;
private CParceler() {
super();
}
}
////////////////////
@kotlin.Metadata()
public abstract interface Parceler<T extends java.lang.Object> {
}
////////////////////
@kotlin.Metadata()
@TypeParceler()
@TypeParceler()
public final class Test {
public Test() {
super();
}
}
////////////////////
@kotlin.Metadata()
@kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.SOURCE)
@kotlin.annotation.Repeatable()
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.PROPERTY})
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Repeatable(value = TypeParceler.Container.class)
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.TYPE})
public abstract @interface TypeParceler<T extends java.lang.Object, P extends Parceler<? super T>> {
@kotlin.Metadata()
@kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.SOURCE)
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.PROPERTY})
@kotlin.jvm.internal.RepeatableContainer()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.TYPE})
public static abstract @interface Container {
public abstract TypeParceler[] value();
}
}