summaryrefslogtreecommitdiff
path: root/core/src/main/scala/chisel3/Printable.scala
diff options
context:
space:
mode:
authorJack2022-11-11 06:53:04 +0000
committerJack2022-11-11 06:53:04 +0000
commit3ce953c81f06519351c48277e3474b5720ec07ff (patch)
treeac79dcb80d0528c2ae86ca21da4cf424715ab645 /core/src/main/scala/chisel3/Printable.scala
parentadccde9998c91875e5490cff6d5822ffacc593ed (diff)
parentc8046636a25474be4c547c6fe9c6d742ea7b1d13 (diff)
Merge branch '3.5.x' into 3.5-release
Diffstat (limited to 'core/src/main/scala/chisel3/Printable.scala')
-rw-r--r--core/src/main/scala/chisel3/Printable.scala13
1 files changed, 13 insertions, 0 deletions
diff --git a/core/src/main/scala/chisel3/Printable.scala b/core/src/main/scala/chisel3/Printable.scala
index 78655517..82054ee1 100644
--- a/core/src/main/scala/chisel3/Printable.scala
+++ b/core/src/main/scala/chisel3/Printable.scala
@@ -134,6 +134,19 @@ object Printable {
val bufEscapeBackSlash = buf.map(_.replace("\\", "\\\\"))
StringContext(bufEscapeBackSlash.toSeq: _*).cf(data: _*)
}
+
+ private[chisel3] def checkScope(message: Printable): Unit = {
+ def getData(x: Printable): Seq[Data] = {
+ x match {
+ case y: FirrtlFormat => Seq(y.bits)
+ case Name(d) => Seq(d)
+ case FullName(d) => Seq(d)
+ case Printables(p) => p.flatMap(getData(_)).toSeq
+ case _ => Seq() // Handles subtypes PString and Percent
+ }
+ }
+ getData(message).foreach(_.requireVisible())
+ }
}
case class Printables(pables: Iterable[Printable]) extends Printable {