summaryrefslogtreecommitdiff
path: root/src/main/scala/chisel3/internal
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/chisel3/internal')
-rw-r--r--src/main/scala/chisel3/internal/firrtl/Emitter.scala14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/main/scala/chisel3/internal/firrtl/Emitter.scala b/src/main/scala/chisel3/internal/firrtl/Emitter.scala
index 09984722..26ccc09d 100644
--- a/src/main/scala/chisel3/internal/firrtl/Emitter.scala
+++ b/src/main/scala/chisel3/internal/firrtl/Emitter.scala
@@ -159,10 +159,16 @@ private class Emitter(circuit: Circuit) {
* alternative-free statements reset the indent level to the
* enclosing block upon emission.
*/
- private def processWhens(cmds: Seq[Command]):
- Seq[Command] = { cmds.zip(cmds.tail).map({ case (a: WhenEnd, b:
- AltBegin) => a.copy(hasAlt = true) case (a, b) => a }) ++
- cmds.lastOption }
+ private def processWhens(cmds: Seq[Command]): Seq[Command] = {
+ if (cmds.isEmpty) {
+ Seq.empty
+ } else {
+ cmds.zip(cmds.tail).map{
+ case (a: WhenEnd, b: AltBegin) => a.copy(hasAlt = true)
+ case (a, b) => a
+ } ++ cmds.lastOption
+ }
+ }
private var indentLevel = 0
private def newline = "\n" + (" " * indentLevel)