aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/SymDenotations.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-07-05 17:40:41 +0200
committerMartin Odersky <odersky@gmail.com>2016-07-11 13:35:08 +0200
commit78b2672d7440979c36800cbd4f1d7dbf867a4a16 (patch)
tree7c7ee1af5d2dab0bb43a7d3b11186b9de28a0d3e /src/dotty/tools/dotc/core/SymDenotations.scala
parentc541ef911b963a3d49613aecf76abc8f0fa00b67 (diff)
downloaddotty-78b2672d7440979c36800cbd4f1d7dbf867a4a16.tar.gz
dotty-78b2672d7440979c36800cbd4f1d7dbf867a4a16.tar.bz2
dotty-78b2672d7440979c36800cbd4f1d7dbf867a4a16.zip
Add a case where caching was missing.
Gave several times improvement for linker.
Diffstat (limited to 'src/dotty/tools/dotc/core/SymDenotations.scala')
-rw-r--r--src/dotty/tools/dotc/core/SymDenotations.scala1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/core/SymDenotations.scala b/src/dotty/tools/dotc/core/SymDenotations.scala
index 3a1c589a9..1417347bf 100644
--- a/src/dotty/tools/dotc/core/SymDenotations.scala
+++ b/src/dotty/tools/dotc/core/SymDenotations.scala
@@ -1641,6 +1641,7 @@ object SymDenotations {
*/
def isCachable(tp: Type): Boolean = tp match {
case _: TypeErasure.ErasedValueType => false
+ case tp: TypeRef if tp.symbol.isClass => true
case tp: TypeVar => tp.inst.exists && inCache(tp.inst)
case tp: TypeProxy => inCache(tp.underlying)
case tp: AndOrType => inCache(tp.tp1) && inCache(tp.tp2)