From 97a8d8249abae4a62c06c6af20e7d7da344ce689 Mon Sep 17 00:00:00 2001 From: Schuyler Eldridge Date: Tue, 2 Jun 2020 21:00:13 -0400 Subject: Add mapString method to ir.Port (#1655) Signed-off-by: Schuyler Eldridge Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>--- src/main/scala/firrtl/Mappers.scala | 3 +++ src/main/scala/firrtl/ir/IR.scala | 1 + 2 files changed, 4 insertions(+) (limited to 'src') 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 */ -- cgit v1.2.3