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

Side by Side Diff: test/dart_codegen/expect/core/duration.dart

Issue 1148283010: Remove dart backend (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 6 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
« no previous file with comments | « test/dart_codegen/expect/core/double.dart ('k') | test/dart_codegen/expect/core/errors.dart » ('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 part of dart.core;
2 class Duration implements Comparable<Duration> {static const int MICROSECONDS_P ER_MILLISECOND = 1000;
3 static const int MILLISECONDS_PER_SECOND = 1000;
4 static const int SECONDS_PER_MINUTE = 60;
5 static const int MINUTES_PER_HOUR = 60;
6 static const int HOURS_PER_DAY = 24;
7 static const int MICROSECONDS_PER_SECOND = MICROSECONDS_PER_MILLISECOND * MILLI SECONDS_PER_SECOND;
8 static const int MICROSECONDS_PER_MINUTE = MICROSECONDS_PER_SECOND * SECONDS_PE R_MINUTE;
9 static const int MICROSECONDS_PER_HOUR = MICROSECONDS_PER_MINUTE * MINUTES_PER_ HOUR;
10 static const int MICROSECONDS_PER_DAY = MICROSECONDS_PER_HOUR * HOURS_PER_DAY;
11 static const int MILLISECONDS_PER_MINUTE = MILLISECONDS_PER_SECOND * SECONDS_PE R_MINUTE;
12 static const int MILLISECONDS_PER_HOUR = MILLISECONDS_PER_MINUTE * MINUTES_PER_ HOUR;
13 static const int MILLISECONDS_PER_DAY = MILLISECONDS_PER_HOUR * HOURS_PER_DAY;
14 static const int SECONDS_PER_HOUR = SECONDS_PER_MINUTE * MINUTES_PER_HOUR;
15 static const int SECONDS_PER_DAY = SECONDS_PER_HOUR * HOURS_PER_DAY;
16 static const int MINUTES_PER_DAY = MINUTES_PER_HOUR * HOURS_PER_DAY;
17 static const Duration ZERO = const Duration(seconds: 0);
18 final int _duration;
19 const Duration({
20 int days : 0, int hours : 0, int minutes : 0, int seconds : 0, int millisecond s : 0, int microseconds : 0}
21 ) : this._microseconds(days * MICROSECONDS_PER_DAY + hours * MICROSECONDS_PER_HO UR + minutes * MICROSECONDS_PER_MINUTE + seconds * MICROSECONDS_PER_SECOND + mil liseconds * MICROSECONDS_PER_MILLISECOND + microseconds);
22 const Duration._microseconds(this._duration);
23 Duration operator +(Duration other) {
24 return new Duration._microseconds(_duration + other._duration);
25 }
26 Duration operator -(Duration other) {
27 return new Duration._microseconds(_duration - other._duration);
28 }
29 Duration operator *(num factor) {
30 return new Duration._microseconds((_duration * factor).round());
31 }
32 Duration operator ~/(int quotient) {
33 if (quotient == 0) throw new IntegerDivisionByZeroException();
34 return new Duration._microseconds(_duration ~/ quotient);
35 }
36 bool operator <(Duration other) => this._duration < other._duration;
37 bool operator >(Duration other) => this._duration > other._duration;
38 bool operator <=(Duration other) => this._duration <= other._duration;
39 bool operator >=(Duration other) => this._duration >= other._duration;
40 int get inDays => _duration ~/ Duration.MICROSECONDS_PER_DAY;
41 int get inHours => _duration ~/ Duration.MICROSECONDS_PER_HOUR;
42 int get inMinutes => _duration ~/ Duration.MICROSECONDS_PER_MINUTE;
43 int get inSeconds => _duration ~/ Duration.MICROSECONDS_PER_SECOND;
44 int get inMilliseconds => _duration ~/ Duration.MICROSECONDS_PER_MILLISECOND;
45 int get inMicroseconds => _duration;
46 bool operator ==(other) {
47 if (other is! Duration) return false;
48 return _duration == other._duration;
49 }
50 int get hashCode => _duration.hashCode;
51 int compareTo(Duration other) => _duration.compareTo(other._duration);
52 String toString() {
53 String sixDigits(int n) {
54 if (n >= 100000) return "$n";
55 if (n >= 10000) return "0$n";
56 if (n >= 1000) return "00$n";
57 if (n >= 100) return "000$n";
58 if (n >= 10) return "0000$n";
59 return "00000$n";
60 }
61 String twoDigits(int n) {
62 if (n >= 10) return "$n";
63 return "0$n";
64 }
65 if (inMicroseconds < 0) {
66 return "-${-this}";
67 }
68 String twoDigitMinutes = twoDigits(((__x0) => DEVC$RT.cast(__x0, num, int, "I mplicitCast", """line 258, column 40 of dart:core/duration.dart: """, __x0 is in t, true))(inMinutes.remainder(MINUTES_PER_HOUR)));
69 String twoDigitSeconds = twoDigits(((__x1) => DEVC$RT.cast(__x1, num, int, "I mplicitCast", """line 259, column 40 of dart:core/duration.dart: """, __x1 is in t, true))(inSeconds.remainder(SECONDS_PER_MINUTE)));
70 String sixDigitUs = sixDigits(((__x2) => DEVC$RT.cast(__x2, num, int, "Implic itCast", """line 261, column 19 of dart:core/duration.dart: """, __x2 is int, tr ue))(inMicroseconds.remainder(MICROSECONDS_PER_SECOND)));
71 return "$inHours:$twoDigitMinutes:$twoDigitSeconds.$sixDigitUs";
72 }
73 bool get isNegative => _duration < 0;
74 Duration abs() => new Duration._microseconds(_duration.abs());
75 Duration operator -() => new Duration._microseconds(-_duration);
76 }
OLDNEW
« no previous file with comments | « test/dart_codegen/expect/core/double.dart ('k') | test/dart_codegen/expect/core/errors.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698