Support JvmName on annotation constructor parameters
#KT-25372 Fixed
This commit is contained in:
committed by
Ilya Gorbunov
parent
dc1f4c7d5b
commit
b55fc818d1
+6
-1
@@ -26,8 +26,11 @@ annotation class A(
|
||||
|
||||
annotation class B(val value: String)
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class JvmNamed(@get:JvmName("uglyJvmName") val value: String)
|
||||
|
||||
class C {
|
||||
fun typeAnnotation(): @A(
|
||||
fun returnTypeAnnotation(): @A(
|
||||
true,
|
||||
'x',
|
||||
1.toByte(),
|
||||
@@ -49,4 +52,6 @@ class C {
|
||||
C::class,
|
||||
B(value = "aba\ncaba'\"\t\u0001\u0002\uA66E")
|
||||
) Unit {}
|
||||
|
||||
fun parameterTypeAnnotation(p: @JvmNamed("Q_Q") Any): Any = p
|
||||
}
|
||||
|
||||
+37
-2
@@ -5,63 +5,83 @@ public final annotation class A : kotlin/Annotation {
|
||||
// signature: <init>(ZCBSIFJD[Z[C[B[S[I[F[J[DLjava/lang/String;Lkotlin/annotation/AnnotationTarget;Lkotlin/reflect/KClass;LB;)V
|
||||
public /* primary */ constructor(z: kotlin/Boolean, c: kotlin/Char, b: kotlin/Byte, s: kotlin/Short, i: kotlin/Int, f: kotlin/Float, j: kotlin/Long, d: kotlin/Double, za: kotlin/BooleanArray, ca: kotlin/CharArray, ba: kotlin/ByteArray, sa: kotlin/ShortArray, ia: kotlin/IntArray, fa: kotlin/FloatArray, ja: kotlin/LongArray, da: kotlin/DoubleArray, str: kotlin/String, enum: kotlin/annotation/AnnotationTarget, klass: kotlin/reflect/KClass<*>, anno: B)
|
||||
|
||||
// getter: anno()LB;
|
||||
public final val anno: B
|
||||
public final get
|
||||
|
||||
// getter: b()B
|
||||
public final val b: kotlin/Byte
|
||||
public final get
|
||||
|
||||
// getter: ba()[B
|
||||
public final val ba: kotlin/ByteArray
|
||||
public final get
|
||||
|
||||
// getter: c()C
|
||||
public final val c: kotlin/Char
|
||||
public final get
|
||||
|
||||
// getter: ca()[C
|
||||
public final val ca: kotlin/CharArray
|
||||
public final get
|
||||
|
||||
// getter: d()D
|
||||
public final val d: kotlin/Double
|
||||
public final get
|
||||
|
||||
// getter: da()[D
|
||||
public final val da: kotlin/DoubleArray
|
||||
public final get
|
||||
|
||||
// getter: enum()Lkotlin/annotation/AnnotationTarget;
|
||||
public final val enum: kotlin/annotation/AnnotationTarget
|
||||
public final get
|
||||
|
||||
// getter: f()F
|
||||
public final val f: kotlin/Float
|
||||
public final get
|
||||
|
||||
// getter: fa()[F
|
||||
public final val fa: kotlin/FloatArray
|
||||
public final get
|
||||
|
||||
// getter: i()I
|
||||
public final val i: kotlin/Int
|
||||
public final get
|
||||
|
||||
// getter: ia()[I
|
||||
public final val ia: kotlin/IntArray
|
||||
public final get
|
||||
|
||||
// getter: j()J
|
||||
public final val j: kotlin/Long
|
||||
public final get
|
||||
|
||||
// getter: ja()[J
|
||||
public final val ja: kotlin/LongArray
|
||||
public final get
|
||||
|
||||
// getter: klass()Ljava/lang/Class;
|
||||
public final val klass: kotlin/reflect/KClass<*>
|
||||
public final get
|
||||
|
||||
// getter: s()S
|
||||
public final val s: kotlin/Short
|
||||
public final get
|
||||
|
||||
// getter: sa()[S
|
||||
public final val sa: kotlin/ShortArray
|
||||
public final get
|
||||
|
||||
// getter: str()Ljava/lang/String;
|
||||
public final val str: kotlin/String
|
||||
public final get
|
||||
|
||||
// getter: z()Z
|
||||
public final val z: kotlin/Boolean
|
||||
public final get
|
||||
|
||||
// getter: za()[Z
|
||||
public final val za: kotlin/BooleanArray
|
||||
public final get
|
||||
}
|
||||
@@ -72,6 +92,7 @@ public final annotation class B : kotlin/Annotation {
|
||||
// signature: <init>(Ljava/lang/String;)V
|
||||
public /* primary */ constructor(value: kotlin/String)
|
||||
|
||||
// getter: value()Ljava/lang/String;
|
||||
public final val value: kotlin/String
|
||||
public final get
|
||||
}
|
||||
@@ -82,8 +103,22 @@ public final class C : kotlin/Any {
|
||||
// signature: <init>()V
|
||||
public /* primary */ constructor()
|
||||
|
||||
// signature: typeAnnotation()V
|
||||
public final fun typeAnnotation(): @A(z = true, c = 'x', b = 1.toByte(), s = 42.toShort(), i = 42424242, f = -2.72f, j = 239239239239239L, d = 3.14, za = [true], ca = ['\''], ba = [1.toByte()], sa = [42.toShort()], ia = [42424242], fa = [-2.72f], ja = [239239239239239L], da = [3.14], str = "aba\ncaba'\"\t\u0001\u0002ꙮ", enum = kotlin/annotation/AnnotationTarget.CLASS, klass = C::class, anno = B(value = "aba\ncaba'\"\t\u0001\u0002ꙮ")) kotlin/Unit
|
||||
// signature: parameterTypeAnnotation(Ljava/lang/Object;)Ljava/lang/Object;
|
||||
public final fun parameterTypeAnnotation(p: @JvmNamed(value = "Q_Q") kotlin/Any): kotlin/Any
|
||||
|
||||
// signature: returnTypeAnnotation()V
|
||||
public final fun returnTypeAnnotation(): @A(z = true, c = 'x', b = 1.toByte(), s = 42.toShort(), i = 42424242, f = -2.72f, j = 239239239239239L, d = 3.14, za = [true], ca = ['\''], ba = [1.toByte()], sa = [42.toShort()], ia = [42424242], fa = [-2.72f], ja = [239239239239239L], da = [3.14], str = "aba\ncaba'\"\t\u0001\u0002ꙮ", enum = kotlin/annotation/AnnotationTarget.CLASS, klass = C::class, anno = B(value = "aba\ncaba'\"\t\u0001\u0002ꙮ")) kotlin/Unit
|
||||
}
|
||||
// JvmNamed.class
|
||||
// ------------------------------------------
|
||||
public final annotation class JvmNamed : kotlin/Annotation {
|
||||
|
||||
// signature: <init>(Ljava/lang/String;)V
|
||||
public /* primary */ constructor(value: kotlin/String)
|
||||
|
||||
// getter: uglyJvmName()Ljava/lang/String;
|
||||
public final val value: kotlin/String
|
||||
public final get
|
||||
}
|
||||
// META-INF/test-module.kotlin_module
|
||||
// ------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user