aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/TypeErasure.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-07-14 22:58:29 +0200
committerMartin Odersky <odersky@gmail.com>2016-07-14 22:58:36 +0200
commit6de06305893eb1fc5d14d6058f239f7854bb6d54 (patch)
treed09a150c5b89c9fe46ab40d32d9493085444585e /src/dotty/tools/dotc/core/TypeErasure.scala
parentbef40b45f6c15bf55fa73ea7923cb4da74cf77d0 (diff)
downloaddotty-6de06305893eb1fc5d14d6058f239f7854bb6d54.tar.gz
dotty-6de06305893eb1fc5d14d6058f239f7854bb6d54.tar.bz2
dotty-6de06305893eb1fc5d14d6058f239f7854bb6d54.zip
Fix erasure of Java Array[T]
Should be erased to Object[], not Object.
Diffstat (limited to 'src/dotty/tools/dotc/core/TypeErasure.scala')
-rw-r--r--src/dotty/tools/dotc/core/TypeErasure.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/TypeErasure.scala b/src/dotty/tools/dotc/core/TypeErasure.scala
index 39d02e069..0894f34b2 100644
--- a/src/dotty/tools/dotc/core/TypeErasure.scala
+++ b/src/dotty/tools/dotc/core/TypeErasure.scala
@@ -389,7 +389,7 @@ class TypeErasure(isJava: Boolean, semiEraseVCs: Boolean, isConstructor: Boolean
def arrayErasure(tpToErase: Type) =
erasureFn(isJava, semiEraseVCs = false, isConstructor, wildcardOK)(tpToErase)
if (elemtp derivesFrom defn.NullClass) JavaArrayType(defn.ObjectType)
- else if (isUnboundedGeneric(elemtp)) defn.ObjectType
+ else if (isUnboundedGeneric(elemtp) && !isJava) defn.ObjectType
else JavaArrayType(arrayErasure(elemtp))
}