diff options
author | ilyas <ilyas@epfl.ch> | 2009-06-29 16:09:59 +0000 |
---|---|---|
committer | ilyas <ilyas@epfl.ch> | 2009-06-29 16:09:59 +0000 |
commit | e659affbea5daf934f2f078fd8b872930bbaa09c (patch) | |
tree | 8bc757562f2ab5ddcca47b2663821993cdcc92dd /src/partest | |
parent | 91643c355b853e9bdfb70a5afab426a3537bfc1d (diff) | |
download | scala-e659affbea5daf934f2f078fd8b872930bbaa09c.tar.gz scala-e659affbea5daf934f2f078fd8b872930bbaa09c.tar.bz2 scala-e659affbea5daf934f2f078fd8b872930bbaa09c.zip |
scalap changed to treat named parameters and pa...
scalap changed to treat named parameters and package objects
Diffstat (limited to 'src/partest')
-rw-r--r-- | src/partest/scala/tools/partest/nest/Worker.scala | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/partest/scala/tools/partest/nest/Worker.scala b/src/partest/scala/tools/partest/nest/Worker.scala index 967374e6ee..0ecd9986f3 100644 --- a/src/partest/scala/tools/partest/nest/Worker.scala +++ b/src/partest/scala/tools/partest/nest/Worker.scala @@ -754,12 +754,12 @@ class Worker(val fileManager: FileManager) extends Actor { case "scalap" => { - def decompileFile(clazz: Class[_]) = { + def decompileFile(clazz: Class[_], packObj: Boolean) = { val byteCode = ByteCode.forClass(clazz) val classFile = ClassFileParser.parse(byteCode) val Some(sig) = classFile.attribute("ScalaSig").map(_.byteCode).map(ScalaSigAttributeParsers.parse) import scala.tools.scalap.Main._ - parseScalaSignature(sig) + parseScalaSignature(sig, packObj) } runInContext(file, kind, (logFile: File, outDir: File) => { @@ -781,12 +781,13 @@ class Worker(val fileManager: FileManager) extends Actor { } else { // 3. Decompile file and compare results - val className = sourceDirName.capitalize + val isPackageObject = sourceDir.getName.startsWith("package") + val className = sourceDirName.capitalize + (if (!isPackageObject) "" else ".package") val url = outDir.toURI.toURL val loader = new URLClassLoader(Array(url), getClass.getClassLoader) val clazz = loader.loadClass(className) - val result = decompileFile(clazz) + val result = decompileFile(clazz, isPackageObject) try { val fstream = new FileWriter(logFile); |