From 436a4363f7890c12f11d866bbff6d792c9041e88 Mon Sep 17 00:00:00 2001 From: schinz Date: Thu, 9 Dec 2004 08:43:26 +0000 Subject: - fixed a bug in the "refinements" method (note... - fixed a bug in the "refinements" method (note: all of this will disappear soon, but I just want to keep the history) --- sources/scalac/transformer/TypesAsValuesPhase.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'sources') diff --git a/sources/scalac/transformer/TypesAsValuesPhase.java b/sources/scalac/transformer/TypesAsValuesPhase.java index 217ed6553e..698a7eb8d1 100644 --- a/sources/scalac/transformer/TypesAsValuesPhase.java +++ b/sources/scalac/transformer/TypesAsValuesPhase.java @@ -1064,8 +1064,14 @@ public class TypesAsValuesPhase extends Phase { while (membersIt.hasNext()) { Symbol mem = membersIt.next(); Symbol origMem = originalSymbol(mem); - if (origMem != Symbol.NONE && !mem.info().isSameAs(origMem.info())) - myRefs.add(new Refinement(origMem, mem.info())); + if (origMem != Symbol.NONE) { + Type ownerTp = mem.owner().thisType(); + Type origTp = ownerTp.memberType(origMem); + Type memTp = ownerTp.memberType(mem); + + if (!memTp.isSameAs(origTp)) + myRefs.add(new Refinement(origMem, mem.info())); + } } Collections.sort(myRefs); return myRefs; -- cgit v1.2.3