From 32d814cd260b1585b7eb5f2cacd8457e46821be1 Mon Sep 17 00:00:00 2001 From: Adam Izraelevitz Date: Mon, 11 May 2020 14:38:24 -0700 Subject: Have AppendInfo use MultiInfo, rather than appending with : (#1580) * Bugfix - have AppendInfo use MultiInfo, rather than appending with : * Address reviewer feedback Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>--- src/main/scala/firrtl/Visitor.scala | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/main') diff --git a/src/main/scala/firrtl/Visitor.scala b/src/main/scala/firrtl/Visitor.scala index 084a3006..4033c0fd 100644 --- a/src/main/scala/firrtl/Visitor.scala +++ b/src/main/scala/firrtl/Visitor.scala @@ -60,7 +60,7 @@ class Visitor(infoMode: InfoMode) extends AbstractParseTreeVisitor[FirrtlNode] w private def visitInfo(ctx: Option[InfoContext], parentCtx: ParserRuleContext): Info = { def genInfo(filename: String): String = - stripPath(filename) + "@" + parentCtx.getStart.getLine + "." + + stripPath(filename) + " " + parentCtx.getStart.getLine + ":" + parentCtx.getStart.getCharPositionInLine lazy val useInfo: String = ctx match { case Some(info) => info.getText.drop(2).init // remove surrounding @[ ... ] @@ -70,9 +70,12 @@ class Visitor(infoMode: InfoMode) extends AbstractParseTreeVisitor[FirrtlNode] w case UseInfo => if (useInfo.length == 0) NoInfo else ir.FileInfo(ir.StringLit.unescape(useInfo)) + case AppendInfo(filename) if (useInfo.length == 0) => + ir.FileInfo(ir.StringLit.unescape(genInfo(filename))) case AppendInfo(filename) => - val newInfo = useInfo + ":" + genInfo(filename) - ir.FileInfo(ir.StringLit.unescape(newInfo)) + val useFileInfo = ir.FileInfo(ir.StringLit.unescape(useInfo)) + val newFileInfo = ir.FileInfo(ir.StringLit.unescape(genInfo(filename))) + ir.MultiInfo(useFileInfo, newFileInfo) case GenInfo(filename) => ir.FileInfo(ir.StringLit.unescape(genInfo(filename))) case IgnoreInfo => NoInfo -- cgit v1.2.3