aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/FirstTransform.scala
diff options
context:
space:
mode:
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)
}