aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-03-10 13:39:21 +0100
committerMartin Odersky <odersky@gmail.com>2015-03-10 13:39:21 +0100
commit8783026bc399929331a5ec5d24abbb91c27a73b0 (patch)
treebfabf2b2dd174c8d68c4fd30410dcf699ae0224d /src/dotty/tools/dotc/transform
parent60312a11c23b5144adf0237cc7238e68296738e4 (diff)
downloaddotty-8783026bc399929331a5ec5d24abbb91c27a73b0.tar.gz
dotty-8783026bc399929331a5ec5d24abbb91c27a73b0.tar.bz2
dotty-8783026bc399929331a5ec5d24abbb91c27a73b0.zip
Move ElimByName as late as possible.
ElimByName might be merged with erasure, so we can alreayd move it as close a pssoble to it. Verified that it can't be moved beyong ResolevSuper, but not why.
Diffstat (limited to 'src/dotty/tools/dotc/transform')
-rw-r--r--src/dotty/tools/dotc/transform/ElimByName.scala2
-rw-r--r--src/dotty/tools/dotc/transform/ResolveSuper.scala2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/ElimByName.scala b/src/dotty/tools/dotc/transform/ElimByName.scala
index ca84fcaec..ff774b462 100644
--- a/src/dotty/tools/dotc/transform/ElimByName.scala
+++ b/src/dotty/tools/dotc/transform/ElimByName.scala
@@ -47,7 +47,7 @@ import ast.Trees._
* other options which have been abandoned or not yet pursued.
*
* Option 1: Transform => T to () => T also in method and function types. The problem with this is
- * that is that it rewuires to look at every type, and this forces too much, causing
+ * that is that it requires to look at every type, and this forces too much, causing
* Cyclic Reference errors. Abandoned for this reason.
*
* Option 2: Merge ElimByName with erasure, or have it run immediately before. This has not been
diff --git a/src/dotty/tools/dotc/transform/ResolveSuper.scala b/src/dotty/tools/dotc/transform/ResolveSuper.scala
index 953c8b74d..921a5f1fa 100644
--- a/src/dotty/tools/dotc/transform/ResolveSuper.scala
+++ b/src/dotty/tools/dotc/transform/ResolveSuper.scala
@@ -48,6 +48,8 @@ class ResolveSuper extends MiniPhaseTransform with IdentityDenotTransformer { th
override def phaseName: String = "resolveSuper"
+ override def runsAfter = Set(classOf[ElimByName]) // verified empirically, need to figure out what the reason is.
+
/** Returns the symbol that is accessed by a super-accessor in a mixin composition.
*
* @param base The class in which everything is mixed together