OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 @native("*A") | 5 @native("*A") |
6 class A { | 6 class A { |
7 bar() => 42; | 7 bar() => 42; |
8 noSuchMethod(x,y) => "native($x:$y)"; | 8 noSuchMethod(x,y) => "native($x:$y)"; |
9 } | 9 } |
10 | 10 |
11 @native("*B") | 11 @native("*B") |
12 class B { | 12 class B { |
13 baz() => 42; | 13 baz() => 42; |
14 } | 14 } |
15 | 15 |
16 class C { | 16 class C { |
17 static create() => new C(); | 17 static create() => new C(); |
18 noSuchMethod(x, y) => "$x:$y"; | 18 noSuchMethod(x, y) => "$x:$y"; |
19 } | 19 } |
20 | 20 |
21 @native makeA(); | 21 @native makeA(); |
22 | 22 |
23 @native(""" | 23 @native(""" |
24 function A() {} | 24 function A() {} |
25 makeA = function() { return new A; } | 25 makeA = function() { return new A; } |
26 """) | 26 """) |
27 setup(); | 27 setup(); |
28 | 28 |
29 main() { | 29 main() { |
30 setup(); | 30 setup(); |
31 var a = makeA(); | 31 var a = makeA(); |
32 a.bar(); | 32 a.bar(); |
33 Expect.equals("native(foo:[1, 2])", a.foo(1, 2)); | 33 Expect.equals("native(foo:[1, 2])", a.foo(1, 2)); |
34 Expect.equals("native(baz:[3, 4, 5])", a.baz(3, 4, 5)); | 34 Expect.equals("native(baz:[3, 4, 5])", a.baz(3, 4, 5)); |
35 var c = C.create(); | 35 var c = C.create(); |
36 Expect.equals("foo:[6]", c.foo(6)); | 36 Expect.equals("foo:[6]", c.foo(6)); |
37 } | 37 } |
OLD | NEW |