Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(614)

Side by Side Diff: tests/compiler/dart2js_native/native_no_such_method_exception3_frog_test.dart

Issue 383413003: Add @Native(...) annotation for native class names. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 import "dart:mirrors" show reflect; 5 import "dart:mirrors" show reflect;
6 import "dart:_js_helper";
6 import "package:expect/expect.dart"; 7 import "package:expect/expect.dart";
7 8
8 class GetName { 9 class GetName {
9 foo(x, y, [z]) => "foo"; 10 foo(x, y, [z]) => "foo";
10 } 11 }
11 12
12 String getName(im) => reflect(new GetName()).delegate(im); 13 String getName(im) => reflect(new GetName()).delegate(im);
13 14
14 class A native "A" { 15 @Native("A")
16 class A {
15 bar() => 42; 17 bar() => 42;
16 } 18 }
17 19
18 class B native "B" { 20 @Native("B")
21 class B {
19 foo() => 42; 22 foo() => 42;
20 } 23 }
21 24
22 class C { 25 class C {
23 static create() => new C(); 26 static create() => new C();
24 noSuchMethod(x) => "${getName(x)}:${x.positionalArguments}"; 27 noSuchMethod(x) => "${getName(x)}:${x.positionalArguments}";
25 } 28 }
26 29
27 makeA() native; 30 makeA() native;
28 31
(...skipping 10 matching lines...) Expand all
39 try { 42 try {
40 a.foo(); 43 a.foo();
41 } on NoSuchMethodError catch (e) { 44 } on NoSuchMethodError catch (e) {
42 exception = e; 45 exception = e;
43 } 46 }
44 Expect.isNotNull(exception); 47 Expect.isNotNull(exception);
45 var c = C.create(); 48 var c = C.create();
46 Expect.equals("foo:[1, 2]", c.foo(1, 2)); 49 Expect.equals("foo:[1, 2]", c.foo(1, 2));
47 Expect.equals("foo:[3, 4, 5]", c.foo(3, 4, 5)); 50 Expect.equals("foo:[3, 4, 5]", c.foo(3, 4, 5));
48 } 51 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698