summaryrefslogtreecommitdiff
path: root/test/files/jvm/t8582.check
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2014-05-22 08:38:03 +0200
committerLukas Rytz <lukas.rytz@gmail.com>2014-05-22 09:37:22 +0200
commite4785929497c25db2416e599878d654f00dfc46f (patch)
tree1868a4446e6e33bd9325c4ee0532a624bf694297 /test/files/jvm/t8582.check
parentbdca8cf69fe9b8153bf4e25d55dc786ba6550a1e (diff)
parent6c99037952766c7075b48171fe65a6077cf6b9f5 (diff)
downloadscala-e4785929497c25db2416e599878d654f00dfc46f.tar.gz
scala-e4785929497c25db2416e599878d654f00dfc46f.tar.bz2
scala-e4785929497c25db2416e599878d654f00dfc46f.zip
Merge branch '2.11.x' into 2.12.x
Diffstat (limited to 'test/files/jvm/t8582.check')
-rw-r--r--test/files/jvm/t8582.check47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/files/jvm/t8582.check b/test/files/jvm/t8582.check
new file mode 100644
index 0000000000..1d19f1d6a8
--- /dev/null
+++ b/test/files/jvm/t8582.check
@@ -0,0 +1,47 @@
+t8582.scala:17: warning: class BeanInfo in package beans is deprecated: the generation of BeanInfo classes is no longer supported
+ class C1
+ ^
+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]