diff options
Diffstat (limited to 'src/main/scala/chisel3/internal')
| -rw-r--r-- | src/main/scala/chisel3/internal/firrtl/Emitter.scala | 14 |
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) |
