diff options
Diffstat (limited to 'core/src/main/scala/chisel3/Module.scala')
| -rw-r--r-- | core/src/main/scala/chisel3/Module.scala | 13 |
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 |
