aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/PatternMatcher.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-07-17 18:29:30 +0200
committerMartin Odersky <odersky@gmail.com>2016-07-17 20:02:50 +0200
commit3c3b32346f2c4eafe26cc9659b41ae50b0316b92 (patch)
treee655126228eac24372ed5a57a569f1a5ee8597d4 /src/dotty/tools/dotc/transform/PatternMatcher.scala
parent6e723202409d69cd6e6399d58a9d4fb7b2b337d4 (diff)
downloaddotty-3c3b32346f2c4eafe26cc9659b41ae50b0316b92.tar.gz
dotty-3c3b32346f2c4eafe26cc9659b41ae50b0316b92.tar.bz2
dotty-3c3b32346f2c4eafe26cc9659b41ae50b0316b92.zip
Fix outer test in pattern matcher
Previous test did not reflect deeper paths for outer references. This caused a -Ycheck:patMat failure for i1269.scala.
Diffstat (limited to 'src/dotty/tools/dotc/transform/PatternMatcher.scala')
-rw-r--r--src/dotty/tools/dotc/transform/PatternMatcher.scala3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/transform/PatternMatcher.scala b/src/dotty/tools/dotc/transform/PatternMatcher.scala
index 974053769..92d638be9 100644
--- a/src/dotty/tools/dotc/transform/PatternMatcher.scala
+++ b/src/dotty/tools/dotc/transform/PatternMatcher.scala
@@ -763,9 +763,8 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer {thisTrans
def outerTest(testedBinder: Symbol, expectedTp: Type): Tree = {
val expectedOuter = expectedTp.normalizedPrefix match {
- //case ThisType(clazz) => This(clazz)
//case NoType => Literal(Constant(true)) // fallback for SI-6183 todo?
- case pre => ref(pre.termSymbol)
+ case pre: SingletonType => singleton(pre)
}
// ExplicitOuter replaces `Select(q, outerSym) OBJ_EQ expectedPrefix` by `Select(q, outerAccessor(outerSym.owner)) OBJ_EQ expectedPrefix`