diff options
Diffstat (limited to 'tests')
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]) + } +} |