diff options
| author | Albert Magyar | 2017-11-22 17:51:51 -0800 |
|---|---|---|
| committer | Richard Lin | 2018-01-02 13:41:32 -0800 |
| commit | 11c1112661e04094bccfd805e737e0318eb91ebc (patch) | |
| tree | 185ea171a05d289ea8ff2ed1525b40f14c50a3bb /chiselFrontend/src/main/scala/chisel3/core/Data.scala | |
| parent | 7c3c18de2ffd56af51b99030c7ae7d3a321aed5f (diff) | |
Add auto clone implementation for inner Bundles (#722)
Diffstat (limited to 'chiselFrontend/src/main/scala/chisel3/core/Data.scala')
| -rw-r--r-- | chiselFrontend/src/main/scala/chisel3/core/Data.scala | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/chiselFrontend/src/main/scala/chisel3/core/Data.scala b/chiselFrontend/src/main/scala/chisel3/core/Data.scala index 19adf01b..d84a86e9 100644 --- a/chiselFrontend/src/main/scala/chisel3/core/Data.scala +++ b/chiselFrontend/src/main/scala/chisel3/core/Data.scala @@ -208,6 +208,13 @@ abstract class Data extends HasId { } } + // If this Data is an instance of an inner class, record enclosing class + // This is only used for cloneType! + private[core] var outerModule: Option[BaseModule] = + (Option(this.getClass.getEnclosingClass) zip Builder.currentModule) + .find({ case (c, m) => c.isAssignableFrom(m.getClass) }) + .map({ case (_, m) => m }) + // User-specified direction, local at this node only. // Note that the actual direction of this node can differ from child and parent specifiedDirection. private var _specifiedDirection: SpecifiedDirection = SpecifiedDirection.Unspecified |
