From edcb81a34dbf8a04d0b011aa1ca07c6e19598f23 Mon Sep 17 00:00:00 2001 From: Jim Lawson Date: Fri, 16 Feb 2018 17:10:30 -0800 Subject: Replacematcherror - catch exceptions and convert to internal error. (#424) * Catch exceptions and convert to internal error. We need to update the displayed message to incorporate a line number and text to be used for the issue. * Cleanup exception handling/throwing. Re-throw expected (or uncorrectable exceptions). Provide Utils.getThrowable() to get the first (eldest) or last throwable in the chain. Update tests to conform to FreeSpec protocol. * Minor cleanup Admit we've updated some deprecated ScalaTest methods. --- src/main/scala/firrtl/transforms/CheckCombLoops.scala | 4 ++-- src/main/scala/firrtl/transforms/ConstantPropagation.scala | 2 +- src/main/scala/firrtl/transforms/DeadCodeElimination.scala | 6 +++--- src/main/scala/firrtl/transforms/RemoveWires.scala | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src/main/scala/firrtl/transforms') diff --git a/src/main/scala/firrtl/transforms/CheckCombLoops.scala b/src/main/scala/firrtl/transforms/CheckCombLoops.scala index bb2ffea9..98d6c3d1 100644 --- a/src/main/scala/firrtl/transforms/CheckCombLoops.scala +++ b/src/main/scala/firrtl/transforms/CheckCombLoops.scala @@ -71,9 +71,9 @@ class CheckCombLoops extends Transform { memport.expr match { case memref: WRef => LogicNode(s.name,Some(memref.name),Some(memport.name)) - case _ => throwInternalError + case _ => throwInternalError(Some(s"toLogicNode: unrecognized subsubfield expression - $memport")) } - case _ => throwInternalError + case _ => throwInternalError(Some(s"toLogicNode: unrecognized subfield expression - $s")) } } diff --git a/src/main/scala/firrtl/transforms/ConstantPropagation.scala b/src/main/scala/firrtl/transforms/ConstantPropagation.scala index d08a7e6b..086f1cee 100644 --- a/src/main/scala/firrtl/transforms/ConstantPropagation.scala +++ b/src/main/scala/firrtl/transforms/ConstantPropagation.scala @@ -320,7 +320,7 @@ class ConstantPropagation extends Transform { case node: DefNode => node.copy(name = newName) case wire: DefWire => wire.copy(name = newName) case reg: DefRegister => reg.copy(name = newName) - case other => throwInternalError + case other => throwInternalError() } case other => other map backPropStmt } diff --git a/src/main/scala/firrtl/transforms/DeadCodeElimination.scala b/src/main/scala/firrtl/transforms/DeadCodeElimination.scala index 22e7da6e..054705c0 100644 --- a/src/main/scala/firrtl/transforms/DeadCodeElimination.scala +++ b/src/main/scala/firrtl/transforms/DeadCodeElimination.scala @@ -63,7 +63,7 @@ class DeadCodeElimination extends Transform { case ref @ (_: WRef | _: WSubField) => refs += ref case nested @ (_: Mux | _: DoPrim | _: ValidIf) => nested map rec case ignore @ (_: Literal) => // Do nothing - case unexpected => throwInternalError + case unexpected => throwInternalError() } e } @@ -136,7 +136,7 @@ class DeadCodeElimination extends Transform { // Add all ports as vertices mod.ports.foreach { case Port(_, name, _, _: GroundType) => depGraph.addVertex(LogicNode(mod.name, name)) - case other => throwInternalError + case other => throwInternalError() } onStmt(mod.body) } @@ -261,7 +261,7 @@ class DeadCodeElimination extends Transform { None } else { - if (ext.ports != portsx) throwInternalError // Sanity check + if (ext.ports != portsx) throwInternalError() // Sanity check Some(ext.copy(ports = portsx)) } } diff --git a/src/main/scala/firrtl/transforms/RemoveWires.scala b/src/main/scala/firrtl/transforms/RemoveWires.scala index a1fb32db..931288d9 100644 --- a/src/main/scala/firrtl/transforms/RemoveWires.scala +++ b/src/main/scala/firrtl/transforms/RemoveWires.scala @@ -99,7 +99,7 @@ class RemoveWires extends Transform { otherStmts += other case EmptyStmt => // Dont bother keeping EmptyStmts around case block: Block => block map onStmt - case _ => throwInternalError + case _ => throwInternalError() } stmt } -- cgit v1.2.3