diff options
| author | Jack Koenig | 2021-08-20 16:38:08 -0700 |
|---|---|---|
| committer | GitHub | 2021-08-20 23:38:08 +0000 |
| commit | 762f7747bd2082c27af9cb46f5e2333df0329a56 (patch) | |
| tree | 194a2bb8862418af866382b12b2d16377afcbe69 /src/main | |
| parent | 765af619af24fccd2dea748e95d70c9c6e8ea12b (diff) | |
Fix Serializer for single indented DefModule emission (#2332)
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/scala/firrtl/ir/Serializer.scala | 10 |
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() } |
