JET-140 Change function type syntax

and tests for
JET-168 Improve the parser for function and tuple types as receiver types
This commit is contained in:
Andrey Breslav
2011-07-06 17:49:35 +04:00
parent 4cf00a8548
commit e0d597a1bc
56 changed files with 279 additions and 1874 deletions
@@ -318,25 +318,25 @@ public class JetTypeCheckerTest extends LightDaemonAnalyzerTestCase {
}
public void testFunctionLiterals() throws Exception {
assertType("{() => }", "{() : Unit}");
assertType("{() : Int => }", "{() : Int}");
assertType("{() => 1}", "{() : Int}");
assertType("{() => }", "fun () : Unit");
assertType("{() : Int => }", "fun () : Int");
assertType("{() => 1}", "fun () : Int");
assertType("{(a : Int) => 1}", "{(a : Int) : Int}");
assertType("{(a : Int, b : String) => 1}", "{(a : Int, b : String) : Int}");
assertType("{(a : Int) => 1}", "fun (a : Int) : Int");
assertType("{(a : Int, b : String) => 1}", "fun (a : Int, b : String) : Int");
assertType("{(a : Int) => 1}", "{(Int) : Int}");
assertType("{(a : Int, b : String) => 1}", "{(Int, String) : Int}");
assertType("{(a : Int) => 1}", "fun (Int) : Int");
assertType("{(a : Int, b : String) => 1}", "fun (Int, String) : Int");
assertType("{Any.() => 1}", "{Any.() : Int}");
assertType("{Any.() => 1}", "fun Any.() : Int");
assertType("{Any.(a : Int) => 1}", "{Any.(a : Int) : Int}");
assertType("{Any.(a : Int, b : String) => 1}", "{Any.(a : Int, b : String) : Int}");
assertType("{Any.(a : Int) => 1}", "fun Any.(a : Int) : Int");
assertType("{Any.(a : Int, b : String) => 1}", "fun Any.(a : Int, b : String) : Int");
assertType("{Any.(a : Int) => 1}", "{Any.(Int) : Int}");
assertType("{Any.(a : Int, b : String) => 1}", "{Any.(Int, String) : Int}");
assertType("{Any.(a : Int) => 1}", "fun Any.(Int) : Int");
assertType("{Any.(a : Int, b : String) => 1}", "fun Any.(Int, String) : Int");
assertType("{Any.(a : Int, b : String) => b}", "{Any.(Int, String) : String}");
assertType("{Any.(a : Int, b : String) => b}", "fun Any.(Int, String) : String");
}
public void testBlocks() throws Exception {