summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Ochsenreither <simon@ochsenreither.de>2016-03-15 20:52:09 +0100
committerSimon Ochsenreither <simon@ochsenreither.de>2016-03-15 20:52:09 +0100
commit1133991ac812f6c5892c80bc2f8d843d6bb64b4b (patch)
tree860403238457148d235e58325ac99a89e12fe0e7
parent99a82be91cbb85239f70508f6695c6b21fd3558c (diff)
downloadscala-1133991ac812f6c5892c80bc2f8d843d6bb64b4b.tar.gz
scala-1133991ac812f6c5892c80bc2f8d843d6bb64b4b.tar.bz2
scala-1133991ac812f6c5892c80bc2f8d843d6bb64b4b.zip
SI-9539 Specify charset when reading ScalaSignatures, ...
... without it we would use the platform's default charset.
-rw-r--r--src/reflect/scala/reflect/runtime/JavaMirrors.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/reflect/scala/reflect/runtime/JavaMirrors.scala b/src/reflect/scala/reflect/runtime/JavaMirrors.scala
index 40f2a1ef90..5e77318c43 100644
--- a/src/reflect/scala/reflect/runtime/JavaMirrors.scala
+++ b/src/reflect/scala/reflect/runtime/JavaMirrors.scala
@@ -613,7 +613,7 @@ private[scala] trait JavaMirrors extends internal.SymbolTable with api.JavaUnive
loadBytes[String]("scala.reflect.ScalaSignature") match {
case Some(ssig) =>
info(s"unpickling Scala $clazz and $module, owner = ${clazz.owner}")
- val bytes = ssig.getBytes
+ val bytes = ssig.getBytes(java.nio.charset.StandardCharsets.UTF_8)
val len = ByteCodecs.decode(bytes)
assignAssociatedFile(clazz, module, jclazz)
unpickler.unpickle(bytes take len, 0, clazz, module, jclazz.getName)
@@ -622,7 +622,7 @@ private[scala] trait JavaMirrors extends internal.SymbolTable with api.JavaUnive
loadBytes[Array[String]]("scala.reflect.ScalaLongSignature") match {
case Some(slsig) =>
info(s"unpickling Scala $clazz and $module with long Scala signature")
- val encoded = slsig flatMap (_.getBytes)
+ val encoded = slsig flatMap (_.getBytes(java.nio.charset.StandardCharsets.UTF_8))
val len = ByteCodecs.decode(encoded)
val decoded = encoded.take(len)
assignAssociatedFile(clazz, module, jclazz)