diff options
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/scala/firrtl/Compiler.scala | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/Compiler.scala b/src/main/scala/firrtl/Compiler.scala index 5a7dd4c8..6f921189 100644 --- a/src/main/scala/firrtl/Compiler.scala +++ b/src/main/scala/firrtl/Compiler.scala @@ -6,6 +6,8 @@ import logger._ import java.io.Writer import scala.collection.mutable +import scala.util.Try +import scala.util.control.NonFatal import firrtl.annotations._ import firrtl.ir.Circuit @@ -211,7 +213,14 @@ private[firrtl] object Transform { logger.info(s"Form: ${after.form}") logger.trace(s"Annotations:") - logger.trace(JsonProtocol.serialize(remappedAnnotations)) + logger.trace { + JsonProtocol.serializeTry(remappedAnnotations).recoverWith { + case NonFatal(e) => + val msg = s"Exception thrown during Annotation serialization:\n " + + e.toString.replaceAll("\n", "\n ") + Try(msg) + }.get + } logger.trace(s"Circuit:\n${after.circuit.serialize}") logger.info(s"======== Finished Transform $name ========\n") |
