OLD | NEW |
| (Empty) |
1 class Foo { | |
2 method(x, [y, z]) { | |
3 return "string"; | |
4 } | |
5 } | |
6 | |
7 abstract class External { | |
8 String externalMethod(int x, [int y, int z]); | |
9 void listen(Listener listener); | |
10 } | |
11 | |
12 external External createExternal(); | |
13 | |
14 abstract class Listener { | |
15 void event(String input, [int x, int y]); | |
16 } | |
17 | |
18 class TestListener extends Listener { | |
19 void event(input, [x, y]) {} | |
20 } | |
21 | |
22 class ExtendedListener extends Listener { | |
23 void event(input, [x, y, z]) {} | |
24 } | |
25 | |
26 class InvalidListener { | |
27 void event(input, [x]) {} | |
28 } | |
29 | |
30 main() { | |
31 var foo = new Foo(); | |
32 var string1 = foo.method(1); | |
33 var string2 = foo.method(1, 2); | |
34 var string3 = foo.method(1, 2, 3); | |
35 | |
36 var extern = createExternal(); | |
37 var string4 = extern.externalMethod(1); | |
38 var string5 = extern.externalMethod(1, 2); | |
39 var string6 = extern.externalMethod(1, 2, 3); | |
40 | |
41 extern.listen(new TestListener()); | |
42 extern.listen(new ExtendedListener()); | |
43 extern.listen(new InvalidListener()); | |
44 | |
45 var nothing1 = foo.method(); | |
46 var nothing2 = foo.method(1, 2, 3, 4); | |
47 var nothing3 = extern.externalMethod(); | |
48 var nothing4 = extern.externalMethod(1, 2, 3, 4); | |
49 } | |
OLD | NEW |