aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Denotations.scala
diff options
context:
space:
mode:
authorodersky <odersky@gmail.com>2015-07-06 19:01:45 +0200
committerodersky <odersky@gmail.com>2015-07-06 19:01:45 +0200
commitb82313268b912c62f9ddc89fefd02be96f2de64c (patch)
treea1f2b2de5751b169558c5a11532ce37bf33f24ad /src/dotty/tools/dotc/core/Denotations.scala
parent6561d4cadc2e1af354486c34817b86131ffbe1e7 (diff)
parentc7cc6d851b660c97e80cda806bf5366200c8836b (diff)
downloaddotty-b82313268b912c62f9ddc89fefd02be96f2de64c.tar.gz
dotty-b82313268b912c62f9ddc89fefd02be96f2de64c.tar.bz2
dotty-b82313268b912c62f9ddc89fefd02be96f2de64c.zip
Merge pull request #708 from dotty-staging/add/check-reentrant
Check that dotty is reentrant
Diffstat (limited to 'src/dotty/tools/dotc/core/Denotations.scala')
-rw-r--r--src/dotty/tools/dotc/core/Denotations.scala6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/Denotations.scala b/src/dotty/tools/dotc/core/Denotations.scala
index 70ca88702..fc97fb32b 100644
--- a/src/dotty/tools/dotc/core/Denotations.scala
+++ b/src/dotty/tools/dotc/core/Denotations.scala
@@ -556,7 +556,7 @@ object Denotations {
*/
private def bringForward()(implicit ctx: Context): SingleDenotation = this match {
case denot: SymDenotation if ctx.stillValid(denot) =>
- if (denot.exists) assert(ctx.runId > validFor.runId, s"denotation $denot invalid in run ${ctx.runId}. ValidFor: $validFor")
+ assert(ctx.runId > validFor.runId, s"denotation $denot invalid in run ${ctx.runId}. ValidFor: $validFor")
var d: SingleDenotation = denot
do {
d.validFor = Period(ctx.period.runId, d.validFor.firstPhaseId, d.validFor.lastPhaseId)
@@ -592,7 +592,9 @@ object Denotations {
assert(false)
}
- if (valid.runId != currentPeriod.runId) initial.bringForward.current
+ if (valid.runId != currentPeriod.runId)
+ if (exists) initial.bringForward.current
+ else this
else {
var cur = this
if (currentPeriod.code > valid.code) {