summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/backend/jvm
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2016-12-12 16:25:23 +0100
committerGitHub <noreply@github.com>2016-12-12 16:25:23 +0100
commit8b872daacbb41dc9947ad181ba79e660c55a6683 (patch)
treeaf3c865b0d9327fe131cdbde7dc433c4a52d66c3 /src/compiler/scala/tools/nsc/backend/jvm
parent2d90142eca20416971d3f8a2d79aaf0a4531b8ce (diff)
parent880aec04e82ad3a9a2feb3b83b779f192d84e01e (diff)
downloadscala-8b872daacbb41dc9947ad181ba79e660c55a6683.tar.gz
scala-8b872daacbb41dc9947ad181ba79e660c55a6683.tar.bz2
scala-8b872daacbb41dc9947ad181ba79e660c55a6683.zip
Merge pull request #5543 from retronym/ticket/10069
SI-10069 Fix code gen errors with array updates, Nothing
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/jvm')
-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 b0815b0008..c7952ffe94 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala
@@ -168,7 +168,7 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
} else if (scalaPrimitives.isArraySet(code)) {
val List(a1, a2) = args
genLoad(a1, INT)
- genLoad(a2)
+ genLoad(a2, elementType)
generatedType = UNIT
bc.astore(elementType)
} else {
@@ -630,7 +630,7 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder {
generatedType = methodBTypeFromSymbol(fun.symbol).returnType
case Apply(fun, List(expr)) if currentRun.runDefinitions.isBox(fun.symbol) =>
- val nativeKind = tpeTK(expr)
+ val nativeKind = typeToBType(fun.symbol.firstParam.info)
genLoad(expr, nativeKind)
val MethodNameAndType(mname, methodType) = srBoxesRuntimeBoxToMethods(nativeKind)
bc.invokestatic(srBoxesRunTimeRef.internalName, mname, methodType.descriptor, itf = false, app.pos)