summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorschinz <schinz@epfl.ch>2004-12-09 08:43:26 +0000
committerschinz <schinz@epfl.ch>2004-12-09 08:43:26 +0000
commit436a4363f7890c12f11d866bbff6d792c9041e88 (patch)
tree3fec52aa5f44c7490f986bdc4e638172f451537f /sources
parenta0a569dfb76080df049e2ca27c27d696c848f5f9 (diff)
downloadscala-436a4363f7890c12f11d866bbff6d792c9041e88.tar.gz
scala-436a4363f7890c12f11d866bbff6d792c9041e88.tar.bz2
scala-436a4363f7890c12f11d866bbff6d792c9041e88.zip
- 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)
Diffstat (limited to 'sources')
-rw-r--r--sources/scalac/transformer/TypesAsValuesPhase.java10
1 files changed, 8 insertions, 2 deletions
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;