diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-08-17 15:48:17 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-08-17 15:48:17 +0200 |
commit | 03b8d82cec2eef61f4ada69a4a8b285b160e0648 (patch) | |
tree | 702cbaf82fba4256ad89098f1e71d22a72855ff3 /src/dotty/tools/dotc/transform/ResolveSuper.scala | |
parent | d012514d2f6176c311e7f09b82e416f23505b656 (diff) | |
download | dotty-03b8d82cec2eef61f4ada69a4a8b285b160e0648.tar.gz dotty-03b8d82cec2eef61f4ada69a4a8b285b160e0648.tar.bz2 dotty-03b8d82cec2eef61f4ada69a4a8b285b160e0648.zip |
Names of superaccessors can change during the pipeline
If a stable view on names is needed, better access them during a predefined phase.
Diffstat (limited to 'src/dotty/tools/dotc/transform/ResolveSuper.scala')
-rw-r--r-- | src/dotty/tools/dotc/transform/ResolveSuper.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/ResolveSuper.scala b/src/dotty/tools/dotc/transform/ResolveSuper.scala index 27387bca4..2e1409723 100644 --- a/src/dotty/tools/dotc/transform/ResolveSuper.scala +++ b/src/dotty/tools/dotc/transform/ResolveSuper.scala @@ -59,7 +59,7 @@ class ResolveSuper extends MiniPhaseTransform with IdentityDenotTransformer { th private def rebindSuper(base: Symbol, acc: Symbol)(implicit ctx: Context): Symbol = { var bcs = base.info.baseClasses.dropWhile(acc.owner != _).tail var sym: Symbol = NoSymbol - val SuperAccessorName(memberName) = acc.name: Name // dotty deviation: ": Name" needed otherwise pattern type is neither a subtype nor a supertype of selector type + val SuperAccessorName(memberName) = ctx.atPhase(ctx.picklerPhase){ implicit ctx => acc.name }: Name // dotty deviation: ": Name" needed otherwise pattern type is neither a subtype nor a supertype of selector type ctx.debuglog(i"starting rebindsuper from $base of ${acc.showLocated}: ${acc.info} in $bcs, name = $memberName") while (bcs.nonEmpty && sym == NoSymbol) { val other = bcs.head.info.nonPrivateDecl(memberName) |