From 3689a29fca753e51d72c6c81abf78dfc6ba51b92 Mon Sep 17 00:00:00 2001 From: Donna Malayeri Date: Mon, 7 Mar 2011 18:08:32 +0000 Subject: Rename io.Code.toUTF8 and io.Code.fromUTF8 so t... Rename io.Code.toUTF8 and io.Code.fromUTF8 so that the names match what the methods do, with an added migration warning. Closes #4203. No review. --- src/compiler/scala/tools/nsc/symtab/NameManglers.scala | 2 +- src/compiler/scala/tools/nsc/symtab/Names.scala | 6 +++--- .../scala/tools/nsc/symtab/classfile/Pickler.scala | 2 +- src/library/scala/io/BytePickle.scala | 4 ++-- src/library/scala/io/Codec.scala | 7 +++++-- src/library/scala/io/UTF8Codec.scala | 18 +++++++++--------- src/scalap/scala/tools/scalap/ByteArrayReader.scala | 2 +- .../scalap/scalax/rules/scalasig/ClassFileParser.scala | 6 +++--- .../tools/scalap/scalax/rules/scalasig/ScalaSig.scala | 2 +- 9 files changed, 26 insertions(+), 23 deletions(-) diff --git a/src/compiler/scala/tools/nsc/symtab/NameManglers.scala b/src/compiler/scala/tools/nsc/symtab/NameManglers.scala index 9fe8f9e37f..b24a064139 100644 --- a/src/compiler/scala/tools/nsc/symtab/NameManglers.scala +++ b/src/compiler/scala/tools/nsc/symtab/NameManglers.scala @@ -33,7 +33,7 @@ trait NameManglers { val marker = "$$$$" val cs = s.toArray - val bytes = Codec fromUTF8 cs + val bytes = Codec toUTF8 cs md5 update bytes val md5chars = md5.digest() map (b => (b & 0xFF).toHexString) mkString diff --git a/src/compiler/scala/tools/nsc/symtab/Names.scala b/src/compiler/scala/tools/nsc/symtab/Names.scala index 4ca4880d35..9e0348c2e3 100644 --- a/src/compiler/scala/tools/nsc/symtab/Names.scala +++ b/src/compiler/scala/tools/nsc/symtab/Names.scala @@ -87,7 +87,7 @@ trait Names extends reflect.generic.Names { val marker = "$$$$" val cs = s.toArray - val bytes = Codec fromUTF8 cs + val bytes = Codec toUTF8 cs md5 update bytes val md5chars = md5.digest() map (b => (b & 0xFF).toHexString) mkString @@ -120,7 +120,7 @@ trait Names extends reflect.generic.Names { /** Create a term name from the UTF8 encoded bytes in bs[offset..offset+len-1]. */ def newTermName(bs: Array[Byte], offset: Int, len: Int): TermName = - newTermName(Codec toUTF8 bs.slice(offset, offset + len) mkString) + newTermName(Codec fromUTF8 bs.slice(offset, offset + len) mkString) /** Create a type name from the characters in cs[offset..offset+len-1]. */ @@ -193,7 +193,7 @@ trait Names extends reflect.generic.Names { * (i.e. maximally 3*length bytes). */ final def copyUTF8(bs: Array[Byte], offset: Int): Int = { - val bytes = Codec fromUTF8 chrs.slice(index, index + len) + val bytes = Codec toUTF8 chrs.slice(index, index + len) compat.Platform.arraycopy(bytes, 0, bs, offset, bytes.length) offset + bytes.length } diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala b/src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala index da261bb6bf..8f560b772f 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala @@ -499,7 +499,7 @@ abstract class Pickler extends SubComponent { /** Write a name in UTF8 format. */ private def writeName(name: Name) { ensureCapacity(name.length * 3) - val utfBytes = Codec fromUTF8 name.toString + val utfBytes = Codec toUTF8 name.toString compat.Platform.arraycopy(utfBytes, 0, bytes, writeIndex, utfBytes.length) writeIndex += utfBytes.length } diff --git a/src/library/scala/io/BytePickle.scala b/src/library/scala/io/BytePickle.scala index 224d4acdd8..526e4bf40b 100644 --- a/src/library/scala/io/BytePickle.scala +++ b/src/library/scala/io/BytePickle.scala @@ -271,8 +271,8 @@ object BytePickle { } def string: SPU[String] = share(wrap( - (a: Array[Byte]) => Codec toUTF8 a mkString, - (s: String) => Codec fromUTF8 s, + (a: Array[Byte]) => Codec fromUTF8 a mkString, + (s: String) => Codec toUTF8 s, bytearray )) diff --git a/src/library/scala/io/Codec.scala b/src/library/scala/io/Codec.scala index d477a47a63..c26769e62d 100644 --- a/src/library/scala/io/Codec.scala +++ b/src/library/scala/io/Codec.scala @@ -10,6 +10,7 @@ package scala.io import java.nio.charset.{ Charset, CharsetDecoder, CharsetEncoder, CharacterCodingException, CodingErrorAction => Action } +import annotation.migration // Some notes about encodings for use in refining this implementation. // @@ -96,7 +97,8 @@ object Codec extends LowPriorityCodecImplicits { new Codec(decoder.charset()) { override def decoder = _decoder } } - def toUTF8(bytes: Array[Byte]): Array[Char] = { + @migration(2, 9, "This method was previously misnamed `toUTF8`. Converts from Array[Byte] to Array[Char].") + def fromUTF8(bytes: Array[Byte]): Array[Char] = { val bbuffer = java.nio.ByteBuffer wrap bytes val cbuffer = UTF8 decode bbuffer val chars = new Array[Char](cbuffer.remaining()) @@ -105,7 +107,8 @@ object Codec extends LowPriorityCodecImplicits { chars } - def fromUTF8(cs: CharSequence): Array[Byte] = { + @migration(2, 9, "This method was previously misnamed `fromUTF8`. Converts from character sequence to Array[Byte].") + def toUTF8(cs: CharSequence): Array[Byte] = { val cbuffer = java.nio.CharBuffer wrap cs val bbuffer = UTF8 encode cbuffer val bytes = new Array[Byte](bbuffer.remaining()) diff --git a/src/library/scala/io/UTF8Codec.scala b/src/library/scala/io/UTF8Codec.scala index 74d2bc6b60..389d4bd719 100644 --- a/src/library/scala/io/UTF8Codec.scala +++ b/src/library/scala/io/UTF8Codec.scala @@ -37,28 +37,28 @@ object UTF8Codec case _: IllegalArgumentException => UNI_REPLACEMENT_BYTES } - @deprecated("Use Codec.fromUTF8 instead") + @deprecated("Use Codec.toUTF8 instead") def encode(src: Array[Char], from: Int, dst: Array[Byte], to: Int, len: Int): Int = { - val bytes = Codec fromUTF8 src.slice(from, from + len) + val bytes = Codec toUTF8 src.slice(from, from + len) Array.copy(bytes, 0, dst, to, bytes.length) bytes.length } - @deprecated("Use Codec.fromUTF8 instead") + @deprecated("Use Codec.toUTF8 instead") def encode(s: String, dst: Array[Byte], to: Int): Int = encode(s.toArray, 0, dst, to, s.length) - @deprecated("Use Codec.fromUTF8 instead") - def encode(s: String): Array[Byte] = Codec fromUTF8 s - @deprecated("Use Codec.toUTF8 instead") + def encode(s: String): Array[Byte] = Codec toUTF8 s + + @deprecated("Use Codec.fromUTF8 instead") def decode(src: Array[Byte], from: Int, dst: Array[Char], to: Int, len: Int): Int = { - val chars = Codec toUTF8 src.slice(from, from + len) + val chars = Codec fromUTF8 src.slice(from, from + len) Array.copy(chars, 0, dst, to, chars.length) chars.length } - @deprecated("Use Codec.toUTF8 instead") + @deprecated("Use Codec.fromUTF8 instead") def decode(src: Array[Byte], from: Int, len: Int): String = - Codec toUTF8 src.slice(from, from + len) mkString + Codec fromUTF8 src.slice(from, from + len) mkString } diff --git a/src/scalap/scala/tools/scalap/ByteArrayReader.scala b/src/scalap/scala/tools/scalap/ByteArrayReader.scala index c4d06a468c..73220d1048 100644 --- a/src/scalap/scala/tools/scalap/ByteArrayReader.scala +++ b/src/scalap/scala/tools/scalap/ByteArrayReader.scala @@ -72,7 +72,7 @@ class ByteArrayReader(content: Array[Byte]) { /** read an UTF8 encoded string */ def nextUTF8(len: Int): String = { - val cs = scala.io.Codec.toUTF8(buf.slice(bp, bp + len)) + val cs = scala.io.Codec.fromUTF8(buf.slice(bp, bp + len)) bp += len new String(cs) } diff --git a/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala index 01652a50b9..d53d8e1fc1 100644 --- a/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala +++ b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala @@ -64,9 +64,9 @@ class ByteCode(val bytes : Array[Byte], val pos : Int, val length : Int) { * Transforms array subsequence of the current buffer into the UTF8 String and * stores and array of bytes for the decompiler */ - def toUTF8StringAndBytes = { + def fromUTF8StringAndBytes = { val chunk: Array[Byte] = bytes drop pos take length - StringBytesPair(io.Codec.toUTF8(chunk).mkString, chunk) + StringBytesPair(io.Codec.fromUTF8(chunk).mkString, chunk) } def byte(i : Int) = bytes(pos) & 0xFF @@ -102,7 +102,7 @@ object ClassFileParser extends ByteCodeReader { // NOTE currently most constants just evaluate to a string description // TODO evaluate to useful values - val utf8String = (u2 >> bytes) ^^ add1 { raw => pool => raw.toUTF8StringAndBytes } + val utf8String = (u2 >> bytes) ^^ add1 { raw => pool => raw.fromUTF8StringAndBytes } val intConstant = u4 ^^ add1 { x => pool => x } val floatConstant = bytes(4) ^^ add1 { raw => pool => "Float: TODO" } val longConstant = bytes(8) ^^ add2 { raw => pool => raw.toLong } diff --git a/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala index cb4f336d9c..170a9a15a3 100644 --- a/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala +++ b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala @@ -72,7 +72,7 @@ object ScalaSigAttributeParsers extends ByteCodeReader { val symtab = nat >> entry.times val scalaSig = nat ~ nat ~ symtab ^~~^ ScalaSig - val utf8 = read(x => x.toUTF8StringAndBytes.string) + val utf8 = read(x => x.fromUTF8StringAndBytes.string) val longValue = read(_ toLong) } -- cgit v1.2.3