[JVM IR] Use reference equality when comparing enums.
This commit is contained in:
committed by
Alexander Udalov
parent
a732e8f5fe
commit
368b0d9b0b
@@ -240,8 +240,9 @@ class ObjectCompare(
|
||||
|
||||
companion object {
|
||||
fun getObjectCompareOpcode(opToken: IElementType): Int = when (opToken) {
|
||||
KtTokens.EQEQEQ -> IF_ACMPNE
|
||||
KtTokens.EXCLEQEQEQ -> IF_ACMPEQ
|
||||
// "==" and "!=" are here because enum values are compared using reference equality.
|
||||
KtTokens.EQEQEQ, KtTokens.EQEQ -> IF_ACMPNE
|
||||
KtTokens.EXCLEQEQEQ, KtTokens.EXCLEQ -> IF_ACMPEQ
|
||||
else -> throw UnsupportedOperationException("don't know how to generate this condjump")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user