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

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

Issue 25478009: Handle compile-time constness for conditionals and type literal calls. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments Created 7 years, 2 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
« no previous file with comments | « tests/co19/co19-dart2js.status ('k') | tests/language/language.status » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 // Test for conditionals as compile-time constants.
6
7 import 'package:expect/expect.dart';
8
9 class Marker {
10 final field;
11 const Marker(this.field);
12 }
13
14 var var0 = const Marker(0);
15 var var1 = const Marker(1);
16 const const0 = const Marker(0);
17 const const1 = const Marker(1);
18
19 const trueConst = true;
20 const falseConst = false;
21 var nonConst = true;
22 const zeroConst = 0;
23
24 const cond1 = trueConst ? const0 : const1;
25 const cond1a = trueConst ? nonConst : const1; /// 01: compile-time error
26 const cond1b = trueConst ? const0 : nonConst; /// 02: compile-time error
27
28 const cond2 = falseConst ? const0 : const1;
29 const cond2a = falseConst ? nonConst : const1; /// 03: compile-time error
30 const cond2b = falseConst ? const0 : nonConst; /// 04: compile-time error
31
32 const cond3 = nonConst ? const0 : const1; /// 05: compile-time error
33 const cond3a = nonConst ? nonConst : const1; /// 06: compile-time error
34 const cond3b = nonConst ? const0 : nonConst; /// 07: compile-time error
35
36 const cond4 = zeroConst ? const0 : const1; /// 08: compile-time error
37 const cond4a = zeroConst ? nonConst : const1; /// 09: compile-time error
38 const cond4b = zeroConst ? const0 : nonConst; /// 10: compile-time error
39
40 void main() {
41 Expect.identical(var0, cond1);
42 Expect.identical(nonConst, cond1a); /// 01: continued
43 Expect.identical(var0, cond1b); /// 02: continued
44
45 Expect.identical(var1, cond2);
46 Expect.identical(var1, cond2a); /// 03: continued
47 Expect.identical(nonConst, cond2b); /// 04: continued
48
49 Expect.identical(var0, cond3); /// 05: continued
50 Expect.identical(nonConst, cond3a); /// 06: continued
51 Expect.identical(var0, cond3b); /// 07: continued
52
53 Expect.identical(var1, cond4); /// 08: continued
54 Expect.identical(var1, cond4a); /// 09: continued
55 Expect.identical(nonConst, cond4b); /// 10: continued
56 }
OLDNEW
« no previous file with comments | « tests/co19/co19-dart2js.status ('k') | tests/language/language.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698