diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2016-04-04 13:43:24 +0200 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2016-04-07 16:42:38 +0200 |
commit | 2ed0d2ad63afc4ed9b1a95d85c0b15898ce66e2f (patch) | |
tree | b1f55fde0aca1d65cb8abea665455db9172c4be9 /test/files/jvm | |
parent | 2d62eea9f99411adda6725364690d126dcb12d98 (diff) | |
download | scala-2ed0d2ad63afc4ed9b1a95d85c0b15898ce66e2f.tar.gz scala-2ed0d2ad63afc4ed9b1a95d85c0b15898ce66e2f.tar.bz2 scala-2ed0d2ad63afc4ed9b1a95d85c0b15898ce66e2f.zip |
Remove references to trait impl classes, mostly in doc comments
Diffstat (limited to 'test/files/jvm')
-rw-r--r-- | test/files/jvm/innerClassAttribute/Classes_1.scala | 19 | ||||
-rw-r--r-- | test/files/jvm/innerClassAttribute/Test.scala | 6 |
2 files changed, 24 insertions, 1 deletions
diff --git a/test/files/jvm/innerClassAttribute/Classes_1.scala b/test/files/jvm/innerClassAttribute/Classes_1.scala index 0abed140f1..bffc495b4f 100644 --- a/test/files/jvm/innerClassAttribute/Classes_1.scala +++ b/test/files/jvm/innerClassAttribute/Classes_1.scala @@ -186,7 +186,7 @@ trait A24 extends A24Base { } } -class SI_9105 { +class SI_9105 { // outerClass enclMeth val fun = (s: String) => { class A // SI_9105 null @@ -269,6 +269,23 @@ class SpecializedClassesAreTopLevel { // } } +object AnonymousClassesMayBeNestedInSpecialized { + abstract class A + class C[@specialized(Int) T] { + def foo(t: T): A = new A { } + } + + // specialization duplicates the anonymous class, one copy is nested in the specialized subclass of C + + // class C$mcI$sp extends C[Int] { + // override def foo(t: Int): A = C$mcI$sp.this.foo$mcI$sp(t); + // override def foo$mcI$sp(t: Int): A = { + // final class $anon extends A { } + // new <$anon: A>() + // } + // } +} + object NestedInValueClass { // note that we can only test anonymous functions, nested classes are not allowed inside value classes class A(val arg: String) extends AnyVal { diff --git a/test/files/jvm/innerClassAttribute/Test.scala b/test/files/jvm/innerClassAttribute/Test.scala index 1ac5a2dcf6..1b78773d42 100644 --- a/test/files/jvm/innerClassAttribute/Test.scala +++ b/test/files/jvm/innerClassAttribute/Test.scala @@ -414,6 +414,11 @@ object Test extends BytecodeTest { List("SpecializedClassesAreTopLevel$T$", "SpecializedClassesAreTopLevel$T$B$mcI$sp", "SpecializedClassesAreTopLevel$T$B").foreach(testInner(_, t, b)) } + def testAnonymousClassesMayBeNestedInSpecialized() { + assertEnclosingMethod("AnonymousClassesMayBeNestedInSpecialized$C$$anon$17", "AnonymousClassesMayBeNestedInSpecialized$C", "foo", "(Ljava/lang/Object;)LAnonymousClassesMayBeNestedInSpecialized$A;") + assertEnclosingMethod("AnonymousClassesMayBeNestedInSpecialized$C$mcI$sp$$anon$18", "AnonymousClassesMayBeNestedInSpecialized$C$mcI$sp", "foo$mcI$sp", "(I)LAnonymousClassesMayBeNestedInSpecialized$A;") + } + def testNestedInValueClass() { List( "NestedInValueClass", @@ -466,6 +471,7 @@ object Test extends BytecodeTest { testSI_9124() testImplClassesTopLevel() testSpecializedClassesTopLevel() + testAnonymousClassesMayBeNestedInSpecialized() testNestedInValueClass() } } |