aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorJack Koenig2021-08-20 16:38:08 -0700
committerGitHub2021-08-20 23:38:08 +0000
commit762f7747bd2082c27af9cb46f5e2333df0329a56 (patch)
tree194a2bb8862418af866382b12b2d16377afcbe69 /src/main
parent765af619af24fccd2dea748e95d70c9c6e8ea12b (diff)
Fix Serializer for single indented DefModule emission (#2332)
Diffstat (limited to 'src/main')
-rw-r--r--src/main/scala/firrtl/ir/Serializer.scala10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/main/scala/firrtl/ir/Serializer.scala b/src/main/scala/firrtl/ir/Serializer.scala
index 1c2bfc82..f5457dea 100644
--- a/src/main/scala/firrtl/ir/Serializer.scala
+++ b/src/main/scala/firrtl/ir/Serializer.scala
@@ -240,24 +240,24 @@ object Serializer {
private def s(node: DefModule)(implicit b: StringBuilder, indent: Int): Unit = node match {
case Module(info, name, ports, body) =>
- b ++= "module "; b ++= name; b ++= " :"; s(info)
+ doIndent(0); b ++= "module "; b ++= name; b ++= " :"; s(info)
ports.foreach { p => newLineAndIndent(1); s(p) }
newLineNoIndent() // add a new line between port declaration and body
newLineAndIndent(1); s(body)(b, indent + 1)
case ExtModule(info, name, ports, defname, params) =>
- b ++= "extmodule "; b ++= name; b ++= " :"; s(info)
+ doIndent(0); b ++= "extmodule "; b ++= name; b ++= " :"; s(info)
ports.foreach { p => newLineAndIndent(1); s(p) }
newLineAndIndent(1); b ++= "defname = "; b ++= defname
params.foreach { p => newLineAndIndent(1); s(p) }
- case other => b ++= other.serialize // Handle user-defined nodes
+ case other => doIndent(0); b ++= other.serialize // Handle user-defined nodes
}
private def s(node: Circuit)(implicit b: StringBuilder, indent: Int): Unit = node match {
case Circuit(info, modules, main) =>
b ++= "circuit "; b ++= main; b ++= " :"; s(info)
if (modules.nonEmpty) {
- newLineAndIndent(1); s(modules.head)(b, indent + 1)
- modules.drop(1).foreach { m => newLineNoIndent(); newLineAndIndent(1); s(m)(b, indent + 1) }
+ newLineNoIndent(); s(modules.head)(b, indent + 1)
+ modules.drop(1).foreach { m => newLineNoIndent(); newLineNoIndent(); s(m)(b, indent + 1) }
}
newLineNoIndent()
}