From 40db5ce7419683e7d336dbd3f3fe793bf7ae4d65 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Tue, 6 Jul 2004 14:17:48 +0000 Subject: *** empty log message *** --- sources/scalac/typechecker/RefCheck.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'sources/scalac/typechecker') diff --git a/sources/scalac/typechecker/RefCheck.java b/sources/scalac/typechecker/RefCheck.java index dc383e5067..0a35ae25a8 100644 --- a/sources/scalac/typechecker/RefCheck.java +++ b/sources/scalac/typechecker/RefCheck.java @@ -116,12 +116,10 @@ public class RefCheck extends Transformer implements Modifiers, Kinds { if (member1.kind == VAL) { Type self = clazz.thisType(); Type otherinfo = normalizedInfo(self, other); - Type template = resultToAny(otherinfo); switch (member1.info()) { case OverloadedType(Symbol[] alts, _): for (int i = 0; i < alts.length; i++) { - if (normalizedInfo(self, alts[i]).isSubType(template) /*&& - alts[i].owner() == member1.owner()*/) { + if (normalizedInfo(self, alts[i]).overrides(otherinfo)) { if (member == other) member = alts[i]; else @@ -136,7 +134,7 @@ public class RefCheck extends Transformer implements Modifiers, Kinds { } break; default: - if (normalizedInfo(self, member1).isSubType(template)) { + if (normalizedInfo(self, member1).overrides(otherinfo)) { member = member1; } } @@ -212,7 +210,7 @@ public class RefCheck extends Transformer implements Modifiers, Kinds { * M must be labelled `abstract override'. */ void checkOverride(int pos, Symbol clazz, Symbol member, Symbol other) { - //System.out.println(member + member.locationString() + " overrides " + other + other.locationString() + " in " + clazz);//debug + //System.out.println(member + ":" + member.type() + member.locationString() + " overrides " + other + ":" + other.type() + other.locationString() + " in " + clazz);//DEBUG if (member.owner() == clazz) pos = member.pos; else { -- cgit v1.2.3