aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/Mappers.scala
diff options
context:
space:
mode:
authorJack2016-05-09 16:04:52 -0700
committerJack Koenig2016-06-10 16:31:50 -0700
commit2bf1c9e84b7affb82fd08484285250ce8f7b6f26 (patch)
tree7e2276fc5405029ec5acd75b81c985e3d61989b5 /src/main/scala/firrtl/Mappers.scala
parent83f53a3a0cdcfc7537e923b827ab820205025d45 (diff)
API Cleanup - Module
trait Module -> abstract class DefModule InModule -> Module (match concrete syntax) ExModule -> ExtModule (match concrete syntax) Add simple scaladoc for each one
Diffstat (limited to 'src/main/scala/firrtl/Mappers.scala')
-rw-r--r--src/main/scala/firrtl/Mappers.scala24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/main/scala/firrtl/Mappers.scala b/src/main/scala/firrtl/Mappers.scala
index 335bc4aa..0ee8165b 100644
--- a/src/main/scala/firrtl/Mappers.scala
+++ b/src/main/scala/firrtl/Mappers.scala
@@ -196,36 +196,36 @@ object Mappers {
// ********** Module Mappers **********
private trait ModuleMagnet {
- def map(module: Module): Module
+ def map(module: DefModule): DefModule
}
private object ModuleMagnet {
implicit def forStmt(f: Stmt => Stmt) = new ModuleMagnet {
- override def map(module: Module): Module = {
+ override def map(module: DefModule): DefModule = {
module match {
- case m: InModule => InModule(m.info, m.name, m.ports, f(m.body))
- case m: ExModule => m
+ case m: Module => Module(m.info, m.name, m.ports, f(m.body))
+ case m: ExtModule => m
}
}
}
implicit def forPorts(f: Port => Port) = new ModuleMagnet {
- override def map(module: Module): Module = {
+ override def map(module: DefModule): DefModule = {
module match {
- case m: InModule => InModule(m.info, m.name, m.ports.map(f), m.body)
- case m: ExModule => ExModule(m.info, m.name, m.ports.map(f))
+ case m: Module => Module(m.info, m.name, m.ports.map(f), m.body)
+ case m: ExtModule => ExtModule(m.info, m.name, m.ports.map(f))
}
}
}
implicit def forString(f: String => String) = new ModuleMagnet {
- override def map(module: Module): Module = {
+ override def map(module: DefModule): DefModule = {
module match {
- case m: InModule => InModule(m.info, f(m.name), m.ports, m.body)
- case m: ExModule => ExModule(m.info, f(m.name), m.ports)
+ case m: Module => Module(m.info, f(m.name), m.ports, m.body)
+ case m: ExtModule => ExtModule(m.info, f(m.name), m.ports)
}
}
}
}
- implicit class ModuleMap(module: Module) {
- def map[T](f: T => T)(implicit magnet: (T => T) => ModuleMagnet): Module = magnet(f).map(module)
+ implicit class ModuleMap(module: DefModule) {
+ def map[T](f: T => T)(implicit magnet: (T => T) => ModuleMagnet): DefModule = magnet(f).map(module)
}
}