Value classes: Allow unsigned arrays in annotations

including varargs, apparently.
So, we allow unsigned types and unsigned arrays in annotations,
but disallow user-defined inline classes.
 #KT-23816 Fixed
This commit is contained in:
Ilmir Usmanov
2020-12-02 20:14:43 +01:00
parent a9c072f826
commit 516fce37db
16 changed files with 229 additions and 8 deletions
@@ -153,6 +153,10 @@ object StandardNames {
@JvmField val uShort: ClassId = ClassId.topLevel(uShortFqName)
@JvmField val uInt: ClassId = ClassId.topLevel(uIntFqName)
@JvmField val uLong: ClassId = ClassId.topLevel(uLongFqName)
@JvmField val uByteArrayFqName: FqName = fqName("UByteArray")
@JvmField val uShortArrayFqName: FqName = fqName("UShortArray")
@JvmField val uIntArrayFqName: FqName = fqName("UIntArray")
@JvmField val uLongArrayFqName: FqName = fqName("ULongArray")
@JvmField val primitiveTypeShortNames: Set<Name> = newHashSetWithExpectedSize<Name>(PrimitiveType.values().size).apply {
PrimitiveType.values().mapTo(this) { it.typeName }