Support unsigned integers in kotlinx-metadata-jvm

#KT-25371 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2018-09-13 20:56:55 +03:00
parent dac4cb5d06
commit ed2b9172da
8 changed files with 116 additions and 5 deletions
+16
View File
@@ -10,6 +10,14 @@ annotation class A(
val f: Float,
val j: Long,
val d: Double,
val ui: UInt,
val ub: UByte,
val us: UShort,
val ul: ULong,
val ui_max: UInt,
val ub_max: UByte,
val us_max: UShort,
val ul_max: ULong,
val za: BooleanArray,
val ca: CharArray,
val ba: ByteArray,
@@ -39,6 +47,14 @@ class C {
-2.72f,
239239239239239L,
3.14,
1u,
0xFFu,
3u,
4uL,
0xFFFF_FFFFu,
UByte.MAX_VALUE,
0xFF_FFu,
18446744073709551615u,
[true],
['\''],
[1.toByte()],
+44 -3
View File
@@ -2,8 +2,9 @@
// ------------------------------------------
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)
// requires language version 1.3.0 (level=ERROR)
// signature: <init>(ZCBSIFJDLkotlin/UInt;Lkotlin/UByte;Lkotlin/UShort;Lkotlin/ULong;Lkotlin/UInt;Lkotlin/UByte;Lkotlin/UShort;Lkotlin/ULong;[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, ui: kotlin/UInt, ub: kotlin/UByte, us: kotlin/UShort, ul: kotlin/ULong, ui_max: kotlin/UInt, ub_max: kotlin/UByte, us_max: kotlin/UShort, ul_max: kotlin/ULong, 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
@@ -77,6 +78,46 @@ public final annotation class A : kotlin/Annotation {
public final val str: kotlin/String
public final get
// requires language version 1.3.0 (level=ERROR)
// getter: ub()B
public final val ub: kotlin/UByte
public final get
// requires language version 1.3.0 (level=ERROR)
// getter: ub_max()B
public final val ub_max: kotlin/UByte
public final get
// requires language version 1.3.0 (level=ERROR)
// getter: ui()I
public final val ui: kotlin/UInt
public final get
// requires language version 1.3.0 (level=ERROR)
// getter: ui_max()I
public final val ui_max: kotlin/UInt
public final get
// requires language version 1.3.0 (level=ERROR)
// getter: ul()J
public final val ul: kotlin/ULong
public final get
// requires language version 1.3.0 (level=ERROR)
// getter: ul_max()J
public final val ul_max: kotlin/ULong
public final get
// requires language version 1.3.0 (level=ERROR)
// getter: us()S
public final val us: kotlin/UShort
public final get
// requires language version 1.3.0 (level=ERROR)
// getter: us_max()S
public final val us_max: kotlin/UShort
public final get
// getter: z()Z
public final val z: kotlin/Boolean
public final get
@@ -107,7 +148,7 @@ public final class C : kotlin/Any {
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
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, ui = 1u, ub = 255.toUByte(), us = 3.toUShort(), ul = 4uL, ui_max = 4294967295u, ub_max = 255.toUByte(), us_max = 65535.toUShort(), ul_max = 18446744073709551615uL, 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
// ------------------------------------------