summaryrefslogtreecommitdiff
path: root/core/src/main/scala/chisel3/Module.scala
diff options
context:
space:
mode:
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