diff options
author | Paul Phillips <paulp@improving.org> | 2011-11-13 16:38:22 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-11-13 16:38:22 +0000 |
commit | 38a646ce5cf63aee7c5bde6af4f469729820683c (patch) | |
tree | 5adfbcd02a85aa9bdda3bf5a82f2cb1f9f8c14a6 /src/compiler/scala/reflect/internal/Types.scala | |
parent | 01141595e9ad642f3f0ddf87df96706719ea8c19 (diff) | |
download | scala-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.scala | 2 |
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)) |