summaryrefslogtreecommitdiff
path: root/test/files/neg/names-defaults-neg.check
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@epfl.ch>2009-05-30 07:36:31 +0000
committerLukas Rytz <lukas.rytz@epfl.ch>2009-05-30 07:36:31 +0000
commit390ccacfe0caa4c07af6193dec3e172c0fcd7896 (patch)
tree001ff4a00bd9d8cab651d9bf245bfc795748d829 /test/files/neg/names-defaults-neg.check
parent661f1ba10e5062fd987c4cafe43ad1f0dc3f5491 (diff)
downloadscala-390ccacfe0caa4c07af6193dec3e172c0fcd7896.tar.gz
scala-390ccacfe0caa4c07af6193dec3e172c0fcd7896.tar.bz2
scala-390ccacfe0caa4c07af6193dec3e172c0fcd7896.zip
Named and default arguments
- MethodTypes now have (params: List[Symbol]) - "copy"-methods for case classes - the "copy" object in the compiler is now called "treeCopy"
Diffstat (limited to 'test/files/neg/names-defaults-neg.check')
-rw-r--r--test/files/neg/names-defaults-neg.check108
1 files changed, 108 insertions, 0 deletions
diff --git a/test/files/neg/names-defaults-neg.check b/test/files/neg/names-defaults-neg.check
new file mode 100644
index 0000000000..5e621c9690
--- /dev/null
+++ b/test/files/neg/names-defaults-neg.check
@@ -0,0 +1,108 @@
+names-defaults-neg.scala:63: error: not enough arguments for method apply: (a: Int,b: String)(c: Int*)Fact in object Fact, unspecified parameter: value b
+ val fac = Fact(1)(2, 3)
+ ^
+names-defaults-neg.scala:5: error: type mismatch;
+ found : java.lang.String("#")
+ required: Int
+ test1(b = 2, a = "#")
+ ^
+names-defaults-neg.scala:8: error: positional after named argument.
+ test1(a = 1, "*")
+ ^
+names-defaults-neg.scala:9: error: positional after named argument.
+ test1(b = "(*", 23)
+ ^
+names-defaults-neg.scala:16: error: not found: value c
+ test1(c = 0, b = "joke")
+ ^
+names-defaults-neg.scala:20: error: parameter specified twice: a
+ test1(1, a = 2)
+ ^
+names-defaults-neg.scala:21: error: parameter specified twice: b
+ test1(b = 1, b = "2")
+ ^
+names-defaults-neg.scala:24: error: {
+ val x$1: Int(3) = 3;
+ val x$2: Int(1) = 1;
+ Test.this.test3(1, 3)
+} of type Int does not take parameters
+ test3(b = 3, a = 1)(3)
+ ^
+names-defaults-neg.scala:33: error: ambiguous reference to overloaded definition,
+both method f in object t1 of type (b: String,a: Int)java.lang.String
+and method f in object t1 of type (a: Int,b: String)java.lang.String
+match argument types (b: java.lang.String,a: Int)
+ t1.f(b = "dkljf", a = 1)
+ ^
+names-defaults-neg.scala:40: error: ambiguous reference to overloaded definition,
+both method f in object t3 of type (a2: Int)(b: Int)java.lang.String
+and method f in object t3 of type (a1: Int)java.lang.String
+match argument types (Int)
+ t3.f(1)
+ ^
+names-defaults-neg.scala:41: error: ambiguous reference to overloaded definition,
+both method f in object t3 of type (a2: Int)(b: Int)java.lang.String
+and method f in object t3 of type (a1: Int)java.lang.String
+match argument types (Int)
+ t3.f(1)(2)
+ ^
+names-defaults-neg.scala:47: error: ambiguous reference to overloaded definition,
+both method g in object t7 of type (a: B)java.lang.String
+and method g in object t7 of type (a: C,b: Int*)java.lang.String
+match argument types (C)
+ t7.g(new C()) // ambigous reference
+ ^
+names-defaults-neg.scala:51: error: parameter specified twice: b
+ test5(a = 1, b = "dkjl", b = "dkj")
+ ^
+names-defaults-neg.scala:52: error: parameter specified twice: b
+ test5(1, "2", b = 3)
+ ^
+names-defaults-neg.scala:53: error: when using named arguments, the vararg parameter has to be specified exactly once
+ test5(b = "dlkj")
+ ^
+names-defaults-neg.scala:59: error: ambiguous reference to overloaded definition,
+both method f in object t8 of type (b: String,a: Int)java.lang.String
+and method f in object t8 of type (a: Int,b: java.lang.Object)java.lang.String
+match argument types (a: Int,b: java.lang.String) and expected result type Any
+ println(t8.f(a = 0, b = "1")) // ambigous reference
+ ^
+names-defaults-neg.scala:75: error: multiple overloaded alternatives of method foo define default arguments
+ def foo(a: Int = 0) = a
+ ^
+names-defaults-neg.scala:76: error: multiple overloaded alternatives of method foo define default arguments
+ def foo(b: String = "another") = b
+ ^
+names-defaults-neg.scala:76: error: method foo$default$1 is defined twice
+ def foo(b: String = "another") = b
+ ^
+names-defaults-neg.scala:85: error: multiple overloaded alternatives of method foo define default arguments
+ override def foo(a: Int = 1092) = a
+ ^
+names-defaults-neg.scala:86: error: multiple overloaded alternatives of method foo define default arguments
+ def foo(b: String = "lskdfj")
+ ^
+names-defaults-neg.scala:88: error: multiple overloaded alternatives of method bar define default arguments
+ def bar(i: Int = 129083) = i
+ ^
+names-defaults-neg.scala:88: error: type mismatch;
+ found : Int(129083)
+ required: java.lang.String
+ def bar(i: Int = 129083) = i
+ ^
+names-defaults-neg.scala:86: error: method foo$default$1 is defined twice
+ def foo(b: String = "lskdfj")
+ ^
+names-defaults-neg.scala:93: error: using named or default arguments in a super constructor call is not allowed
+class B1 extends A1(10)
+ ^
+names-defaults-neg.scala:94: error: using named or default arguments in a super constructor call is not allowed
+class B2 extends A1(y = 20, x = 2)
+ ^
+names-defaults-neg.scala:99: error: using named or default arguments in a self constructor call is not allowed
+ this(y = 10, x = a.toString())
+ ^
+names-defaults-neg.scala:105: error: using named or default arguments in a self constructor call is not allowed
+ this(sep + b + sep)
+ ^
+28 errors found