summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2010-11-13 10:53:18 +0000
committerIulian Dragos <jaguarul@gmail.com>2010-11-13 10:53:18 +0000
commit8c5af3304f8592fbb2fe20db4caf61f1085b8723 (patch)
treec442cee9890da0a68b4f30cbeb0f70e1749d99b2 /src
parent6bf1e7a2684c19f21ebc6367a39bc3e19b32e321 (diff)
downloadscala-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')
-rw-r--r--src/compiler/scala/tools/nsc/transform/Erasure.scala3
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
}
}