diff options
Diffstat (limited to 'sources')
-rw-r--r-- | sources/scalac/transformer/matching/AlgebraicMatcher.java | 2 | ||||
-rw-r--r-- | sources/scalac/transformer/matching/PatternMatcher.java | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/sources/scalac/transformer/matching/AlgebraicMatcher.java b/sources/scalac/transformer/matching/AlgebraicMatcher.java index 6b0afd8fa5..67fc972798 100644 --- a/sources/scalac/transformer/matching/AlgebraicMatcher.java +++ b/sources/scalac/transformer/matching/AlgebraicMatcher.java @@ -356,7 +356,7 @@ public class AlgebraicMatcher extends PatternTool { Symbol typeSym = ((ClassSymbol) casted.type().symbol()) .caseFieldAccessor(index); - Type castType = getHeaderType( typeOf0( typeSym )); + Type castType = getHeaderType( typeOf0( typeSym )).asSeenFrom(typeOf(casted), typeSym.owner()); target.and = curHeader = mk.Header(pat.pos, castType, diff --git a/sources/scalac/transformer/matching/PatternMatcher.java b/sources/scalac/transformer/matching/PatternMatcher.java index c8d2db2cc6..f3f52d8074 100644 --- a/sources/scalac/transformer/matching/PatternMatcher.java +++ b/sources/scalac/transformer/matching/PatternMatcher.java @@ -542,7 +542,7 @@ public class PatternMatcher extends PatternTool { Symbol.EMPTY_ARRAY, getHeaderType(typeOf0(ts)))) .setSymbol(ts), - Tree.EMPTY_ARRAY).setType(getHeaderType(typeOf0(ts)))); + Tree.EMPTY_ARRAY).setType(getHeaderType(typeOf0(ts)).asSeenFrom(typeOf(casted), ts.owner()))); } curHeader.or = patternNode(pat, curHeader, env); return enter(patArgs, curHeader.or, casted, env); |