aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/ir
diff options
context:
space:
mode:
authorAdam Izraelevitz2016-11-30 18:15:49 -0600
committerGitHub2016-11-30 18:15:49 -0600
commita10899e910bc3649d32a77c85513076504e93f6a (patch)
treee294f8b7a37daf30aa0d1c07460606dbf10e35c9 /src/main/scala/firrtl/ir
parent66d3ec0498a73319a914eeffcb4e0b1109b5f4c5 (diff)
Bugfix: Dedup aggressively (ignore comments) (#375)
FileInfo is merged
Diffstat (limited to 'src/main/scala/firrtl/ir')
-rw-r--r--src/main/scala/firrtl/ir/IR.scala6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main/scala/firrtl/ir/IR.scala b/src/main/scala/firrtl/ir/IR.scala
index b26eec4c..6eac592c 100644
--- a/src/main/scala/firrtl/ir/IR.scala
+++ b/src/main/scala/firrtl/ir/IR.scala
@@ -13,12 +13,18 @@ abstract class FirrtlNode {
abstract class Info extends FirrtlNode {
// default implementation
def serialize: String = this.toString
+ def ++(that: Info): Info
}
case object NoInfo extends Info {
override def toString: String = ""
+ def ++(that: Info): Info = that
}
case class FileInfo(info: StringLit) extends Info {
override def toString: String = " @[" + info.serialize + "]"
+ def ++(that: Info): Info = that match {
+ case NoInfo => this
+ case FileInfo(otherInfo) => FileInfo(FIRRTLStringLitHandler.unescape(info.serialize + " " + otherInfo.serialize))
+ }
}
trait HasName {