summaryrefslogtreecommitdiff
path: root/src/scalap/scala/tools/scalap/Main.scala
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2010-03-29 12:40:39 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2010-03-29 12:40:39 +0000
commit83c817f84c7268a1ba729f8e0ef90336906bfc58 (patch)
tree550ce55c9cd94a224375fa368720ece208089330 /src/scalap/scala/tools/scalap/Main.scala
parentf500aeb1fda09b3d0c142da1307694ab4dacc883 (diff)
downloadscala-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.scala4
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)