aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Types.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-02-05 16:53:12 +0100
committerMartin Odersky <odersky@gmail.com>2016-02-05 16:53:12 +0100
commit9c38a61d4b3319999a43265ea17f85a1b3ca6886 (patch)
tree7014034464538b8e8bf3393276cc952cfa9efeff /src/dotty/tools/dotc/core/Types.scala
parent9d8c92d1d52fcfa95d57ce88d91dbb84c8ecfbd1 (diff)
downloaddotty-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.scala3
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 {