summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/chisel3/internal/firrtl/Emitter.scala14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/main/scala/chisel3/internal/firrtl/Emitter.scala b/src/main/scala/chisel3/internal/firrtl/Emitter.scala
index bbf43a45..ca8562e8 100644
--- a/src/main/scala/chisel3/internal/firrtl/Emitter.scala
+++ b/src/main/scala/chisel3/internal/firrtl/Emitter.scala
@@ -11,12 +11,14 @@ private[chisel3] object Emitter {
Serializer.serialize(fcircuit)
}
- def emitLazily(circuit: Circuit): Iterable[String] = {
- val result = LazyList(s"circuit ${circuit.name} :\n")
- val modules = circuit.components.view.map(Converter.convert)
- val moduleStrings = modules.flatMap { m =>
- Array(Serializer.serialize(m, 1), "\n\n")
+ def emitLazily(circuit: Circuit): Iterable[String] = new Iterable[String] {
+ def iterator = {
+ val prelude = Iterator(s"circuit ${circuit.name} :\n")
+ val modules = circuit.components.iterator.map(Converter.convert)
+ val moduleStrings = modules.flatMap { m =>
+ Serializer.lazily(m, 1) ++ Seq("\n\n")
+ }
+ prelude ++ moduleStrings
}
- result ++ moduleStrings
}
}