diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2014-05-13 17:39:46 +0200 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2014-05-13 17:40:48 +0200 |
commit | fa2204e1749b21aa838350f321d5d85644be4ecf (patch) | |
tree | 5bacd568c182fae72d5a6dddbc6c7fe0f0d4e96d /test/files/run | |
parent | e948073ae22167082ee672d8ac21507f7b3fa9f7 (diff) | |
download | scala-fa2204e1749b21aa838350f321d5d85644be4ecf.tar.gz scala-fa2204e1749b21aa838350f321d5d85644be4ecf.tar.bz2 scala-fa2204e1749b21aa838350f321d5d85644be4ecf.zip |
Move t8582 to test/files/jvm
Diffstat (limited to 'test/files/run')
-rw-r--r-- | test/files/run/t8582.check | 44 | ||||
-rw-r--r-- | test/files/run/t8582.scala | 81 |
2 files changed, 0 insertions, 125 deletions
diff --git a/test/files/run/t8582.check b/test/files/run/t8582.check deleted file mode 100644 index 564f482ff8..0000000000 --- a/test/files/run/t8582.check +++ /dev/null @@ -1,44 +0,0 @@ -getClass on module gives module class - class p1.p2.Singleton$Singleton$ - -Nested module classes are found through reflection - p1.p2.Singleton$Singleton$: List(class p1.p2.Singleton$Singleton$Singleton$) - -Reflection can find direct nested classes (A1-B1-C1) - A1: List(class A1$B1) - A1$B1: List(class A1$B1$C1) - A1$B1$C1: List() - -Reflection can find direct nested classes (A2-B2-C2) - A2: List(class A2$B2) - A2$B2: List(class A2$B2$C2) - A2$B2$C2: List() - -Mirror classes have the same InnerClass attributes as the corresponding module class: - className[p1/p2/Singleton$Singleton$] outerClassName[p1/p2/Singleton] innerName[Singleton$] access[9] -Module class - className[p1/p2/Singleton$Singleton$] outerClassName[p1/p2/Singleton] innerName[Singleton$] access[9] - -An outer class has a InnerClass attribute for direct nested classes - className[A1$B1] outerClassName[A1] innerName[B1] access[1] -A nested class has an InnerClass attribute for itself (and also for its nested classes) - className[A1$B1] outerClassName[A1] innerName[B1] access[1] - className[A1$B1$C1] outerClassName[A1$B1] innerName[C1] access[1] -C1 is a nested class, so it has an InnerClass attribute for itself. -Because that attribute leads to an entry for B1 in the constant pool, C1 needs an InnerClass attribute for B1. - className[A1$B1] outerClassName[A1] innerName[B1] access[1] - className[A1$B1$C1] outerClassName[A1$B1] innerName[C1] access[1] - -The BeanInfo class has the same InnerClass attributes as the corresponding bean - className[A1$B1] outerClassName[A1] innerName[B1] access[1] - className[A1$B1$C1] outerClassName[A1$B1] innerName[C1] access[1] - -Class A2 mentions class C2 in the constant pool (due to method f), therefore it needs an InnerClass attribute for C1 - className[A2$B2] outerClassName[A2] innerName[B2] access[1] - className[A2$B2$C2] outerClassName[A2$B2] innerName[C2] access[1] -B2 - className[A2$B2] outerClassName[A2] innerName[B2] access[1] - className[A2$B2$C2] outerClassName[A2$B2] innerName[C2] access[1] -C2 - className[A2$B2] outerClassName[A2] innerName[B2] access[1] - className[A2$B2$C2] outerClassName[A2$B2] innerName[C2] access[1] diff --git a/test/files/run/t8582.scala b/test/files/run/t8582.scala deleted file mode 100644 index 8a57ef7952..0000000000 --- a/test/files/run/t8582.scala +++ /dev/null @@ -1,81 +0,0 @@ -import scala.tools.partest.BytecodeTest -import scala.collection.JavaConverters._ - -package p1 { - package p2 { - object Singleton { - object Singleton { - object Singleton - } - } - } -} - -class A1 { - class B1 { - @scala.beans.BeanInfo - class C1 - } -} - -class A2 { - class B2 { - class C2 - } - def f: B2#C2 = null -} - - -object Test extends BytecodeTest { - import p1.p2._ - - def nested(c: Class[_]) = s" ${c.getName}: ${c.getDeclaredClasses.toList}" - - def nprintln(s: String) = println("\n"+s) - def printInner(cname: String): Unit = { - val cnode = loadClassNode(cname) - println(cnode.innerClasses.asScala.toList.map(i => s"className[${i.name}] outerClassName[${i.outerName}] innerName[${i.innerName}] access[${i.access}]").mkString(" ", "\n ", "")) - } - - def show() { - - println("getClass on module gives module class") - println(" " + Singleton.Singleton.getClass) - - nprintln("Nested module classes are found through reflection") - println(nested(Singleton.Singleton.getClass)) - - nprintln("Reflection can find direct nested classes (A1-B1-C1)") - println(nested(classOf[A1])) - println(nested(classOf[A1#B1])) - println(nested(classOf[A1#B1#C1])) - - nprintln("Reflection can find direct nested classes (A2-B2-C2)") - println(nested(classOf[A2])) - println(nested(classOf[A2#B2])) - println(nested(classOf[A2#B2#C2])) - - nprintln("Mirror classes have the same InnerClass attributes as the corresponding module class:") - printInner("p1.p2.Singleton") // mirror class - println("Module class") - printInner("p1.p2.Singleton$") - - nprintln("An outer class has a InnerClass attribute for direct nested classes") - printInner("A1") - println("A nested class has an InnerClass attribute for itself (and also for its nested classes)") - printInner("A1$B1") - println("C1 is a nested class, so it has an InnerClass attribute for itself.\n"+ - "Because that attribute leads to an entry for B1 in the constant pool, C1 needs an InnerClass attribute for B1.") - printInner("A1$B1$C1") - - nprintln("The BeanInfo class has the same InnerClass attributes as the corresponding bean") - printInner("A1$B1$C1BeanInfo") - - nprintln("Class A2 mentions class C2 in the constant pool (due to method f), therefore it needs an InnerClass attribute for C1") - printInner("A2") - println("B2") - printInner("A2$B2") - println("C2") - printInner("A2$B2$C2") - } -} |