summaryrefslogtreecommitdiff
path: root/src/compiler/scala/reflect/internal/Types.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-11-13 16:38:22 +0000
committerPaul Phillips <paulp@improving.org>2011-11-13 16:38:22 +0000
commit38a646ce5cf63aee7c5bde6af4f469729820683c (patch)
tree5adfbcd02a85aa9bdda3bf5a82f2cb1f9f8c14a6 /src/compiler/scala/reflect/internal/Types.scala
parent01141595e9ad642f3f0ddf87df96706719ea8c19 (diff)
downloadscala-38a646ce5cf63aee7c5bde6af4f469729820683c.tar.gz
scala-38a646ce5cf63aee7c5bde6af4f469729820683c.tar.bz2
scala-38a646ce5cf63aee7c5bde6af4f469729820683c.zip
Sin some more.
"Fiddle with lubs and glbs by never considering getClass as a member in a refinement generated from them. In a sense we have justification for this by saying we already treated getClass in an ad-hoc way, so we might as well go all the way." -- m. odersky Closes SI-4846.
Diffstat (limited to 'src/compiler/scala/reflect/internal/Types.scala')
-rw-r--r--src/compiler/scala/reflect/internal/Types.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compiler/scala/reflect/internal/Types.scala b/src/compiler/scala/reflect/internal/Types.scala
index 46b95e6b8c..91cc0a6215 100644
--- a/src/compiler/scala/reflect/internal/Types.scala
+++ b/src/compiler/scala/reflect/internal/Types.scala
@@ -5615,7 +5615,7 @@ A type's typeSymbol should never be inspected directly.
for (sym <- lubBase.nonPrivateMembers) {
// add a refinement symbol for all non-class members of lubBase
// which are refined by every type in ts.
- if (!sym.isClass && !sym.isConstructor && (narrowts forall (t => refines(t, sym))))
+ if (!sym.isClass && !sym.isConstructor && !isGetClass(sym) && (narrowts forall (t => refines(t, sym))))
try {
val lsym = lubsym(sym)
if (lsym != NoSymbol) addMember(lubThisType, lubRefined, lubsym(sym))