aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/neg/varargsInMethodsT1625/allParamsAreVarArgs.scala3
-rw-r--r--tests/neg/varargsInMethodsT1625/caseClassConstructorVarArgs.scala3
-rw-r--r--tests/neg/varargsInMethodsT1625/classConstructorVarArgs.scala3
-rw-r--r--tests/neg/varargsInMethodsT1625/curriedNegExample.scala3
-rw-r--r--tests/neg/varargsInMethodsT1625/firstParamIsVarArgs.scala3
-rw-r--r--tests/pos/varargsInMethodsT1625/curriedPosExample.scala3
-rw-r--r--tests/pos/varargsInMethodsT1625/onlyOneVarArgs.scala3
-rw-r--r--tests/run/variable-pattern-access.check7
-rw-r--r--tests/run/variable-pattern-access.scala16
9 files changed, 44 insertions, 0 deletions
diff --git a/tests/neg/varargsInMethodsT1625/allParamsAreVarArgs.scala b/tests/neg/varargsInMethodsT1625/allParamsAreVarArgs.scala
new file mode 100644
index 000000000..aabb1ecea
--- /dev/null
+++ b/tests/neg/varargsInMethodsT1625/allParamsAreVarArgs.scala
@@ -0,0 +1,3 @@
+trait T3 {
+ def foo(x: String*, y: String*, c: String*): Int // error // error: varargs parameter must come last
+} \ No newline at end of file
diff --git a/tests/neg/varargsInMethodsT1625/caseClassConstructorVarArgs.scala b/tests/neg/varargsInMethodsT1625/caseClassConstructorVarArgs.scala
new file mode 100644
index 000000000..8f8a4fcf6
--- /dev/null
+++ b/tests/neg/varargsInMethodsT1625/caseClassConstructorVarArgs.scala
@@ -0,0 +1,3 @@
+object T5 {
+ case class Abc(x: String*, c: String*) // error //error: varargs parameter must come last AND found: String* required: String
+} \ No newline at end of file
diff --git a/tests/neg/varargsInMethodsT1625/classConstructorVarArgs.scala b/tests/neg/varargsInMethodsT1625/classConstructorVarArgs.scala
new file mode 100644
index 000000000..74595cb7d
--- /dev/null
+++ b/tests/neg/varargsInMethodsT1625/classConstructorVarArgs.scala
@@ -0,0 +1,3 @@
+class Abc(val x: String*, val c: String*) { // error: varargs parameter must come last
+ def test = ???
+} \ No newline at end of file
diff --git a/tests/neg/varargsInMethodsT1625/curriedNegExample.scala b/tests/neg/varargsInMethodsT1625/curriedNegExample.scala
new file mode 100644
index 000000000..616ea0539
--- /dev/null
+++ b/tests/neg/varargsInMethodsT1625/curriedNegExample.scala
@@ -0,0 +1,3 @@
+trait T2 {
+ def foo(x: String*, y: String*)(z: Boolean*)(u: Int*, l: Int*): Int // error // error: varargs parameter must come last
+} \ No newline at end of file
diff --git a/tests/neg/varargsInMethodsT1625/firstParamIsVarArgs.scala b/tests/neg/varargsInMethodsT1625/firstParamIsVarArgs.scala
new file mode 100644
index 000000000..eceb7e696
--- /dev/null
+++ b/tests/neg/varargsInMethodsT1625/firstParamIsVarArgs.scala
@@ -0,0 +1,3 @@
+trait T1 {
+ def foo(x: String*, y: String): Int // error: varargs parameter must come last
+} \ No newline at end of file
diff --git a/tests/pos/varargsInMethodsT1625/curriedPosExample.scala b/tests/pos/varargsInMethodsT1625/curriedPosExample.scala
new file mode 100644
index 000000000..c614f2dee
--- /dev/null
+++ b/tests/pos/varargsInMethodsT1625/curriedPosExample.scala
@@ -0,0 +1,3 @@
+trait T2 {
+ def foo(x: String, y: String*)(z: Boolean*)(u: Int, l: Int*): Int
+} \ No newline at end of file
diff --git a/tests/pos/varargsInMethodsT1625/onlyOneVarArgs.scala b/tests/pos/varargsInMethodsT1625/onlyOneVarArgs.scala
new file mode 100644
index 000000000..834960b4a
--- /dev/null
+++ b/tests/pos/varargsInMethodsT1625/onlyOneVarArgs.scala
@@ -0,0 +1,3 @@
+trait T1 {
+ def foo(x: String*): Int
+} \ No newline at end of file
diff --git a/tests/run/variable-pattern-access.check b/tests/run/variable-pattern-access.check
new file mode 100644
index 000000000..1039f6a25
--- /dev/null
+++ b/tests/run/variable-pattern-access.check
@@ -0,0 +1,7 @@
+# Fields of A:
+private final int A.a$$local
+private final int A.b$$local
+private final scala.Tuple2 A.$1$
+# Methods of A:
+public int A.a()
+public int A.b()
diff --git a/tests/run/variable-pattern-access.scala b/tests/run/variable-pattern-access.scala
new file mode 100644
index 000000000..1d27b3e42
--- /dev/null
+++ b/tests/run/variable-pattern-access.scala
@@ -0,0 +1,16 @@
+class A {
+ val (a, b) = (1, 2)
+}
+object Test {
+ def printFields(cls: Class[_]) =
+ println(cls.getDeclaredFields.map(_.toString).sorted.deep.mkString("\n"))
+ def printMethods(cls: Class[_]) =
+ println(cls.getDeclaredMethods.map(_.toString).sorted.deep.mkString("\n"))
+
+ def main(args: Array[String]): Unit = {
+ println("# Fields of A:")
+ printFields(classOf[A])
+ println("# Methods of A:")
+ printMethods(classOf[A])
+ }
+}