diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-04-15 20:46:52 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-04-15 21:41:20 +0200 |
commit | bd9e18f2b2c8f0550fc0daab5473d9f6856cc329 (patch) | |
tree | 72bd56eeb1802bd651e1bee596ea1a772e2d133e /src/dotty/tools/dotc/transform | |
parent | 61f1f4dddb8e760d628cdeeb88c579f1ef0fb2a9 (diff) | |
download | dotty-bd9e18f2b2c8f0550fc0daab5473d9f6856cc329.tar.gz dotty-bd9e18f2b2c8f0550fc0daab5473d9f6856cc329.tar.bz2 dotty-bd9e18f2b2c8f0550fc0daab5473d9f6856cc329.zip |
Ycheck that companions do not disappear.
Diffstat (limited to 'src/dotty/tools/dotc/transform')
-rw-r--r-- | src/dotty/tools/dotc/transform/TreeChecker.scala | 12 |
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 } |