aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/TypeErasure.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-12-19 18:56:03 +0100
committerMartin Odersky <odersky@gmail.com>2014-12-19 18:56:09 +0100
commitd21310b8baa847f1b0cd14986f8ec1084b59e6fe (patch)
tree90017842a48eeea9c68dbbe55ae73317b8c2133a /src/dotty/tools/dotc/TypeErasure.scala
parentcf6b62f11815fc98fe69e25875668c8709631656 (diff)
downloaddotty-d21310b8baa847f1b0cd14986f8ec1084b59e6fe.tar.gz
dotty-d21310b8baa847f1b0cd14986f8ec1084b59e6fe.tar.bz2
dotty-d21310b8baa847f1b0cd14986f8ec1084b59e6fe.zip
Fix isUnboundedGeneric for alias types.
Fixes problem in test case SI-7638a.scala which gave an override error before.
Diffstat (limited to 'src/dotty/tools/dotc/TypeErasure.scala')
-rw-r--r--src/dotty/tools/dotc/TypeErasure.scala6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/TypeErasure.scala b/src/dotty/tools/dotc/TypeErasure.scala
index a9ae34213..3ddd10595 100644
--- a/src/dotty/tools/dotc/TypeErasure.scala
+++ b/src/dotty/tools/dotc/TypeErasure.scala
@@ -160,11 +160,11 @@ object TypeErasure {
* as upper bound and that is not Java defined? Arrays of such types are
* erased to `Object` instead of `ObjectArray`.
*/
- def isUnboundedGeneric(tp: Type)(implicit ctx: Context): Boolean = tp match {
+ def isUnboundedGeneric(tp: Type)(implicit ctx: Context): Boolean = tp.dealias match {
case tp: TypeRef =>
- tp.symbol.isAbstractType &&
+ !tp.symbol.isClass &&
!tp.derivesFrom(defn.ObjectClass) &&
- !tp.typeSymbol.is(JavaDefined)
+ !tp.symbol.is(JavaDefined)
case tp: PolyParam =>
!tp.derivesFrom(defn.ObjectClass) &&
!tp.binder.resultType.isInstanceOf[JavaMethodType]