diff options
author | Martin Odersky <odersky@gmail.com> | 2015-06-16 13:20:19 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-06-16 16:42:54 +0200 |
commit | bb940560529ba460af4caa967caaa7f34f944b04 (patch) | |
tree | 5eb4ff7ba0bfaf171e3d26bf8dddfeb86ddc80ef /src/dotty/tools/dotc/core/Symbols.scala | |
parent | 78fae1152a7b381af4639d3d66ed637eac3ca9d0 (diff) | |
download | dotty-bb940560529ba460af4caa967caaa7f34f944b04.tar.gz dotty-bb940560529ba460af4caa967caaa7f34f944b04.tar.bz2 dotty-bb940560529ba460af4caa967caaa7f34f944b04.zip |
Avoid spurious StaleSymbol error in <refinement> members
Refinement classes and their members could give spurious stale symbol errors if the
symbol is loaded in a different run than the classfile containing it. The problem
is that refinement classes do not form part of the scope of their owners. The fix
assumes that refinement classes are always "stillValid".
Diffstat (limited to 'src/dotty/tools/dotc/core/Symbols.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/Symbols.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Symbols.scala b/src/dotty/tools/dotc/core/Symbols.scala index 0478b1b7b..602bdba80 100644 --- a/src/dotty/tools/dotc/core/Symbols.scala +++ b/src/dotty/tools/dotc/core/Symbols.scala @@ -408,7 +408,7 @@ object Symbols { /** Subclass tests and casts */ final def isTerm(implicit ctx: Context): Boolean = (if(isDefinedInCurrentRun) lastDenot else denot).isTerm - + final def isType(implicit ctx: Context): Boolean = (if(isDefinedInCurrentRun) lastDenot else denot).isType |