diff options
author | Lex Spoon <lex@lexspoon.org> | 2007-10-02 23:31:46 +0000 |
---|---|---|
committer | Lex Spoon <lex@lexspoon.org> | 2007-10-02 23:31:46 +0000 |
commit | c373bdc3b8400bf5257e911eeefbfad4fde0ef4d (patch) | |
tree | 7fe483a315fb5e144882c7275297a4c112818fb8 /test/files/run | |
parent | 082a3edc21c2086b5bd44ab651b71ad4e38174c7 (diff) | |
download | scala-c373bdc3b8400bf5257e911eeefbfad4fde0ef4d.tar.gz scala-c373bdc3b8400bf5257e911eeefbfad4fde0ef4d.tar.bz2 scala-c373bdc3b8400bf5257e911eeefbfad4fde0ef4d.zip |
Updated the attributes test because there is a ...
Updated the attributes test because there is a warning when subclassing
ClassfileAnnotation
Diffstat (limited to 'test/files/run')
-rw-r--r-- | test/files/run/attributes.check | 7 | ||||
-rw-r--r-- | test/files/run/attributes.scala | 80 |
2 files changed, 87 insertions, 0 deletions
diff --git a/test/files/run/attributes.check b/test/files/run/attributes.check new file mode 100644 index 0000000000..8b11a7018f --- /dev/null +++ b/test/files/run/attributes.check @@ -0,0 +1,7 @@ +attributes.scala:60: warning: implementation restriction: subclassing Classfile does not +make your annotation visible at runtime. If that is what +you want, you must write the annotation class in Java. +class a4(ns: Array[Int]) extends scala.ClassfileAnnotation; + ^ +one warning found +no such file: Test diff --git a/test/files/run/attributes.scala b/test/files/run/attributes.scala new file mode 100644 index 0000000000..ac3b83433f --- /dev/null +++ b/test/files/run/attributes.scala @@ -0,0 +1,80 @@ +/* $Id$ */ + +@serializable class C1; +@serializable @volatile class C2; +@serializable @volatile class C3; +@serializable @volatile @serializable class C4; + +@serializable trait T1; +@serializable @volatile trait T2; +@serializable @volatile trait T3; +@serializable @volatile @serializable trait T4; + +@serializable object O1 extends C1; +@serializable @volatile object O2 extends C2; +@serializable @volatile object O3 extends C3; +@serializable @volatile @serializable object O4 extends C4; + +object O5 { + final val n = 2; + @SerialVersionUID(0) class C1; + @SerialVersionUID(n) class C2; + @SerialVersionUID(0) @SerialVersionUID(n) class C3; + @SerialVersionUID(0) @SerialVersionUID(n) class C4; +} + +abstract class A1 { + @serializable var y1: C1; + @serializable @volatile var y2: C2; + @serializable @volatile var y3: C3; + @serializable @volatile @serializable var y4: C4; + + @serializable def foo1: C1; + @serializable @volatile def foo2: C2; + @serializable @volatile def foo3: C3; + @serializable @volatile @serializable def foo4: C4; +} + +object O6 { + @serializable val x1 = new C1; + @serializable @volatile val x2 = new C2; + @serializable @volatile val x3 = new C3; + @serializable @volatile @serializable val x4 = new C4; + + @serializable var y1: C1 = _; + @serializable @volatile var y2: C2 = _; + @serializable @volatile var y3: C3 = _; + @serializable @volatile @serializable var y4: C4 = _; + + @serializable private def foo1 = x1; + @serializable @volatile private def foo2 = x2; + @serializable @volatile protected def foo3 = x3; + @serializable @volatile @serializable protected def foo4 = x4; +} + +object myAttrs { + class a1 extends scala.Annotation; + class a2(x: Int) extends scala.Annotation; + class a3(x: a1) extends scala.Annotation; +} +class a4(ns: Array[Int]) extends scala.ClassfileAnnotation; +object O7 { + class a1 extends scala.Annotation; + class a2(x: Int) extends scala.Annotation; + class a3(x: a1) extends scala.Annotation; + + final val x = new a1; + @a1 class C1; + @a1 @a2(77) class C2; + @a1 @a2(88) class C3; + @a1 @a2(88) @a3(null) class C4; + + @myAttrs.a1 class A1; + @myAttrs.a1 @myAttrs.a2(99) class A2; + @myAttrs.a1 @myAttrs.a2(99) class A3; + @myAttrs.a1 @myAttrs.a2(99) @myAttrs.a3(null) class A4; + @a4(Array(1,2,3)) class A5; + @a4(Array()) class A6; + + val zero = 0 : @myAttrs.a1 +} |