summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/runtime/SynchronizedTypes.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/reflect/scala/reflect/runtime/SynchronizedTypes.scala')
-rw-r--r--src/reflect/scala/reflect/runtime/SynchronizedTypes.scala3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/runtime/SynchronizedTypes.scala b/src/reflect/scala/reflect/runtime/SynchronizedTypes.scala
index de78e527a7..12ada07a56 100644
--- a/src/reflect/scala/reflect/runtime/SynchronizedTypes.scala
+++ b/src/reflect/scala/reflect/runtime/SynchronizedTypes.scala
@@ -85,6 +85,9 @@ private[reflect] trait SynchronizedTypes extends internal.Types { self: SymbolTa
override def tostringRecursions = _tostringRecursions.get
override def tostringRecursions_=(value: Int) = _tostringRecursions.set(value)
+ private lazy val _tostringSubjects = mkThreadLocalStorage(new mutable.HashSet[Type])
+ override def tostringSubjects = _tostringSubjects.get
+
/* The idea of caches is as follows.
* When in reflexive mode, a cache is either null, or one sentinal
* value representing undefined or the final defined