diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2010-11-13 10:53:18 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2010-11-13 10:53:18 +0000 |
commit | 8c5af3304f8592fbb2fe20db4caf61f1085b8723 (patch) | |
tree | c442cee9890da0a68b4f30cbeb0f70e1749d99b2 /src/compiler | |
parent | 6bf1e7a2684c19f21ebc6367a39bc3e19b32e321 (diff) | |
download | scala-8c5af3304f8592fbb2fe20db4caf61f1085b8723.tar.gz scala-8c5af3304f8592fbb2fe20db4caf61f1085b8723.tar.bz2 scala-8c5af3304f8592fbb2fe20db4caf61f1085b8723.zip |
Fixed erasure.intersectionDominator.
is loaded before testing for 'isTrait'. closes #3918, review by
odersky,extempore.
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/Erasure.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/Erasure.scala b/src/compiler/scala/tools/nsc/transform/Erasure.scala index b9d195a01e..2ba079345d 100644 --- a/src/compiler/scala/tools/nsc/transform/Erasure.scala +++ b/src/compiler/scala/tools/nsc/transform/Erasure.scala @@ -131,9 +131,10 @@ abstract class Erasure extends AddInterfaces with typechecker.Analyzer with ast. !(psyms exists (qsym => (psym ne qsym) && (qsym isNonBottomSubClass psym))) val cs = parents.iterator.filter { p => // isUnshadowed is a bit expensive, so try classes first val psym = p.typeSymbol + psym.info // make sure it's complete psym.isClass && !psym.isTrait && isUnshadowed(psym) } - (if (cs.hasNext) cs else parents.iterator.filter(p => isUnshadowed(p.typeSymbol))).next() + (if (cs.hasNext) cs else parents.iterator.filter(p => isUnshadowed(p.typeSymbol))).next } } |