diff options
author | Martin Odersky <odersky@gmail.com> | 2016-07-05 17:40:41 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2016-07-11 13:35:08 +0200 |
commit | 78b2672d7440979c36800cbd4f1d7dbf867a4a16 (patch) | |
tree | 7c7ee1af5d2dab0bb43a7d3b11186b9de28a0d3e /src/dotty/tools/dotc/core/SymDenotations.scala | |
parent | c541ef911b963a3d49613aecf76abc8f0fa00b67 (diff) | |
download | dotty-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.scala | 1 |
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) |