summaryrefslogtreecommitdiff
path: root/chiselFrontend/src/main/scala/chisel3/internal
diff options
context:
space:
mode:
authorJack Koenig2017-01-10 18:34:13 -0800
committerJack Koenig2017-02-08 18:00:32 -0800
commit132b80edee2fb8e730d3b6f5eb5f36051a819525 (patch)
treeac5e31aaabe74e991fbb9fbea12178bf5406a5a4 /chiselFrontend/src/main/scala/chisel3/internal
parentf902b119069732910ca4b26ab45e0d6392464b3b (diff)
Add counter for depth of when scope
Diffstat (limited to 'chiselFrontend/src/main/scala/chisel3/internal')
-rw-r--r--chiselFrontend/src/main/scala/chisel3/internal/Builder.scala5
1 files changed, 5 insertions, 0 deletions
diff --git a/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala b/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
index d8202da6..9e389788 100644
--- a/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
+++ b/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
@@ -150,6 +150,7 @@ private[chisel3] class DynamicContext() {
// Set by object Module.apply before calling class Module constructor
// Used to distinguish between no Module() wrapping, multiple wrappings, and rewrapping
var readyForModuleConstr: Boolean = false
+ var whenDepth: Int = 0 // Depth of when nesting
val errors = new ErrorLog
val namingStack = new internal.naming.NamingStack
}
@@ -181,6 +182,10 @@ private[chisel3] object Builder {
def readyForModuleConstr_=(target: Boolean): Unit = {
dynamicContext.readyForModuleConstr = target
}
+ def whenDepth: Int = dynamicContext.whenDepth
+ def whenDepth_=(target: Int): Unit = {
+ dynamicContext.whenDepth = target
+ }
// TODO(twigg): Ideally, binding checks and new bindings would all occur here
// However, rest of frontend can't support this yet.