Render all annotations in type parameters tests
This commit is contained in:
committed by
TeamCityServer
parent
c98dba6aea
commit
6182228de8
@@ -1,5 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
package foo
|
||||
|
||||
@@ -24,8 +24,10 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
public final void foo(foo.Bar s)
|
||||
@Lfoo/Ann;([]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/Ann2;([]) : METHOD_FORMAL_PARAMETER 0, 0;
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final foo.Bar foo()
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/Ann;([]) : METHOD_RETURN, null
|
||||
@Lfoo/Ann2;([]) : METHOD_RETURN, 0;
|
||||
|
||||
@@ -36,8 +38,10 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
@Lfoo/Ann;([]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/Ann2;([]) : METHOD_FORMAL_PARAMETER 0, [
|
||||
@Lfoo/Ann3;([]) : METHOD_FORMAL_PARAMETER 0, [0;
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final foo.Bar[] fooArray()
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/Ann;([]) : METHOD_RETURN, null
|
||||
@Lfoo/Ann2;([]) : METHOD_RETURN, [
|
||||
@Lfoo/Ann3;([]) : METHOD_RETURN, [0;
|
||||
@@ -47,8 +51,10 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
@Lfoo/Ann2;([]) : METHOD_FORMAL_PARAMETER 0, [
|
||||
@Lfoo/Ann3;([]) : METHOD_FORMAL_PARAMETER 0, [[
|
||||
@Lfoo/Ann4;([]) : METHOD_FORMAL_PARAMETER 0, [[0;
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final foo.Bar[][] fooArrayArray()
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/Ann;([]) : METHOD_RETURN, null
|
||||
@Lfoo/Ann2;([]) : METHOD_RETURN, [
|
||||
@Lfoo/Ann3;([]) : METHOD_RETURN, [[
|
||||
@@ -57,4 +63,5 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
public final void fooGeneric(foo.Bar s)
|
||||
@Lfoo/Ann;([]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/Ann2;([]) : METHOD_FORMAL_PARAMETER 0, 0;
|
||||
}
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
package foo
|
||||
|
||||
@@ -2,12 +2,15 @@ public final class foo/Kotlin$foo$1 : java/lang/Object {
|
||||
void <init>()
|
||||
|
||||
public final foo.Kotlin foo()
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
}
|
||||
|
||||
public final class foo/Kotlin : java/lang/Object {
|
||||
public void <init>(java.lang.String s, java.lang.String p)
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnn;([name="123"]) : METHOD_FORMAL_PARAMETER 1, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 1
|
||||
|
||||
private void <init>(java.lang.String s)
|
||||
@Lfoo/TypeAnn;([name="private"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
package foo
|
||||
|
||||
@@ -2,9 +2,11 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
public void <init>()
|
||||
|
||||
public final java.lang.Object foo(java.lang.String s, int x)
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="return"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnn;([name="2"]) : METHOD_FORMAL_PARAMETER 1, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public static java.lang.Object foo$default(foo.Kotlin p0, java.lang.String p1, int p2, int p3, java.lang.Object p4)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
package foo
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
package foo
|
||||
|
||||
@@ -4,6 +4,8 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
public final void foo2(java.lang.String $this$foo2, java.lang.String s)
|
||||
@Lfoo/TypeAnn;([name="ext"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnn;([name="param"]) : METHOD_FORMAL_PARAMETER 1, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 1
|
||||
}
|
||||
|
||||
public abstract interface foo/TypeAnn : java/lang/Object, java/lang/annotation/Annotation {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
package foo
|
||||
|
||||
@@ -6,6 +6,7 @@ final class foo/Kotlin$foo4$1 : kotlin/jvm/internal/Lambda, kotlin/jvm/functions
|
||||
public java.lang.Object invoke()
|
||||
|
||||
public final java.lang.String invoke()
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="2"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, null // invisible
|
||||
}
|
||||
@@ -14,14 +15,17 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
public void <init>()
|
||||
|
||||
public final java.lang.String foo2()
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="2"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, null // invisible
|
||||
|
||||
public final java.lang.String foo3()
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="2"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, null // invisible
|
||||
|
||||
public final java.lang.String foo4()
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="2"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, null // invisible
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
package foo
|
||||
|
||||
@@ -3,6 +3,7 @@ public final class foo/Kotlin$Inner : java/lang/Object {
|
||||
|
||||
public void <init>(foo.Kotlin this$0, java.lang.String s)
|
||||
@Lfoo/TypeAnn;([]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
}
|
||||
|
||||
public final class foo/Kotlin : java/lang/Object {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
@@ -2,15 +2,23 @@ public final class foo/FooClass : java/lang/Object {
|
||||
public void <init>()
|
||||
|
||||
public final java.lang.Object foo(java.lang.String s, int x)
|
||||
@Lkotlin/jvm/JvmOverloads;([]) // invisible
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="return"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnn;([name="2"]) : METHOD_FORMAL_PARAMETER 1, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final java.lang.Object foo(java.lang.String s)
|
||||
@Lkotlin/jvm/JvmOverloads;([]) // invisible
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="return"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final java.lang.Object foo()
|
||||
@Lkotlin/jvm/JvmOverloads;([]) // invisible
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="return"]) : METHOD_RETURN, null
|
||||
|
||||
public static java.lang.Object foo$default(foo.FooClass p0, java.lang.String p1, int p2, int p3, java.lang.Object p4)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
public final class foo/Foo : java/lang/Object {
|
||||
public final static foo.Foo INSTANCE
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
private void <init>()
|
||||
|
||||
public final static java.lang.Object foo(java.lang.String s, int x)
|
||||
@Lkotlin/jvm/JvmStatic;([])
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="return"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnn;([name="2"]) : METHOD_FORMAL_PARAMETER 1, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
}
|
||||
|
||||
public final class foo/FooClass$Companion : java/lang/Object {
|
||||
@@ -17,22 +21,29 @@ public final class foo/FooClass$Companion : java/lang/Object {
|
||||
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker)
|
||||
|
||||
public final java.lang.Object foo(java.lang.String s, int x)
|
||||
@Lkotlin/jvm/JvmStatic;([])
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="return"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnn;([name="2"]) : METHOD_FORMAL_PARAMETER 1, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
}
|
||||
|
||||
public final class foo/FooClass : java/lang/Object {
|
||||
public final static foo.FooClass$Companion Companion
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>()
|
||||
|
||||
public final static java.lang.Object foo(java.lang.String s, int x)
|
||||
@Lkotlin/jvm/JvmStatic;([])
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="return"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnn;([name="2"]) : METHOD_FORMAL_PARAMETER 1, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
}
|
||||
|
||||
public abstract interface foo/TypeAnn : java/lang/Object, java/lang/annotation/Annotation {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
package foo
|
||||
|
||||
@@ -22,26 +22,34 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
public void <init>()
|
||||
|
||||
public final void foo(foo.Outer$Inner s)
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final foo.Outer$Inner foo()
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
|
||||
public final void fooArray(foo.Outer$Inner[] s)
|
||||
@Lfoo/Ann;([]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final foo.Outer$Inner[] fooArray()
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/Ann;([]) : METHOD_RETURN, null
|
||||
|
||||
public final void fooArrayIn(java.lang.Object[] s)
|
||||
@Lfoo/Ann;([]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final foo.Outer$Inner[] fooArrayOut()
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/Ann;([]) : METHOD_RETURN, null
|
||||
|
||||
public final void fooGenericIn(foo.Bar s)
|
||||
@Lfoo/Ann;([]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final void fooGenericOut(foo.Bar s)
|
||||
@Lfoo/Ann;([]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
}
|
||||
|
||||
public final class foo/Outer$Inner : java/lang/Object {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
@@ -4,40 +4,51 @@ public final class foo/Kotlin$Companion : java/lang/Object {
|
||||
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker)
|
||||
|
||||
public final java.lang.String getCompanionVarProperty()
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, null // invisible
|
||||
|
||||
public final java.lang.String getJvmStatic()
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, null // invisible
|
||||
|
||||
public static void getJvmStatic$annotations()
|
||||
@Lkotlin/jvm/JvmStatic;([])
|
||||
|
||||
public final void setCompanionVarProperty(java.lang.String <set-?>)
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_FORMAL_PARAMETER 0, null // invisible
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final void setJvmStatic(java.lang.String <set-?>)
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_FORMAL_PARAMETER 0, null // invisible
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
}
|
||||
|
||||
public final class foo/Kotlin : java/lang/Object {
|
||||
public final static foo.Kotlin$Companion Companion
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
|
||||
private static java.lang.String companionVarProperty
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="1"]) : FIELD, null
|
||||
@Lfoo/TypeAnnBinary;([]) : FIELD, null // invisible
|
||||
|
||||
private java.lang.String customSetter
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="1"]) : FIELD, null
|
||||
@Lfoo/TypeAnnBinary;([]) : FIELD, null // invisible
|
||||
|
||||
public java.lang.String jvmField
|
||||
@Lkotlin/jvm/JvmField;([]) // invisible
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="1"]) : FIELD, null
|
||||
@Lfoo/TypeAnnBinary;([]) : FIELD, null // invisible
|
||||
|
||||
private static java.lang.String jvmStatic
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="1"]) : FIELD, null
|
||||
@Lfoo/TypeAnnBinary;([]) : FIELD, null // invisible
|
||||
|
||||
@@ -46,10 +57,12 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
@Lfoo/TypeAnnBinary;([]) : FIELD, null // invisible
|
||||
|
||||
private final java.lang.String valProp
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="1"]) : FIELD, null
|
||||
@Lfoo/TypeAnnBinary;([]) : FIELD, null // invisible
|
||||
|
||||
private java.lang.String varProp
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="1"]) : FIELD, null
|
||||
@Lfoo/TypeAnnBinary;([]) : FIELD, null // invisible
|
||||
|
||||
@@ -70,40 +83,49 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, null // invisible
|
||||
|
||||
public final java.lang.String getCustomSetter()
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, null // invisible
|
||||
|
||||
public final static java.lang.String getJvmStatic()
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, null // invisible
|
||||
|
||||
public final java.lang.String getLateinitProp()
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, null // invisible
|
||||
|
||||
public final int getUnannotatedGetter()
|
||||
|
||||
public final java.lang.String getValProp()
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, null // invisible
|
||||
|
||||
public final java.lang.String getVarProp()
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, null // invisible
|
||||
|
||||
public final void setCustomSetter(java.lang.String field)
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final static void setJvmStatic(java.lang.String <set-?>)
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_FORMAL_PARAMETER 0, null // invisible
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final void setLateinitProp(java.lang.String <set-?>)
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_FORMAL_PARAMETER 0, null // invisible
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final void setVarProp(java.lang.String <set-?>)
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_FORMAL_PARAMETER 0, null // invisible
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
}
|
||||
|
||||
public abstract interface foo/TypeAnn : java/lang/Object, java/lang/annotation/Annotation {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
package foo
|
||||
|
||||
@@ -4,16 +4,20 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
public final void foo(java.lang.String s)
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_FORMAL_PARAMETER 0, null // invisible
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final java.lang.String foo2()
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="2"]) : METHOD_RETURN, null
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, null // invisible
|
||||
|
||||
public final void fooArray(java.lang.String[] s)
|
||||
@Lfoo/TypeAnn;([name="3"]) : METHOD_FORMAL_PARAMETER 0, [
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_FORMAL_PARAMETER 0, [ // invisible
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final java.lang.String[] fooArray2()
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/TypeAnn;([name="4"]) : METHOD_RETURN, [
|
||||
@Lfoo/TypeAnnBinary;([]) : METHOD_RETURN, [ // invisible
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
package foo
|
||||
|
||||
@@ -4,10 +4,13 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
public final void foo(java.lang.String s, int x)
|
||||
@Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/TypeAnn;([name="2"]) : METHOD_FORMAL_PARAMETER 1, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final void fooArray(java.lang.String[] s, java.lang.Integer[] i)
|
||||
@Lfoo/TypeAnn;([name="3"]) : METHOD_FORMAL_PARAMETER 0, [
|
||||
@Lfoo/TypeAnn;([name="3"]) : METHOD_FORMAL_PARAMETER 1, [
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 1
|
||||
}
|
||||
|
||||
public abstract interface foo/TypeAnn : java/lang/Object, java/lang/annotation/Annotation {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
package foo
|
||||
|
||||
@@ -24,8 +24,10 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
public final void foo(foo.Outer$NestedStatic s)
|
||||
@Lfoo/Ann;([]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/Ann2;([]) : METHOD_FORMAL_PARAMETER 0, 0;
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final foo.Outer$NestedStatic foo()
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/Ann;([]) : METHOD_RETURN, null
|
||||
@Lfoo/Ann2;([]) : METHOD_RETURN, 0;
|
||||
|
||||
@@ -33,23 +35,29 @@ public final class foo/Kotlin : java/lang/Object {
|
||||
@Lfoo/Ann;([]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lfoo/Ann2;([]) : METHOD_FORMAL_PARAMETER 0, [
|
||||
@Lfoo/Ann3;([]) : METHOD_FORMAL_PARAMETER 0, [0;
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final foo.Outer$NestedStatic[] fooArray()
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/Ann;([]) : METHOD_RETURN, null
|
||||
@Lfoo/Ann2;([]) : METHOD_RETURN, [
|
||||
@Lfoo/Ann3;([]) : METHOD_RETURN, [0;
|
||||
|
||||
public final void fooArrayIn(java.lang.Object[] s)
|
||||
@Lfoo/Ann;([]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final foo.Outer$NestedStatic[] fooArrayOut()
|
||||
@Lorg/jetbrains/annotations/Nullable;([]) // invisible
|
||||
@Lfoo/Ann;([]) : METHOD_RETURN, null
|
||||
|
||||
public final void fooGenericIn(foo.Bar s)
|
||||
@Lfoo/Ann;([]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
|
||||
public final void fooGenericOut(foo.Bar s)
|
||||
@Lfoo/Ann;([]) : METHOD_FORMAL_PARAMETER 0, null
|
||||
@Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0
|
||||
}
|
||||
|
||||
public final class foo/Outer$NestedStatic : java/lang/Object {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
|
||||
// TYPE_ANNOTATIONS
|
||||
// RENDER_ANNOTATIONS
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
package foo
|
||||
|
||||
+48
-10
@@ -24,7 +24,7 @@ abstract class AbstractAsmLikeInstructionListingTest : CodegenTestCase() {
|
||||
private companion object {
|
||||
const val CURIOUS_ABOUT_DIRECTIVE = "// CURIOUS_ABOUT "
|
||||
const val LOCAL_VARIABLE_TABLE_DIRECTIVE = "// LOCAL_VARIABLE_TABLE"
|
||||
const val TYPE_ANNOTATIONS_DIRECTIVE = "// TYPE_ANNOTATIONS"
|
||||
const val RENDER_ANNOTATIONS_DIRECTIVE = "// RENDER_ANNOTATIONS"
|
||||
}
|
||||
|
||||
override fun doMultiFileTest(wholeFile: File, files: List<TestFile>) {
|
||||
@@ -44,10 +44,10 @@ abstract class AbstractAsmLikeInstructionListingTest : CodegenTestCase() {
|
||||
.flatMap { it.split(',').map { it.trim() } }
|
||||
|
||||
val showLocalVariables = testFileLines.any { it.trim() == LOCAL_VARIABLE_TABLE_DIRECTIVE }
|
||||
val showTypeAnnotations = testFileLines.any { it.trim() == TYPE_ANNOTATIONS_DIRECTIVE }
|
||||
val renderAnnotations = testFileLines.any { it.trim() == RENDER_ANNOTATIONS_DIRECTIVE }
|
||||
|
||||
KotlinTestUtils.assertEqualsToFile(txtFile, classes.joinToString(LINE_SEPARATOR.repeat(2)) {
|
||||
renderClassNode(it, printBytecodeForTheseMethods, showLocalVariables, showTypeAnnotations)
|
||||
renderClassNode(it, printBytecodeForTheseMethods, showLocalVariables, renderAnnotations)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ abstract class AbstractAsmLikeInstructionListingTest : CodegenTestCase() {
|
||||
clazz: ClassNode,
|
||||
showBytecodeForTheseMethods: List<String>,
|
||||
showLocalVariables: Boolean,
|
||||
showTypeAnnotations: Boolean
|
||||
renderAnnotations: Boolean
|
||||
): String {
|
||||
val fields = (clazz.fields ?: emptyList()).sortedBy { it.name }
|
||||
val methods = (clazz.methods ?: emptyList()).sortedBy { it.name }
|
||||
@@ -76,7 +76,7 @@ abstract class AbstractAsmLikeInstructionListingTest : CodegenTestCase() {
|
||||
|
||||
appendLine(" {")
|
||||
|
||||
fields.joinTo(this, LINE_SEPARATOR.repeat(2)) { renderField(it, showTypeAnnotations).withMargin() }
|
||||
fields.joinTo(this, LINE_SEPARATOR.repeat(2)) { renderField(it, renderAnnotations).withMargin() }
|
||||
|
||||
if (fields.isNotEmpty()) {
|
||||
appendLine().appendLine()
|
||||
@@ -84,22 +84,30 @@ abstract class AbstractAsmLikeInstructionListingTest : CodegenTestCase() {
|
||||
|
||||
methods.joinTo(this, LINE_SEPARATOR.repeat(2)) {
|
||||
val showBytecode = showBytecodeForTheseMethods.contains(it.name)
|
||||
renderMethod(it, showBytecode, showLocalVariables, showTypeAnnotations).withMargin()
|
||||
renderMethod(it, showBytecode, showLocalVariables, renderAnnotations).withMargin()
|
||||
}
|
||||
|
||||
appendLine().append("}")
|
||||
}
|
||||
}
|
||||
|
||||
private fun renderField(field: FieldNode, showTypeAnnotations: Boolean) = buildString {
|
||||
private fun renderField(field: FieldNode, renderAnnotations: Boolean) = buildString {
|
||||
renderVisibilityModifiers(field.access)
|
||||
renderModalityModifiers(field.access)
|
||||
append(Type.getType(field.desc).className).append(' ')
|
||||
append(field.name)
|
||||
|
||||
if (showTypeAnnotations) {
|
||||
if (renderAnnotations) {
|
||||
val textifier = Textifier()
|
||||
val visitor = TraceFieldVisitor(textifier)
|
||||
|
||||
field.visibleAnnotations?.forEach {
|
||||
it.accept(visitor.visitAnnotation(it.desc, true))
|
||||
}
|
||||
field.invisibleAnnotations?.forEach {
|
||||
it.accept(visitor.visitAnnotation(it.desc, false))
|
||||
}
|
||||
|
||||
field.visibleTypeAnnotations?.forEach {
|
||||
it.accept(visitor.visitTypeAnnotation(it.typeRef, it.typePath, it.desc, true))
|
||||
}
|
||||
@@ -116,7 +124,7 @@ abstract class AbstractAsmLikeInstructionListingTest : CodegenTestCase() {
|
||||
method: MethodNode,
|
||||
showBytecode: Boolean,
|
||||
showLocalVariables: Boolean,
|
||||
showTypeAnnotations: Boolean
|
||||
renderAnnotations: Boolean
|
||||
) = buildString {
|
||||
renderVisibilityModifiers(method.access)
|
||||
renderModalityModifiers(method.access)
|
||||
@@ -129,15 +137,45 @@ abstract class AbstractAsmLikeInstructionListingTest : CodegenTestCase() {
|
||||
"${type.className} $name"
|
||||
}.joinTo(this, prefix = "(", postfix = ")")
|
||||
|
||||
if (showTypeAnnotations) {
|
||||
if (renderAnnotations) {
|
||||
val textifier = Textifier()
|
||||
val visitor = TraceMethodVisitor(textifier)
|
||||
method.visibleAnnotations?.forEach {
|
||||
it.accept(visitor.visitAnnotation(it.desc, true))
|
||||
}
|
||||
method.invisibleAnnotations?.forEach {
|
||||
it.accept(visitor.visitAnnotation(it.desc, false))
|
||||
}
|
||||
|
||||
method.visibleTypeAnnotations?.forEach {
|
||||
it.accept(visitor.visitTypeAnnotation(it.typeRef, it.typePath, it.desc, true))
|
||||
}
|
||||
method.invisibleTypeAnnotations?.forEach {
|
||||
it.accept(visitor.visitTypeAnnotation(it.typeRef, it.typePath, it.desc, false))
|
||||
}
|
||||
|
||||
method.visibleParameterAnnotations?.forEachIndexed { index, parameterAnnotations: MutableList<AnnotationNode>? ->
|
||||
parameterAnnotations?.forEach {
|
||||
it.accept(
|
||||
visitor.visitParameterAnnotation(
|
||||
index,
|
||||
it.desc,
|
||||
true
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
method.invisibleParameterAnnotations?.forEachIndexed { index, parameterAnnotations: MutableList<AnnotationNode>? ->
|
||||
parameterAnnotations?.forEach {
|
||||
it.accept(
|
||||
visitor.visitParameterAnnotation(
|
||||
index,
|
||||
it.desc,
|
||||
false
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
textifier.getText().takeIf { it.isNotEmpty() }?.let {
|
||||
append("\n${textifier.getText().joinToString("").trimEnd()}")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user