aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes/CheckChirrtl.scala
diff options
context:
space:
mode:
authorDonggyu Kim2016-08-30 19:01:37 -0700
committerDonggyu Kim2016-09-13 16:58:44 -0700
commit9d6b523e83d3836ade02bb36dcf8b8fc1d2e7234 (patch)
tree2f97a253c84f6ed7c43b6772c3c67907d72c4815 /src/main/scala/firrtl/passes/CheckChirrtl.scala
parent96340374f091d5258ca69ef7fc614910e1c2cbb7 (diff)
type aliases
Diffstat (limited to 'src/main/scala/firrtl/passes/CheckChirrtl.scala')
-rw-r--r--src/main/scala/firrtl/passes/CheckChirrtl.scala21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/main/scala/firrtl/passes/CheckChirrtl.scala b/src/main/scala/firrtl/passes/CheckChirrtl.scala
index 2ab8749b..f21449a2 100644
--- a/src/main/scala/firrtl/passes/CheckChirrtl.scala
+++ b/src/main/scala/firrtl/passes/CheckChirrtl.scala
@@ -27,21 +27,14 @@ MODIFICATIONS.
package firrtl.passes
-import com.typesafe.scalalogging.LazyLogging
-
-// Datastructures
-import scala.collection.mutable.HashSet
-
import firrtl._
import firrtl.ir._
import firrtl.Utils._
import firrtl.Mappers._
-import firrtl.PrimOps._
-import firrtl.WrappedType._
-
-object CheckChirrtl extends Pass with LazyLogging {
+object CheckChirrtl extends Pass {
def name = "Chirrtl Check"
+ type NameSet = collection.mutable.HashSet[String]
class NotUniqueException(info: Info, mname: String, name: String) extends PassException(
s"${info}: [module ${mname}] Reference ${name} does not have a unique name.")
@@ -101,7 +94,7 @@ object CheckChirrtl extends Pass with LazyLogging {
e
}
- def checkChirrtlE(info: Info, mname: String, names: HashSet[String])(e: Expression): Expression = {
+ def checkChirrtlE(info: Info, mname: String, names: NameSet)(e: Expression): Expression = {
e match {
case _: DoPrim | _:Mux | _:ValidIf | _: UIntLiteral =>
case e: Reference if !names(e.name) =>
@@ -114,14 +107,14 @@ object CheckChirrtl extends Pass with LazyLogging {
map checkChirrtlE(info, mname, names))
}
- def checkName(info: Info, mname: String, names: HashSet[String])(name: String): String = {
+ def checkName(info: Info, mname: String, names: NameSet)(name: String): String = {
if (names(name))
errors append (new NotUniqueException(info, mname, name))
names += name
name
}
- def checkChirrtlS(minfo: Info, mname: String, names: HashSet[String])(s: Statement): Statement = {
+ def checkChirrtlS(minfo: Info, mname: String, names: NameSet)(s: Statement): Statement = {
val info = get_info(s) match {case NoInfo => minfo case x => x}
(s map checkName(info, mname, names)) match {
case s: DefMemory =>
@@ -138,7 +131,7 @@ object CheckChirrtl extends Pass with LazyLogging {
map checkChirrtlS(info, mname, names))
}
- def checkChirrtlP(mname: String, names: HashSet[String])(p: Port): Port = {
+ def checkChirrtlP(mname: String, names: NameSet)(p: Port): Port = {
names += p.name
(p.tpe map checkChirrtlT(p.info, mname)
map checkChirrtlW(p.info, mname))
@@ -146,7 +139,7 @@ object CheckChirrtl extends Pass with LazyLogging {
}
def checkChirrtlM(m: DefModule) {
- val names = HashSet[String]()
+ val names = new NameSet
(m map checkChirrtlP(m.name, names)
map checkChirrtlS(m.info, m.name, names))
}