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

Side by Side Diff: tests/language/const_map_test.dart

Issue 1518553002: Use annotations on confuse() functions (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 6
7 /// Returns its argument. 7 /// Returns its argument.
8 /// 8 ///
9 /// Prevents static optimizations and inlining. 9 /// Prevents static optimizations and inlining.
10 confuse(x) { 10 @NoInline() @AssumeDynamic()
11 // DateTime.now() cannot be predicted statically. 11 confuse(x) => x;
12 if (new DateTime.now() == 42) return confuse(2);
13 return x;
14 }
15 12
16 main() { 13 main() {
17 // Make sure that const maps use the == operator and not identical. The 14 // Make sure that const maps use the == operator and not identical. The
18 // specification does not explicitly require it, but otherwise ints and 15 // specification does not explicitly require it, but otherwise ints and
19 // Strings wouldn't make much sense as keys. 16 // Strings wouldn't make much sense as keys.
20 var m = const { 1: 42, "foo": 499 }; 17 var m = const { 1: 42, "foo": 499 };
21 Expect.equals(42, m[confuse(1.0)]); 18 Expect.equals(42, m[confuse(1.0)]);
22 Expect.equals(499, m[confuse(new String.fromCharCodes("foo".runes))]); 19 Expect.equals(499, m[confuse(new String.fromCharCodes("foo".runes))]);
23 } 20 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698