aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/annotations/TargetToken.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/firrtl/annotations/TargetToken.scala')
-rw-r--r--src/main/scala/firrtl/annotations/TargetToken.scala46
1 files changed, 0 insertions, 46 deletions
diff --git a/src/main/scala/firrtl/annotations/TargetToken.scala b/src/main/scala/firrtl/annotations/TargetToken.scala
deleted file mode 100644
index 587f30eb..00000000
--- a/src/main/scala/firrtl/annotations/TargetToken.scala
+++ /dev/null
@@ -1,46 +0,0 @@
-// See LICENSE for license details.
-
-package firrtl.annotations
-
-/** Building block to represent a [[Target]] of a FIRRTL component */
-sealed trait TargetToken {
- def keyword: String
- def value: Any
-
- /** Returns whether this token is one of the type of tokens whose keyword is passed as an argument
- * @param keywords
- * @return
- */
- def is(keywords: String*): Boolean = {
- keywords.map { kw =>
- require(TargetToken.keyword2targettoken.keySet.contains(kw),
- s"Keyword $kw must be in set ${TargetToken.keyword2targettoken.keys}")
- val lastClass = this.getClass
- lastClass == TargetToken.keyword2targettoken(kw)("0").getClass
- }.reduce(_ || _)
- }
-}
-
-/** Object containing all [[TargetToken]] subclasses */
-case object TargetToken {
- case class Instance(value: String) extends TargetToken { override def keyword: String = "inst" }
- case class OfModule(value: String) extends TargetToken { override def keyword: String = "of" }
- case class Ref(value: String) extends TargetToken { override def keyword: String = "ref" }
- case class Index(value: Int) extends TargetToken { override def keyword: String = "[]" }
- case class Field(value: String) extends TargetToken { override def keyword: String = "." }
- case object Clock extends TargetToken { override def keyword: String = "clock"; val value = "" }
- case object Init extends TargetToken { override def keyword: String = "init"; val value = "" }
- case object Reset extends TargetToken { override def keyword: String = "reset"; val value = "" }
-
- val keyword2targettoken = Map(
- "inst" -> ((value: String) => Instance(value)),
- "of" -> ((value: String) => OfModule(value)),
- "ref" -> ((value: String) => Ref(value)),
- "[]" -> ((value: String) => Index(value.toInt)),
- "." -> ((value: String) => Field(value)),
- "clock" -> ((value: String) => Clock),
- "init" -> ((value: String) => Init),
- "reset" -> ((value: String) => Reset)
- )
-}
-