aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSchuyler Eldridge2020-06-02 21:00:13 -0400
committerGitHub2020-06-03 01:00:13 +0000
commit97a8d8249abae4a62c06c6af20e7d7da344ce689 (patch)
treec29a997cb5e6f71a05006a53e38e4937d170412c /src
parent9bbdc1fc4462ba7d296443afe4b0fce78e10a410 (diff)
Add mapString method to ir.Port (#1655)
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/firrtl/Mappers.scala3
-rw-r--r--src/main/scala/firrtl/ir/IR.scala1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/main/scala/firrtl/Mappers.scala b/src/main/scala/firrtl/Mappers.scala
index b30b4518..3bf89885 100644
--- a/src/main/scala/firrtl/Mappers.scala
+++ b/src/main/scala/firrtl/Mappers.scala
@@ -14,6 +14,9 @@ object Mappers {
implicit def forType(f: Type => Type): PortMagnet = new PortMagnet {
override def map(port: Port): Port = port mapType f
}
+ implicit def forString(f: String => String): PortMagnet = new PortMagnet {
+ override def map(port: Port): Port = port mapString f
+ }
}
implicit class PortMap(val _port: Port) extends AnyVal {
def map[T](f: T => T)(implicit magnet: (T => T) => PortMagnet): Port = magnet(f).map(_port)
diff --git a/src/main/scala/firrtl/ir/IR.scala b/src/main/scala/firrtl/ir/IR.scala
index 64181642..af3709cd 100644
--- a/src/main/scala/firrtl/ir/IR.scala
+++ b/src/main/scala/firrtl/ir/IR.scala
@@ -846,6 +846,7 @@ case class Port(
tpe: Type) extends FirrtlNode with IsDeclaration {
def serialize: String = s"${direction.serialize} $name : ${tpe.serialize}" + info.serialize
def mapType(f: Type => Type): Port = Port(info, name, direction, f(tpe))
+ def mapString(f: String => String): Port = Port(info, f(name), direction, tpe)
}
/** Parameters for external modules */