diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2016-12-12 16:25:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-12 16:25:23 +0100 |
commit | 8b872daacbb41dc9947ad181ba79e660c55a6683 (patch) | |
tree | af3c865b0d9327fe131cdbde7dc433c4a52d66c3 /src | |
parent | 2d90142eca20416971d3f8a2d79aaf0a4531b8ce (diff) | |
parent | 880aec04e82ad3a9a2feb3b83b779f192d84e01e (diff) | |
download | scala-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')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala | 4 |
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) |