From 1d932642eaed2ec9829be951f3272d32b4393a39 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Mon, 5 Sep 2016 11:51:14 +0200 Subject: Handle outer this in Inliner Also, do some refactorings and fix some bugs in Inliner. --- src/dotty/tools/dotc/transform/PatternMatcher.scala | 1 + 1 file changed, 1 insertion(+) (limited to 'src/dotty/tools/dotc/transform/PatternMatcher.scala') diff --git a/src/dotty/tools/dotc/transform/PatternMatcher.scala b/src/dotty/tools/dotc/transform/PatternMatcher.scala index 490feb7d0..49c0eabec 100644 --- a/src/dotty/tools/dotc/transform/PatternMatcher.scala +++ b/src/dotty/tools/dotc/transform/PatternMatcher.scala @@ -782,6 +782,7 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer { val expectedClass = expectedTp.dealias.classSymbol.asClass val test = codegen._asInstanceOf(testedBinder, expectedTp) + // TODO: Use nme.OUTER_SELECT, like the Inliner does? val outerAccessorTested = ctx.atPhase(ctx.explicitOuterPhase.next) { implicit ctx => ExplicitOuter.ensureOuterAccessors(expectedClass) test.select(ExplicitOuter.outerAccessor(expectedClass)).select(defn.Object_eq).appliedTo(expectedOuter) -- cgit v1.2.3