Support proper frame maps for enum valueOf

This commit is contained in:
Mikhael Bogdanov
2021-01-27 12:16:08 +01:00
parent 5b64ceceb3
commit 1a044e5af4
12 changed files with 93 additions and 0 deletions
@@ -84,6 +84,7 @@ private fun createSpecialEnumMethodBody(
Opcodes.INVOKESTATIC, ENUM_TYPE.internalName, "valueOf",
Type.getMethodDescriptor(ENUM_TYPE, JAVA_CLASS_TYPE, JAVA_STRING_TYPE), false
)
node.visitTypeInsn(Opcodes.CHECKCAST, ENUM_TYPE.internalName)
} else {
node.visitInsn(Opcodes.ICONST_0)
node.visitTypeInsn(Opcodes.ANEWARRAY, ENUM_TYPE.internalName)