summaryrefslogtreecommitdiff
path: root/test/files/jvm
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2016-02-03 21:59:54 +1000
committerJason Zaugg <jzaugg@gmail.com>2016-02-03 21:59:54 +1000
commit953559988a698d6663ac983ee7d9944e05bd861d (patch)
treed2b12610d04c9a510e9d5c2b0242118521fa1a15 /test/files/jvm
parent6ecb997fa8eb305bf547ec8a6106ba2fd777a594 (diff)
parentbf599bc72a1fff4aa812e6d8962b2cabe14725ab (diff)
downloadscala-953559988a698d6663ac983ee7d9944e05bd861d.tar.gz
scala-953559988a698d6663ac983ee7d9944e05bd861d.tar.bz2
scala-953559988a698d6663ac983ee7d9944e05bd861d.zip
Merge commit 'bf599bc' into merge/2.11.x-to-2.12.x-20160203
Conflicts: src/compiler/scala/tools/nsc/backend/opt/ConstantOptimization.scala src/compiler/scala/tools/nsc/transform/Constructors.scala src/compiler/scala/tools/nsc/typechecker/Contexts.scala src/scaladoc/scala/tools/nsc/doc/html/page/Template.scala src/scaladoc/scala/tools/nsc/doc/html/resource/lib/jquery.layout.js
Diffstat (limited to 'test/files/jvm')
-rw-r--r--test/files/jvm/innerClassEnclMethodJavaReflection.scala9
1 files changed, 5 insertions, 4 deletions
diff --git a/test/files/jvm/innerClassEnclMethodJavaReflection.scala b/test/files/jvm/innerClassEnclMethodJavaReflection.scala
index a4d64d0b67..a60b5cac8e 100644
--- a/test/files/jvm/innerClassEnclMethodJavaReflection.scala
+++ b/test/files/jvm/innerClassEnclMethodJavaReflection.scala
@@ -25,12 +25,13 @@ object Test extends App {
def testClasses(jarOrDirectory: String): Unit = {
val classPath = AbstractFile.getDirectory(new java.io.File(jarOrDirectory))
+ val basePath = classPath.path + "/"
- def flatten(f: AbstractFile): Iterator[AbstractFile] =
- if (f.isClassContainer) f.iterator.flatMap(flatten)
- else Iterator(f)
+ def flatten(f: AbstractFile, s: String): Iterator[(AbstractFile, String)] =
+ if (f.isClassContainer) f.iterator.map(ch => (ch, (if(s.isEmpty) "" else s + "/") + ch.name)).flatMap((flatten _).tupled)
+ else Iterator((f, s))
- val classFullNames = flatten(classPath).filter(_.hasExtension("class")).map(_.path.replace("/", ".").replaceAll(".class$", ""))
+ val classFullNames = flatten(classPath, "").filter(_._1.hasExtension("class")).map(_._2.replace("/", ".").replaceAll(".class$", ""))
// it seems that Class objects can only be GC'd together with their class loader
// (http://stackoverflow.com/questions/2433261/when-and-how-are-classes-garbage-collected-in-java)