Fix .equals for instantiated annotations with unsigned array types.
#KT-53876 Fixed
This commit is contained in:
committed by
Space Team
parent
0fea8073ef
commit
ccdb6fc599
+2
-1
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.ir.types.IrType
|
||||
import org.jetbrains.kotlin.ir.types.isArray
|
||||
import org.jetbrains.kotlin.ir.util.isAnnotationClass
|
||||
import org.jetbrains.kotlin.ir.util.isPrimitiveArray
|
||||
import org.jetbrains.kotlin.ir.util.isUnsignedArray
|
||||
|
||||
|
||||
// JS PIR (and IC) requires DeclarationTransformer instead of FileLoweringPass
|
||||
@@ -53,7 +54,7 @@ class JsAnnotationImplementationTransformer(val jsContext: JsIrBackendContext) :
|
||||
|
||||
override fun getArrayContentEqualsSymbol(type: IrType) =
|
||||
when {
|
||||
type.isPrimitiveArray() -> arraysContentEquals[type]
|
||||
type.isPrimitiveArray() || type.isUnsignedArray() -> arraysContentEquals[type]
|
||||
else -> arraysContentEquals.entries.singleOrNull { (k, _) -> k.isArray() }?.value
|
||||
} ?: compilationException("Can't find an Arrays.contentEquals method for array type", type)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user