summaryrefslogtreecommitdiff
path: root/test/files/run/overloads.scala
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2003-08-18 15:20:35 +0000
committermichelou <michelou@epfl.ch>2003-08-18 15:20:35 +0000
commit0e4375781964953b65150c8749cc5bc89cf6b7f3 (patch)
tree8f4d2109d5d0bc8a4274edac4c2a099155303344 /test/files/run/overloads.scala
parent1cd03ac6fc78416b8e9eb9da29185b57fb00bf2a (diff)
downloadscala-0e4375781964953b65150c8749cc5bc89cf6b7f3.tar.gz
scala-0e4375781964953b65150c8749cc5bc89cf6b7f3.tar.bz2
scala-0e4375781964953b65150c8749cc5bc89cf6b7f3.zip
*** empty log message ***
Diffstat (limited to 'test/files/run/overloads.scala')
-rw-r--r--test/files/run/overloads.scala44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/files/run/overloads.scala b/test/files/run/overloads.scala
index 461633ce67..6a797c0bc4 100644
--- a/test/files/run/overloads.scala
+++ b/test/files/run/overloads.scala
@@ -5,6 +5,23 @@
//############################################################################
+object Ops {
+ def - = 0;
+ def -(c: Char) = c;
+ def -(i: Int) = i;
+
+ def -- = 0;
+ def --(c: Char) = c;
+ def --(i: Int) = i;
+}
+
+object Funcs {
+ def foo = 0;
+ def foo() = 1;
+ def foo(c: Char) = 2;
+ def foo(i: Int) = 3;
+}
+
object M1 {
def f[A](x: A) = 11;
def f[A <: StructuralEquality[A]](x: A) = 12;
@@ -28,7 +45,34 @@ object overloads {
System.out.flush();
}
+ def - = 0;
+ def -(c: Char) = c;
+ def -(i: Int) = i;
+
+ def -- = 0;
+ def --(c: Char) = c;
+ def --(i: Int) = i;
+
def test: Unit = {
+ check("-('a')", -('a'), -97);
+ check("-(97)", -(97), -97);
+
+ check("Ops.-('a')", Ops.-('a'), 'a');
+ check("Ops.-(97)", Ops.-(97), 97);
+
+ check("--", --, 0);
+ check("--('a')", --('a'), 'a');
+ check("--(97)", --(97), 97);
+
+ check("Ops.--", Ops.--, 0);
+ check("Ops.--('a')", Ops.--('a'), 'a');
+ check("Ops.--(97)", Ops.--(97), 97);
+
+ check("Funcs.foo", Funcs.foo, 0);
+ check("Funcs.foo()", Funcs.foo(), 1);
+ check("Funcs.foo('a')", Funcs.foo('a'), 2);
+ check("Funcs.foo(97)", Funcs.foo(97), 3);
+
val x = 3;
check("M1.f(" + x +")", M1.f(x), 11);
check("M2.f(" + x +")", M2.f(x), 22);