summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@epfl.ch>2009-07-05 07:19:02 +0000
committerLukas Rytz <lukas.rytz@epfl.ch>2009-07-05 07:19:02 +0000
commit3ba0e87fed08f64066bf3412580fcdf635762f31 (patch)
tree123dfca72e28a1e0388d2a0c39808f3b8c29e329 /test/files
parent3be21076e049cb966397f3026c7dbb6b96ad57a8 (diff)
downloadscala-3ba0e87fed08f64066bf3412580fcdf635762f31.tar.gz
scala-3ba0e87fed08f64066bf3412580fcdf635762f31.tar.bz2
scala-3ba0e87fed08f64066bf3412580fcdf635762f31.zip
fix #2122, test for #2116
Diffstat (limited to 'test/files')
-rw-r--r--test/files/neg/annot-nonconst.check14
-rw-r--r--test/files/neg/annot-nonconst.scala2
-rw-r--r--test/files/run/names-defaults.scala3
3 files changed, 15 insertions, 4 deletions
diff --git a/test/files/neg/annot-nonconst.check b/test/files/neg/annot-nonconst.check
index bc6a0d2c48..23429bb11a 100644
--- a/test/files/neg/annot-nonconst.check
+++ b/test/files/neg/annot-nonconst.check
@@ -3,8 +3,16 @@ make your annotation visible at runtime. If that is what
you want, you must write the annotation class in Java.
class Length(value: Int) extends ClassfileAnnotation
^
-annot-nonconst.scala:5: error: annotation argument needs to be a constant; found: n
+annot-nonconst.scala:2: 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 Ann2(value: String) extends ClassfileAnnotation
+ ^
+annot-nonconst.scala:6: error: annotation argument needs to be a constant; found: n
@Length(n) def foo = "foo"
^
-one warning found
-one error found
+annot-nonconst.scala:7: error: annotation argument needs to be a constant; found: null
+ @Ann2(null) def bar = "bar"
+ ^
+two warnings found
+two errors found
diff --git a/test/files/neg/annot-nonconst.scala b/test/files/neg/annot-nonconst.scala
index f9d044a041..69bb60d34e 100644
--- a/test/files/neg/annot-nonconst.scala
+++ b/test/files/neg/annot-nonconst.scala
@@ -1,6 +1,8 @@
class Length(value: Int) extends ClassfileAnnotation
+class Ann2(value: String) extends ClassfileAnnotation
object Test {
def n = 15
@Length(n) def foo = "foo"
+ @Ann2(null) def bar = "bar"
}
diff --git a/test/files/run/names-defaults.scala b/test/files/run/names-defaults.scala
index 162c0bc43e..91f72e3e3c 100644
--- a/test/files/run/names-defaults.scala
+++ b/test/files/run/names-defaults.scala
@@ -282,10 +282,11 @@ class B1 extends A1 {
}
trait N {
- def foo[T >: String](x: Int = -1, y: T = "jupee")(z: String): String
+ def foo[T >: String](x: Int = -1, y: T = "jupee")(z: String): Object
}
abstract class M extends N {
+ // also tests #2116, specialize return type when overriding.
def foo[T >: String](x: Int, y: T)(z: String = "1"): String
def bar(n: Int, m: Double = 1.239): Double
}