summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-09-30 17:45:28 +1000
committerJason Zaugg <jzaugg@gmail.com>2014-09-30 17:45:28 +1000
commita52db7f1639c6d48eaa64ae609385a60467fd566 (patch)
treee6f2ff5bcc97d48d0743dec04a84af42f64fcefa
parentb413ee32da54081ca88d77c5356024fcceceb957 (diff)
parentac4662d9c189449918bbd904692054f76985bf60 (diff)
downloadscala-a52db7f1639c6d48eaa64ae609385a60467fd566.tar.gz
scala-a52db7f1639c6d48eaa64ae609385a60467fd566.tar.bz2
scala-a52db7f1639c6d48eaa64ae609385a60467fd566.zip
Merge pull request #4011 from lrytz/t8445-6622
SI-8445, SI-6622 test cases, already fixed
-rw-r--r--test/files/run/t6622.check10
-rw-r--r--test/files/run/t6622.scala50
-rw-r--r--test/files/run/t8445.check1
-rw-r--r--test/files/run/t8445.scala11
4 files changed, 72 insertions, 0 deletions
diff --git a/test/files/run/t6622.check b/test/files/run/t6622.check
new file mode 100644
index 0000000000..5d006d88e6
--- /dev/null
+++ b/test/files/run/t6622.check
@@ -0,0 +1,10 @@
+ O1.resultVal isMemberClass = false, null
+class A$1
+ O1.resultDef isMemberClass = false, public void O1$.resultDef()
+class A$2
+ C2.resultVal isMemberClass = false, null
+class $B$1
+ O3.resultDef isMemberClass = false, public void O3$.resultDef()
+class C$1
+ O4.resultDefDefault isMemberClass = false, public java.lang.Object O4$.resultDefDefault$default$1()
+class C$2
diff --git a/test/files/run/t6622.scala b/test/files/run/t6622.scala
new file mode 100644
index 0000000000..de8ffa01bf
--- /dev/null
+++ b/test/files/run/t6622.scala
@@ -0,0 +1,50 @@
+import Test.check
+
+object O1 {
+ lazy val resultVal = {
+ class A
+ check("O1.resultVal", classOf[A])
+ }
+
+ def resultDef = {
+ class A
+ check("O1.resultDef", classOf[A])
+ }
+}
+
+class C2 {
+ val resultVal = {
+ val tmp = {
+ class B
+ check("C2.resultVal", classOf[B])
+ }
+ }
+}
+
+object O3 {
+ def resultDef = {
+ class C
+ check("O3.resultDef", classOf[C])
+ }
+}
+
+object O4 {
+ def resultDefDefault(a: Any = {
+ class C
+ check("O4.resultDefDefault", classOf[C])
+ }) = ();
+}
+
+
+object Test extends App {
+ def check(desc: String, clazz: Class[_]) {
+ println(s" $desc isMemberClass = ${clazz.isMemberClass}, ${clazz.getEnclosingMethod}")
+ println(reflect.runtime.currentMirror.classSymbol(clazz))
+ }
+
+ O1.resultVal
+ O1.resultDef
+ new C2().resultVal
+ O3.resultDef
+ O4.resultDefDefault()
+}
diff --git a/test/files/run/t8445.check b/test/files/run/t8445.check
new file mode 100644
index 0000000000..41fd6d3ed1
--- /dev/null
+++ b/test/files/run/t8445.check
@@ -0,0 +1 @@
+warning: there was one feature warning; re-run with -feature for details
diff --git a/test/files/run/t8445.scala b/test/files/run/t8445.scala
new file mode 100644
index 0000000000..ed196b62a2
--- /dev/null
+++ b/test/files/run/t8445.scala
@@ -0,0 +1,11 @@
+object X {
+ class Y
+ def y = new Y {
+ class Z
+ def z = classOf[Z]
+ }
+}
+
+object Test extends App {
+ assert(X.y.z.getEnclosingClass.getName == "X$$anon$1")
+}