diff options
author | Martin Odersky <odersky@gmail.com> | 2016-02-05 16:53:12 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2016-02-05 16:53:12 +0100 |
commit | 9c38a61d4b3319999a43265ea17f85a1b3ca6886 (patch) | |
tree | 7014034464538b8e8bf3393276cc952cfa9efeff /src/dotty/tools/dotc/core/Types.scala | |
parent | 9d8c92d1d52fcfa95d57ce88d91dbb84c8ecfbd1 (diff) | |
download | dotty-9c38a61d4b3319999a43265ea17f85a1b3ca6886.tar.gz dotty-9c38a61d4b3319999a43265ea17f85a1b3ca6886.tar.bz2 dotty-9c38a61d4b3319999a43265ea17f85a1b3ca6886.zip |
Make LazyRef#ref a def instead of a lazy val
It's slightly more efficient. There was no need to have
a separate cache for the lazy val.
Diffstat (limited to 'src/dotty/tools/dotc/core/Types.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/Types.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Types.scala b/src/dotty/tools/dotc/core/Types.scala index e266bab6f..d76f57ba6 100644 --- a/src/dotty/tools/dotc/core/Types.scala +++ b/src/dotty/tools/dotc/core/Types.scala @@ -1972,7 +1972,7 @@ object Types { case class LazyRef(refFn: () => Type) extends UncachedProxyType with ValueType { private var myRef: Type = null private var computed = false - lazy val ref = { + def ref = { if (computed) assert(myRef != null) else { computed = true @@ -1980,6 +1980,7 @@ object Types { } myRef } + def evaluating = computed && myRef == null override def underlying(implicit ctx: Context) = ref override def toString = s"LazyRef($ref)" override def equals(other: Any) = other match { |