[ULC] Add annotations for PsiTypes in UltraLight classes
WIP on KT-41148, KT-41406, KT-41420
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
public final class A /* A*/ {
|
||||
public A();// .ctor()
|
||||
|
||||
public final void foo(@org.jetbrains.annotations.NotNull() kotlin.jvm.functions.Function4<? super RS,? super P,? super P,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,? extends java.lang.Object>);// foo(kotlin.jvm.functions.Function4<? super RS,? super P,? super P,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,? extends java.lang.Object>)
|
||||
public final void foo(@org.jetbrains.annotations.NotNull() kotlin.jvm.functions.Function4<? super RS, ? super P, ? super P, ? super kotlin.coroutines.Continuation<? super kotlin.Unit>, ? extends java.lang.Object>);// foo(kotlin.jvm.functions.Function4<? super RS, ? super P, ? super P, ? super kotlin.coroutines.Continuation<? super kotlin.Unit>, ? extends java.lang.Object>)
|
||||
|
||||
public final void foo(@org.jetbrains.annotations.Nullable() P, @org.jetbrains.annotations.Nullable() P);// foo(P, P)
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ public abstract class A /* A*/<T extends A<T>> extends B<java.util.Collection<?
|
||||
public class Inner /* A.Inner*/<D> extends B<java.util.Collection<? extends T>> implements C<D> {
|
||||
public Inner();// .ctor()
|
||||
|
||||
}public final class Inner2 /* A.Inner2*/<X> extends A<T>.Inner<X> implements C<X> {
|
||||
}public final class Inner2 /* A.Inner2*/<X> extends A.Inner<X> implements C<X> {
|
||||
public Inner2();// .ctor()
|
||||
|
||||
}}
|
||||
@@ -1,4 +1,4 @@
|
||||
public final class TypeHierarchyMap /* p1.TypeHierarchyMap*/<TValue> implements java.util.Map<java.lang.Class<?>,TValue>, kotlin.collections.Map<java.lang.Class<?>,TValue>, kotlin.jvm.internal.markers.KMappedMarker {
|
||||
public final class TypeHierarchyMap /* p1.TypeHierarchyMap*/<TValue> implements java.util.Map<java.lang.Class<?>, TValue>, kotlin.collections.Map<java.lang.Class<?>, TValue>, kotlin.jvm.internal.markers.KMappedMarker {
|
||||
public TypeHierarchyMap();// .ctor()
|
||||
|
||||
public boolean containsKey(@org.jetbrains.annotations.NotNull() java.lang.Class<?>);// containsKey(java.lang.Class<?>)
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.PARAMETER})
|
||||
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.VALUE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE})
|
||||
public abstract @interface A0 /* A0*/ {
|
||||
}
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.PARAMETER})
|
||||
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.VALUE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE})
|
||||
public abstract @interface A1 /* A1*/ {
|
||||
}
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.PARAMETER})
|
||||
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.VALUE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE})
|
||||
public abstract @interface A2 /* A2*/ {
|
||||
}
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.PARAMETER})
|
||||
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.VALUE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE})
|
||||
public abstract @interface A3 /* A3*/ {
|
||||
}
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.PARAMETER})
|
||||
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.VALUE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE})
|
||||
public abstract @interface A4 /* A4*/ {
|
||||
}
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.PARAMETER})
|
||||
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.VALUE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE})
|
||||
public abstract @interface A5 /* A5*/ {
|
||||
}
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.PARAMETER})
|
||||
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.VALUE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE})
|
||||
public abstract @interface A6 /* A6*/ {
|
||||
}
|
||||
|
||||
public abstract interface P /* P*/<T, K> {
|
||||
}
|
||||
|
||||
public final class X /* X*/ {
|
||||
public X();// .ctor()
|
||||
|
||||
}
|
||||
|
||||
public final class Y /* Y*/ {
|
||||
public Y();// .ctor()
|
||||
|
||||
}
|
||||
|
||||
public final class klass /* klass*/ {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final @A6() X annotatedMethod(@org.jetbrains.annotations.NotNull() @A0() P<@A1() X, P<@A2() @A3() X, @A4() Y>>, @org.jetbrains.annotations.NotNull() @A5() Y[]);// annotatedMethod(@A0() P<@A1() X, P<@A2() @A3() X, @A4() Y>>, @A5() Y[])
|
||||
|
||||
public klass();// .ctor()
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE)
|
||||
annotation class A0
|
||||
@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE)
|
||||
annotation class A1
|
||||
@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE)
|
||||
annotation class A2
|
||||
@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE)
|
||||
annotation class A3
|
||||
@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE)
|
||||
annotation class A4
|
||||
@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE)
|
||||
annotation class A5
|
||||
@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE)
|
||||
annotation class A6
|
||||
|
||||
interface P<T, K>
|
||||
|
||||
class X
|
||||
class Y
|
||||
|
||||
class klass {
|
||||
fun annotatedMethod(x: @A0 P<@A1 X, P<@A2 @A3 X, @A4 Y>>, y: Array<@A5 Y>): @A6 X {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user