From 3ae4c033b6a2ffe2af54032af4b12a6c0f2de8a7 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Fri, 29 Jan 2016 19:01:06 +0300 Subject: [PATCH] Wrap exceptions thrown by class builders and add details about class file being generated. --- .../jetbrains/kotlin/codegen/ClassFileFactory.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ClassFileFactory.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ClassFileFactory.java index ba2d3b8c85e..213b8b6a2bd 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ClassFileFactory.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ClassFileFactory.java @@ -286,13 +286,23 @@ public class ClassFileFactory implements OutputFileCollection { @NotNull @Override public byte[] asByteArray() { - return generators.get(relativeClassFilePath).asBytes(builderFactory); + try { + return generators.get(relativeClassFilePath).asBytes(builderFactory); + } + catch (RuntimeException e) { + throw new RuntimeException("Error generating class file " + this.toString() + ": " + e.getMessage(), e); + } } @NotNull @Override public String asText() { - return generators.get(relativeClassFilePath).asText(builderFactory); + try { + return generators.get(relativeClassFilePath).asText(builderFactory); + } + catch (RuntimeException e) { + throw new RuntimeException("Error generating class file " + this.toString() + ": " + e.getMessage(), e); + } } @NotNull