summaryrefslogtreecommitdiff
path: root/chiselFrontend/src/main/scala/chisel3/internal
diff options
context:
space:
mode:
authorgrebe2016-12-22 15:01:48 -0500
committerGitHub2016-12-22 15:01:48 -0500
commit33854075e4c50995d0011f773813571535a830fa (patch)
tree56bb7e5ad2111ae3cb3c5f6dbf0a1a65f878a674 /chiselFrontend/src/main/scala/chisel3/internal
parent033e71a69767664c4bfae246d6cef2e2880c4404 (diff)
parent4eebd787312792f7a3722af61ab7e6349081d3b4 (diff)
Merge branch 'master' into fixedPointFromBits
Diffstat (limited to 'chiselFrontend/src/main/scala/chisel3/internal')
-rw-r--r--chiselFrontend/src/main/scala/chisel3/internal/Builder.scala12
1 files changed, 11 insertions, 1 deletions
diff --git a/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala b/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
index 7a77763b..6e463311 100644
--- a/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
+++ b/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
@@ -170,7 +170,7 @@ private[chisel3] object Builder {
}
def forcedModule: Module = currentModule match {
case Some(module) => module
- case None => throw new Exception(
+ case None => throwException(
"Error: Not in a Module. Likely cause: Missed Module() wrap or bare chisel API call."
// A bare api call is, e.g. calling Wire() from the scala console).
)
@@ -200,6 +200,16 @@ private[chisel3] object Builder {
def warning(m: => String): Unit = errors.warning(m)
def deprecated(m: => String): Unit = errors.deprecated(m)
+ /** Record an exception as an error, and throw it.
+ *
+ * @param m exception message
+ */
+ @throws(classOf[ChiselException])
+ def exception(m: => String): Unit = {
+ error(m)
+ throwException(m)
+ }
+
def build[T <: Module](f: => T): Circuit = {
dynamicContextVar.withValue(Some(new DynamicContext())) {
errors.info("Elaborating design...")