summaryrefslogtreecommitdiff
path: root/chiselFrontend/src/main/scala/chisel3/internal
diff options
context:
space:
mode:
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 8af1835d..90eabba3 100644
--- a/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
+++ b/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
@@ -164,6 +164,10 @@ private[chisel3] object Builder {
private def dynamicContext: DynamicContext =
dynamicContextVar.value.getOrElse(new DynamicContext)
+ // Initialize any singleton objects before user code inadvertently inherits them.
+ private def initializeSingletons(): Unit = {
+ val dummy = DontCare
+ }
def idGen: IdGen = dynamicContext.idGen
def globalNamespace: Namespace = dynamicContext.globalNamespace
def components: ArrayBuffer[Component] = dynamicContext.components
@@ -245,6 +249,7 @@ private[chisel3] object Builder {
Circuit(components.last.name, components, annotations.map(_.toFirrtl))
}
}
+ initializeSingletons()
}
/** Allows public access to the naming stack in Builder / DynamicContext.