summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Petrashko <dark@d-d.me>2016-03-23 18:25:33 +0100
committerDmitry Petrashko <dark@d-d.me>2016-03-23 18:25:33 +0100
commit763d25453b0fb1d17767260c794d8a1d21d616f6 (patch)
tree0d9997f3073c9bae6776261c9fbae806b03f599a
parent952da60a5be15ef972b521bdaf5e650f7e0a5245 (diff)
downloadscala-763d25453b0fb1d17767260c794d8a1d21d616f6.tar.gz
scala-763d25453b0fb1d17767260c794d8a1d21d616f6.tar.bz2
scala-763d25453b0fb1d17767260c794d8a1d21d616f6.zip
Fix a bug in multi-dimensional array creation
`']' * 5` is not `]]]]]` but `245`. I guess this code is never executed, because it would never work.
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala b/src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala
index 82aa3c65aa..b4d645d4bb 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala
@@ -641,8 +641,8 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
}
argsSize match {
case 1 => bc newarray elemKind
- case _ =>
- val descr = ('[' * argsSize) + elemKind.descriptor // denotes the same as: arrayN(elemKind, argsSize).descriptor
+ case _ => // this is currently dead code is Scalac, unlike in Dotty
+ val descr = ("[" * argsSize) + elemKind.descriptor // denotes the same as: arrayN(elemKind, argsSize).descriptor
mnode.visitMultiANewArrayInsn(descr, argsSize)
}