summaryrefslogtreecommitdiff
path: root/core/src/main/scala/chisel3/Module.scala
diff options
context:
space:
mode:
authorAdam Izraelevitz2021-10-25 16:55:23 -0700
committerGitHub2021-10-25 23:55:23 +0000
commit5024b706f0638cf3ebbe634b658fa016941e72ac (patch)
treea8b0160f198d3185bc8b22a1891eb2a61e7fe5a3 /core/src/main/scala/chisel3/Module.scala
parentd9722cd96159cd8957cd335d79dbb495260e590d (diff)
Bugfix: fix isACloneOf (#2205)
Diffstat (limited to 'core/src/main/scala/chisel3/Module.scala')
-rw-r--r--core/src/main/scala/chisel3/Module.scala13
1 files changed, 12 insertions, 1 deletions
diff --git a/core/src/main/scala/chisel3/Module.scala b/core/src/main/scala/chisel3/Module.scala
index 56dce4d5..1ae65969 100644
--- a/core/src/main/scala/chisel3/Module.scala
+++ b/core/src/main/scala/chisel3/Module.scala
@@ -193,7 +193,18 @@ package internal {
// Underlying object of which this is a clone of
val _proto: T
def getProto: T = _proto
- def isACloneOf(a: Any): Boolean = this == a || _proto == a
+
+ /** Determines whether another object is a clone of the same underlying proto
+ *
+ * @param a
+ */
+ def hasSameProto(a: Any): Boolean = {
+ val aProto = a match {
+ case x: IsClone[BaseModule] => x._proto
+ case o => o
+ }
+ this == aProto || _proto == aProto
+ }
}
// Private internal class to serve as a _parent for Data in cloned ports