diff options
| author | Jack | 2016-05-09 16:04:52 -0700 |
|---|---|---|
| committer | Jack Koenig | 2016-06-10 16:31:50 -0700 |
| commit | 2bf1c9e84b7affb82fd08484285250ce8f7b6f26 (patch) | |
| tree | 7e2276fc5405029ec5acd75b81c985e3d61989b5 /src/main/scala/firrtl/Mappers.scala | |
| parent | 83f53a3a0cdcfc7537e923b827ab820205025d45 (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.scala | 24 |
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) } } |
