OLD | NEW |
| (Empty) |
1 // Copyright (c) 2015, 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 file for testing source mappings of operations. | |
6 | |
7 var counter = 0; | |
8 | |
9 void record(result) { | |
10 counter++; | |
11 } | |
12 | |
13 main(args) { | |
14 counter++; | |
15 operations(args.length > 0, | |
16 0, 1.5, args[0], new Complex(0, 1), new Complex(1.5, 2.5)); | |
17 return counter; | |
18 } | |
19 | |
20 void operations(cond, a, b, c, d, e) { | |
21 if (cond) record(a + a); | |
22 if (cond) record(a + b); | |
23 if (cond) record(a + c); | |
24 if (cond) record(a + d); | |
25 if (cond) record(a + e); | |
26 if (cond) record(b + a); | |
27 if (cond) record(b + b); | |
28 if (cond) record(b + c); | |
29 if (cond) record(b + d); | |
30 if (cond) record(b + e); | |
31 if (cond) record(c + a); | |
32 if (cond) record(c + b); | |
33 if (cond) record(c + c); | |
34 if (cond) record(c + d); | |
35 if (cond) record(c + e); | |
36 if (cond) record(d + a); | |
37 if (cond) record(d + b); | |
38 if (cond) record(d + c); | |
39 if (cond) record(d + d); | |
40 if (cond) record(d + e); | |
41 if (cond) record(e + a); | |
42 if (cond) record(e + b); | |
43 if (cond) record(e + c); | |
44 if (cond) record(e + d); | |
45 if (cond) record(e + e); | |
46 } | |
47 | |
48 class Complex { | |
49 final num re; | |
50 final num im; | |
51 | |
52 const Complex(this.re, this.im); | |
53 | |
54 operator +(Complex other) => new Complex(re + other.re, im + other.im); | |
55 | |
56 // TODO(johnniwinther): Support implicit null check in '=='. | |
57 //operator ==(Complex other) => re == other.re && im == other.im; | |
58 | |
59 int get hashCode => 13 * re.hashCode + 17 * im.hashCode; | |
60 } | |
OLD | NEW |