aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/TreeChecker.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2015-04-15 20:46:52 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-04-15 21:41:20 +0200
commitbd9e18f2b2c8f0550fc0daab5473d9f6856cc329 (patch)
tree72bd56eeb1802bd651e1bee596ea1a772e2d133e /src/dotty/tools/dotc/transform/TreeChecker.scala
parent61f1f4dddb8e760d628cdeeb88c579f1ef0fb2a9 (diff)
downloaddotty-bd9e18f2b2c8f0550fc0daab5473d9f6856cc329.tar.gz
dotty-bd9e18f2b2c8f0550fc0daab5473d9f6856cc329.tar.bz2
dotty-bd9e18f2b2c8f0550fc0daab5473d9f6856cc329.zip
Ycheck that companions do not disappear.
Diffstat (limited to 'src/dotty/tools/dotc/transform/TreeChecker.scala')
-rw-r--r--src/dotty/tools/dotc/transform/TreeChecker.scala12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/transform/TreeChecker.scala b/src/dotty/tools/dotc/transform/TreeChecker.scala
index 43e1ce8a6..d415cbce4 100644
--- a/src/dotty/tools/dotc/transform/TreeChecker.scala
+++ b/src/dotty/tools/dotc/transform/TreeChecker.scala
@@ -56,6 +56,16 @@ class TreeChecker extends Phase with SymTransformer {
registry(name) = sym
}
+ def checkCompanion(symd: SymDenotation)(implicit ctx: Context): Unit = {
+ val cur = symd.linkedClass
+ val prev = ctx.atPhase(ctx.phase.prev) {
+ implicit ctx =>
+ symd.symbol.linkedClass
+ }
+
+ if (prev.exists)
+ assert(cur.exists, i"companion disappeared from $symd")
+ }
def transformSym(symd: SymDenotation)(implicit ctx: Context): SymDenotation = {
val sym = symd.symbol
@@ -69,6 +79,8 @@ class TreeChecker extends Phase with SymTransformer {
testDuplicate(sym, seenClasses, "class")
}
+ checkCompanion(symd)
+
symd
}