From 7b1babf87ef9eef968a0d9efedc389886aafbf70 Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Thu, 8 Oct 2015 15:44:18 -0700 Subject: Handle IllegalArgumentExcetions that mean a cloneType is needed When trying to cloneType() on classes that take a builtin (like Int), we get an IllegalArgumentException instead of a InvocationTargetException. This change prints a nice error message instead of a stack trace. --- src/main/scala/Chisel/Core.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/main/scala/Chisel/Core.scala b/src/main/scala/Chisel/Core.scala index ad938085..3d39b403 100644 --- a/src/main/scala/Chisel/Core.scala +++ b/src/main/scala/Chisel/Core.scala @@ -791,7 +791,7 @@ class Bundle extends Aggregate(NO_DIR) { Builder.error(s"Parameterized Bundle ${this.getClass} needs cloneType method. You are probably using an anonymous Bundle object that captures external state and hence is un-cloneTypeable") this } - case _: java.lang.reflect.InvocationTargetException => + case _: java.lang.reflect.InvocationTargetException | _: java.lang.IllegalArgumentException => Builder.error(s"Parameterized Bundle ${this.getClass} needs cloneType method") this } -- cgit v1.2.3