diff options
author | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2010-03-29 12:40:39 +0000 |
---|---|---|
committer | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2010-03-29 12:40:39 +0000 |
commit | 83c817f84c7268a1ba729f8e0ef90336906bfc58 (patch) | |
tree | 550ce55c9cd94a224375fa368720ece208089330 /src/scalap/scala/tools/scalap/Main.scala | |
parent | f500aeb1fda09b3d0c142da1307694ab4dacc883 (diff) | |
download | scala-83c817f84c7268a1ba729f8e0ef90336906bfc58.tar.gz scala-83c817f84c7268a1ba729f8e0ef90336906bfc58.tar.bz2 scala-83c817f84c7268a1ba729f8e0ef90336906bfc58.zip |
Fix to the way Scalap decodes ScalaSignature an...
Fix to the way Scalap decodes ScalaSignature annotations. Contributed by
ilyas. Already reviewed by dubochet, no review.
Diffstat (limited to 'src/scalap/scala/tools/scalap/Main.scala')
-rw-r--r-- | src/scalap/scala/tools/scalap/Main.scala | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/scalap/scala/tools/scalap/Main.scala b/src/scalap/scala/tools/scalap/Main.scala index 7ac3955d45..ef2a4b438a 100644 --- a/src/scalap/scala/tools/scalap/Main.scala +++ b/src/scalap/scala/tools/scalap/Main.scala @@ -119,8 +119,8 @@ object Main { case None => "" case Some(Annotation(_, elements)) => val bytesElem = elements.find(elem => constant(elem.elementNameIndex) == BYTES_VALUE).get - val sigString = (bytesElem.elementValue match {case ConstValueIndex(index) => constant(index)}).asInstanceOf[String] - val bytes = sigString.getBytes("UTF-8") + val bytes = ((bytesElem.elementValue match {case ConstValueIndex(index) => constantWrapped(index)}) + .asInstanceOf[StringBytesPair].bytes) val length = ByteCodecs.decode(bytes) val scalaSig = ScalaSigAttributeParsers.parse(ByteCode(bytes.take(length))) parseScalaSignature(scalaSig, isPackageObject) |