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

Unified Diff: pkg/dev_compiler/tool/input_sdk/lib/core/duration.dart

Issue 2698353003: unfork DDC's copy of most SDK libraries (Closed)
Patch Set: revert core_patch Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: pkg/dev_compiler/tool/input_sdk/lib/core/duration.dart
diff --git a/pkg/dev_compiler/tool/input_sdk/lib/core/duration.dart b/pkg/dev_compiler/tool/input_sdk/lib/core/duration.dart
deleted file mode 100644
index c5b73a2c86c0eaf05bfc5816dd9358802ab3a0a6..0000000000000000000000000000000000000000
--- a/pkg/dev_compiler/tool/input_sdk/lib/core/duration.dart
+++ /dev/null
@@ -1,289 +0,0 @@
-// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-part of dart.core;
-
-/**
- * A span of time, such as 27 days, 4 hours, 12 minutes, and 3 seconds.
- *
- * A `Duration` represents a difference from one point in time to another. The
- * duration may be "negative" if the difference is from a later time to an
- * earlier.
- *
- * To create a new Duration object, use this class's single constructor
- * giving the appropriate arguments:
- *
- * Duration fastestMarathon = new Duration(hours:2, minutes:3, seconds:2);
- *
- * The Duration is the sum of all individual parts.
- * This means that individual parts can be larger than the next-bigger unit.
- * For example, [minutes] can be greater than 59.
- *
- * assert(fastestMarathon.inMinutes == 123);
- *
- * All individual parts are allowed to be negative.
- *
- * Use one of the properties, such as [inDays],
- * to retrieve the integer value of the Duration in the specified time unit.
- * Note that the returned value is rounded down.
- * For example,
- *
- * Duration aLongWeekend = new Duration(hours:88);
- * assert(aLongWeekend.inDays == 3);
- *
- * This class provides a collection of arithmetic
- * and comparison operators,
- * plus a set of constants useful for converting time units.
- *
- * See [DateTime] to represent a point in time.
- * See [Stopwatch] to measure time-spans.
- *
- */
-class Duration implements Comparable<Duration> {
- static const int MICROSECONDS_PER_MILLISECOND = 1000;
- static const int MILLISECONDS_PER_SECOND = 1000;
- static const int SECONDS_PER_MINUTE = 60;
- static const int MINUTES_PER_HOUR = 60;
- static const int HOURS_PER_DAY = 24;
-
- static const int MICROSECONDS_PER_SECOND =
- MICROSECONDS_PER_MILLISECOND * MILLISECONDS_PER_SECOND;
- static const int MICROSECONDS_PER_MINUTE =
- MICROSECONDS_PER_SECOND * SECONDS_PER_MINUTE;
- static const int MICROSECONDS_PER_HOUR =
- MICROSECONDS_PER_MINUTE * MINUTES_PER_HOUR;
- static const int MICROSECONDS_PER_DAY =
- MICROSECONDS_PER_HOUR * HOURS_PER_DAY;
-
-
- static const int MILLISECONDS_PER_MINUTE =
- MILLISECONDS_PER_SECOND * SECONDS_PER_MINUTE;
- static const int MILLISECONDS_PER_HOUR =
- MILLISECONDS_PER_MINUTE * MINUTES_PER_HOUR;
- static const int MILLISECONDS_PER_DAY =
- MILLISECONDS_PER_HOUR * HOURS_PER_DAY;
-
- static const int SECONDS_PER_HOUR = SECONDS_PER_MINUTE * MINUTES_PER_HOUR;
- static const int SECONDS_PER_DAY = SECONDS_PER_HOUR * HOURS_PER_DAY;
-
- static const int MINUTES_PER_DAY = MINUTES_PER_HOUR * HOURS_PER_DAY;
-
- static const Duration ZERO = const Duration(seconds: 0);
-
- /*
- * The value of this Duration object in microseconds.
- */
- final int _duration;
-
- /**
- * Creates a new Duration object whose value
- * is the sum of all individual parts.
- *
- * Individual parts can be larger than the next-bigger unit.
- * For example, [hours] can be greater than 23.
- *
- * All individual parts are allowed to be negative.
- * All arguments are 0 by default.
- */
- const Duration({int days: 0,
- int hours: 0,
- int minutes: 0,
- int seconds: 0,
- int milliseconds: 0,
- int microseconds: 0})
- : this._microseconds(
- MICROSECONDS_PER_DAY * days +
- MICROSECONDS_PER_HOUR * hours +
- MICROSECONDS_PER_MINUTE * minutes +
- MICROSECONDS_PER_SECOND * seconds +
- MICROSECONDS_PER_MILLISECOND * milliseconds +
- microseconds);
-
- // Fast path internal direct constructor to avoids the optional arguments and
- // [_microseconds] recomputation.
- const Duration._microseconds(this._duration);
-
- /**
- * Adds this Duration and [other] and
- * returns the sum as a new Duration object.
- */
- Duration operator +(Duration other) {
- return new Duration._microseconds(_duration + other._duration);
- }
-
- /**
- * Subtracts [other] from this Duration and
- * returns the difference as a new Duration object.
- */
- Duration operator -(Duration other) {
- return new Duration._microseconds(_duration - other._duration);
- }
-
- /**
- * Multiplies this Duration by the given [factor] and returns the result
- * as a new Duration object.
- *
- * Note that when [factor] is a double, and the duration is greater than
- * 53 bits, precision is lost because of double-precision arithmetic.
- */
- Duration operator *(num factor) {
- return new Duration._microseconds((_duration * factor).round());
- }
-
- /**
- * Divides this Duration by the given [quotient] and returns the truncated
- * result as a new Duration object.
- *
- * Throws an [IntegerDivisionByZeroException] if [quotient] is `0`.
- */
- Duration operator ~/(int quotient) {
- // By doing the check here instead of relying on "~/" below we get the
- // exception even with dart2js.
- if (quotient == 0) throw new IntegerDivisionByZeroException();
- return new Duration._microseconds(_duration ~/ quotient);
- }
-
- /**
- * Returns `true` if the value of this Duration
- * is less than the value of [other].
- */
- bool operator <(Duration other) => this._duration < other._duration;
-
- /**
- * Returns `true` if the value of this Duration
- * is greater than the value of [other].
- */
- bool operator >(Duration other) => this._duration > other._duration;
-
- /**
- * Returns `true` if the value of this Duration
- * is less than or equal to the value of [other].
- */
- bool operator <=(Duration other) => this._duration <= other._duration;
-
- /**
- * Returns `true` if the value of this Duration
- * is greater than or equal to the value of [other].
- */
- bool operator >=(Duration other) => this._duration >= other._duration;
-
- /**
- * Returns the number of whole days spanned by this Duration.
- */
- int get inDays => _duration ~/ Duration.MICROSECONDS_PER_DAY;
-
- /**
- * Returns the number of whole hours spanned by this Duration.
- *
- * The returned value can be greater than 23.
- */
- int get inHours => _duration ~/ Duration.MICROSECONDS_PER_HOUR;
-
- /**
- * Returns the number of whole minutes spanned by this Duration.
- *
- * The returned value can be greater than 59.
- */
- int get inMinutes => _duration ~/ Duration.MICROSECONDS_PER_MINUTE;
-
- /**
- * Returns the number of whole seconds spanned by this Duration.
- *
- * The returned value can be greater than 59.
- */
- int get inSeconds => _duration ~/ Duration.MICROSECONDS_PER_SECOND;
-
- /**
- * Returns number of whole milliseconds spanned by this Duration.
- *
- * The returned value can be greater than 999.
- */
- int get inMilliseconds => _duration ~/ Duration.MICROSECONDS_PER_MILLISECOND;
-
- /**
- * Returns number of whole microseconds spanned by this Duration.
- */
- int get inMicroseconds => _duration;
-
- /**
- * Returns `true` if this Duration is the same object as [other].
- */
- bool operator ==(other) {
- if (other is !Duration) return false;
- return _duration == other._duration;
- }
-
- int get hashCode => _duration.hashCode;
-
- /**
- * Compares this Duration to [other], returning zero if the values are equal.
- *
- * Returns a negative integer if this `Duration` is shorter than
- * [other], or a positive integer if it is longer.
- *
- * A negative `Duration` is always considered shorter than a positive one.
- *
- * It is always the case that `duration1.compareTo(duration2) < 0` iff
- * `(someDate + duration1).compareTo(someDate + duration2) < 0`.
- */
- int compareTo(Duration other) => _duration.compareTo(other._duration);
-
- /**
- * Returns a string representation of this `Duration`.
- *
- * Returns a string with hours, minutes, seconds, and microseconds, in the
- * following format: `HH:MM:SS.mmmmmm`. For example,
- *
- * var d = new Duration(days:1, hours:1, minutes:33, microseconds: 500);
- * d.toString(); // "25:33:00.000500"
- */
- String toString() {
- String sixDigits(int n) {
- if (n >= 100000) return "$n";
- if (n >= 10000) return "0$n";
- if (n >= 1000) return "00$n";
- if (n >= 100) return "000$n";
- if (n >= 10) return "0000$n";
- return "00000$n";
- }
- String twoDigits(int n) {
- if (n >= 10) return "$n";
- return "0$n";
- }
-
- if (inMicroseconds < 0) {
- return "-${-this}";
- }
- String twoDigitMinutes = twoDigits(inMinutes.remainder(MINUTES_PER_HOUR));
- String twoDigitSeconds = twoDigits(inSeconds.remainder(SECONDS_PER_MINUTE));
- String sixDigitUs =
- sixDigits(inMicroseconds.remainder(MICROSECONDS_PER_SECOND));
- return "$inHours:$twoDigitMinutes:$twoDigitSeconds.$sixDigitUs";
- }
-
- /**
- * Returns whether this `Duration` is negative.
- *
- * A negative `Duration` represents the difference from a later time to an
- * earlier time.
- */
- bool get isNegative => _duration < 0;
-
- /**
- * Returns a new `Duration` representing the absolute value of this
- * `Duration`.
- *
- * The returned `Duration` has the same length as this one, but is always
- * positive.
- */
- Duration abs() => new Duration._microseconds(_duration.abs());
-
- /**
- * Returns a new `Duration` representing this `Duration` negated.
- *
- * The returned `Duration` has the same length as this one, but will have the
- * opposite sign of this one.
- */
- Duration operator -() => new Duration._microseconds(-_duration);
-}
« no previous file with comments | « pkg/dev_compiler/tool/input_sdk/lib/core/double.dart ('k') | pkg/dev_compiler/tool/input_sdk/lib/core/errors.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698