summaryrefslogtreecommitdiff
path: root/src/partest
diff options
context:
space:
mode:
authorilyas <ilyas@epfl.ch>2009-06-29 16:09:59 +0000
committerilyas <ilyas@epfl.ch>2009-06-29 16:09:59 +0000
commite659affbea5daf934f2f078fd8b872930bbaa09c (patch)
tree8bc757562f2ab5ddcca47b2663821993cdcc92dd /src/partest
parent91643c355b853e9bdfb70a5afab426a3537bfc1d (diff)
downloadscala-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.scala9
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);