aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/FirstTransform.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2014-09-09 16:42:03 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2014-09-17 18:07:15 +0200
commitf0dfea49476e1b1f1d3c0f60e52e96db957dff78 (patch)
tree8f06908fd27c195549efbafb405de7ae38fd36e1 /src/dotty/tools/dotc/transform/FirstTransform.scala
parentb22dc6d50f675ff713fd19e243f9cd439d7791b1 (diff)
downloaddotty-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.scala8
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)
}