diff options
author | michelou <michelou@epfl.ch> | 2003-08-18 15:20:35 +0000 |
---|---|---|
committer | michelou <michelou@epfl.ch> | 2003-08-18 15:20:35 +0000 |
commit | 0e4375781964953b65150c8749cc5bc89cf6b7f3 (patch) | |
tree | 8f4d2109d5d0bc8a4274edac4c2a099155303344 /test/files/run/overloads.scala | |
parent | 1cd03ac6fc78416b8e9eb9da29185b57fb00bf2a (diff) | |
download | scala-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.scala | 44 |
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); |