aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Denotations.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-26 15:40:53 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-26 15:40:53 +0100
commit25af81475b3e4f387caa67194409e9b595a3b2ea (patch)
treeb7fdb1d82e28fcadf21f7baece9598eee0a75596 /src/dotty/tools/dotc/core/Denotations.scala
parentd01ecb733dc8990d1f5d432e1fb9eb488bb7e3b4 (diff)
downloaddotty-25af81475b3e4f387caa67194409e9b595a3b2ea.tar.gz
dotty-25af81475b3e4f387caa67194409e9b595a3b2ea.tar.bz2
dotty-25af81475b3e4f387caa67194409e9b595a3b2ea.zip
Fix installAfter for a Denotation List of single denotation
Diffstat (limited to 'src/dotty/tools/dotc/core/Denotations.scala')
-rw-r--r--src/dotty/tools/dotc/core/Denotations.scala6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Denotations.scala b/src/dotty/tools/dotc/core/Denotations.scala
index 91cf73404..a4169628c 100644
--- a/src/dotty/tools/dotc/core/Denotations.scala
+++ b/src/dotty/tools/dotc/core/Denotations.scala
@@ -611,7 +611,10 @@ object Denotations {
val current = symbol.current
// println(s"installing $this after $phase/${phase.id}, valid = ${current.validFor}")
// printPeriods(current)
- this.nextInRun = current.nextInRun
+ if (current.nextInRun ne current)
+ this.nextInRun = current.nextInRun
+ else
+ this.nextInRun = this
this.validFor = Period(ctx.runId, targetId, current.validFor.lastPhaseId)
if (current.validFor.firstPhaseId == targetId) {
// replace current with this denotation
@@ -622,6 +625,7 @@ object Denotations {
} else {
// insert this denotation after current
current.validFor = Period(ctx.runId, current.validFor.firstPhaseId, targetId - 1)
+ this.nextInRun = current.nextInRun
current.nextInRun = this
}
// printPeriods(this)