From 6907decd99c64809122df0378c4500296de3e093 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 16 Jul 2020 12:50:17 +0200 Subject: [PATCH] Report file name on exception from ASM in BinaryJavaClass This is useful to diagnose cases like KT-40339 --- .../structure/impl/classFiles/BinaryJavaClass.kt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/classFiles/BinaryJavaClass.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/classFiles/BinaryJavaClass.kt index 893b93717fc..9a568559eb8 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/classFiles/BinaryJavaClass.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/classFiles/BinaryJavaClass.kt @@ -74,10 +74,14 @@ class BinaryJavaClass( } init { - ClassReader(classContent ?: virtualFile.contentsToByteArray()).accept( - this, - ClassReader.SKIP_CODE or ClassReader.SKIP_DEBUG or ClassReader.SKIP_FRAMES - ) + try { + ClassReader(classContent ?: virtualFile.contentsToByteArray()).accept( + this, + ClassReader.SKIP_CODE or ClassReader.SKIP_DEBUG or ClassReader.SKIP_FRAMES + ) + } catch (e: Throwable) { + throw IllegalStateException("Could not read class: $virtualFile", e) + } } override fun visitMethod(access: Int, name: String, desc: String, signature: String?, exceptions: Array?): MethodVisitor? {