From 191c921e2e289b9e2daf7cb4e5b5a45d5dff8de5 Mon Sep 17 00:00:00 2001 From: Matthias Zenger Date: Wed, 24 Sep 2003 21:09:23 +0000 Subject: Fixed bug 149 --- .../scalac/transformer/matching/PatternMatcher.java | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) (limited to 'sources/scalac/transformer/matching/PatternMatcher.java') diff --git a/sources/scalac/transformer/matching/PatternMatcher.java b/sources/scalac/transformer/matching/PatternMatcher.java index e3dc2a4bf7..8466362731 100644 --- a/sources/scalac/transformer/matching/PatternMatcher.java +++ b/sources/scalac/transformer/matching/PatternMatcher.java @@ -472,20 +472,10 @@ public class PatternMatcher extends PatternTool { } else { Symbol ts = ((ClassSymbol) casted.type().symbol()) .caseFieldAccessor(index); -// target.and = curHeader = mk.Header( -// pat.pos, -// getHeaderType(typeOf0(ts)), -// make.Select( -// pat.pos, -// make.Ident(pat.pos, casted.name) -// .setType(typeOf(casted)) -// .setSymbol(casted), -// ts.name) -// .setType(getHeaderType(typeOf0(ts))) -// .setSymbol(ts)); + Type accType = casted.type().memberType(ts); target.and = curHeader = mk.Header( pat.pos, - ts.type().resultType(), + accType.resultType(), make.Apply( pat.pos, make.Select( @@ -496,9 +486,9 @@ public class PatternMatcher extends PatternTool { ts.name) .setType(Type.MethodType( Symbol.EMPTY_ARRAY, - ts.type().resultType())) + accType.resultType())) .setSymbol(ts), - Tree.EMPTY_ARRAY).setType(ts.type().resultType().asSeenFrom(casted.type(), ts.owner()))); + Tree.EMPTY_ARRAY).setType(accType.resultType())); } curHeader.or = patternNode(pat, curHeader, env); return enter(patArgs, curHeader.or, casted, env); -- cgit v1.2.3