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

Side by Side Diff: tests/compiler/dart2js_extra/mirror_invalid_invoke3_test.dart

Issue 1509323003: Fix Chrome 47 test suppressions and invalid @DontInline directive (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Add the HTML tests that were Pass/runtime error Created 5 years 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 // Test that we cannot reflect on elements not covered by the `MirrorsUsed` 5 // Test that we cannot reflect on elements not covered by the `MirrorsUsed`
6 // annotation. 6 // annotation.
7 7
8 library test; 8 library test;
9 9
10 @MirrorsUsed(targets: 'C.foo') 10 @MirrorsUsed(targets: 'C.foo')
11 import 'dart:mirrors'; 11 import 'dart:mirrors';
12 12
13 import 'package:expect/expect.dart'; 13 import 'package:expect/expect.dart';
14 14
15 import '../../language/compiler_annotations.dart'; 15 import '../../language/compiler_annotations.dart';
16 16
17 class C { 17 class C {
18 static foo() => 1; 18 static foo() => 1;
19 19
20 @DontInline 20 @NoInline()
21 // Use a closure to prevent inlining until the annotation is implemented. 21 // Use a closure to prevent inlining until the annotation is implemented.
22 static bar() => () => 2; 22 static bar() => () => 2;
23 } 23 }
24 24
25 main() { 25 main() {
26 C.bar(); // Call bar, so it is included in the program. 26 C.bar(); // Call bar, so it is included in the program.
27 27
28 var mirror = reflect(new C()).type; // Workaround bug 12799. 28 var mirror = reflect(new C()).type; // Workaround bug 12799.
29 Expect.equals(1, mirror.invoke(const Symbol('foo'), []).reflectee); 29 Expect.equals(1, mirror.invoke(const Symbol('foo'), []).reflectee);
30 Expect.throws(() => mirror.invoke(const Symbol('bar'), []), 30 Expect.throws(() => mirror.invoke(const Symbol('bar'), []),
31 (e) => e is NoSuchMethodError); 31 (e) => e is NoSuchMethodError);
32 } 32 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698