diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-09-09 16:42:03 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-09-17 18:07:15 +0200 |
commit | f0dfea49476e1b1f1d3c0f60e52e96db957dff78 (patch) | |
tree | 8f06908fd27c195549efbafb405de7ae38fd36e1 /src/dotty/tools/dotc/transform/FirstTransform.scala | |
parent | b22dc6d50f675ff713fd19e243f9cd439d7791b1 (diff) | |
download | dotty-f0dfea49476e1b1f1d3c0f60e52e96db957dff78.tar.gz dotty-f0dfea49476e1b1f1d3c0f60e52e96db957dff78.tar.bz2 dotty-f0dfea49476e1b1f1d3c0f60e52e96db957dff78.zip |
Changes from discussion in #171
Diffstat (limited to 'src/dotty/tools/dotc/transform/FirstTransform.scala')
-rw-r--r-- | src/dotty/tools/dotc/transform/FirstTransform.scala | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/FirstTransform.scala b/src/dotty/tools/dotc/transform/FirstTransform.scala index 5a3e65294..a8cbb0595 100644 --- a/src/dotty/tools/dotc/transform/FirstTransform.scala +++ b/src/dotty/tools/dotc/transform/FirstTransform.scala @@ -85,7 +85,13 @@ class FirstTransform extends MiniPhaseTransform with IdentityDenotTransformer { if (tree.isType) TypeTree(tree.tpe).withPos(tree.pos) else tree override def transformIdent(tree: Ident)(implicit ctx: Context, info: TransformerInfo) = tree.tpe match { - case tpe: ThisType => This(tpe.cls).withPos(tree.pos) + case tpe: ThisType => + /* + A this reference hide in a self ident, and be subsequently missed + when deciding on whether outer accessors are needed and computing outer paths. + sWe do this normalization directly after Typer, because during typer the + ident should rest available for hyperlinking.*/ + This(tpe.cls).withPos(tree.pos) case _ => normalizeType(tree) } |