summaryrefslogtreecommitdiff
path: root/test/files/run/t6622.scala
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2014-09-29 21:15:04 +0200
committerLukas Rytz <lukas.rytz@gmail.com>2014-09-29 21:33:21 +0200
commitac4662d9c189449918bbd904692054f76985bf60 (patch)
tree40de6c26dced50e5229364f00dee357a812249b2 /test/files/run/t6622.scala
parent5508e00a552d81ce483bd69084eea087fb178647 (diff)
downloadscala-ac4662d9c189449918bbd904692054f76985bf60.tar.gz
scala-ac4662d9c189449918bbd904692054f76985bf60.tar.bz2
scala-ac4662d9c189449918bbd904692054f76985bf60.zip
SI-8445, SI-6622 test cases, already fixed
They were most likely fixed in #3931 / e3107465c3. The test case for SI-6622 is taken from Jason's PR #2654. I adjusted the EnclosingMethod to be `null` in two places in the check file, for the classes that are owned by fields (not methods).
Diffstat (limited to 'test/files/run/t6622.scala')
-rw-r--r--test/files/run/t6622.scala50
1 files changed, 50 insertions, 0 deletions
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()
+}