anchor.diff:        int years, int month, int day, int hours, int minutes, int seconds,
         bool isUtc) native "DateNatives_brokenDownToSecondsSinceEpoch";
   
  -  static int getCurrentMs_() native "DateNatives_currentTimeMillis";
  +  static int _getCurrentMs() native "DateNatives_currentTimeMillis";
   
     // TODO(floitsch): it would be more efficient if we didn't call the native
     // function for every member, but cached the broken-down date.
  -  static int getYear_(int secondsSinceEpoch, bool isUtc)
  +  static int _getYear(int secondsSinceEpoch, bool isUtc)
         native "DateNatives_getYear";
   
  -  static int getMonth_(int secondsSinceEpoch, bool isUtc)
  +  static int _getMonth(int secondsSinceEpoch, bool isUtc)
         native "DateNatives_getMonth";
   
  -  static int getDay_(int secondsSinceEpoch, bool isUtc)
  +  static int _getDay(int secondsSinceEpoch, bool isUtc)
         native "DateNatives_getDay";
   
  -  static int getHours_(int secondsSinceEpoch, bool isUtc)
  +  static int _getHours(int secondsSinceEpoch, bool isUtc)
         native "DateNatives_getHours";
   
  -  static int getMinutes_(int secondsSinceEpoch, bool isUtc)
  +  static int _getMinutes(int secondsSinceEpoch, bool isUtc)
         native "DateNatives_getMinutes";
   
  -  static int getSeconds_(int secondsSinceEpoch, bool isUtc)
  +  static int _getSeconds(int secondsSinceEpoch, bool isUtc)
         native "DateNatives_getSeconds";
   }
  
positive.code:   // - week day of first day.
    // Leap seconds are ignored.
    // Adapted from V8's date implementation. See ECMA 262 - 15.9.1.9.
    static equivalentYear_(int year) {
      // Returns 1 if in leap year. 0 otherwise.
      bool inLeapYear(year) {
        return (year.remainder(4) == 0) &&
  
negative.code:   }
  
    // Given [secondsSinceEpoch] returns seconds such that they are at the same
    // time in an equivalent year (see [_equivalentYear]).
    // Leap seconds are ignored.
    static int _equivalentSeconds(int secondsSinceEpoch) {
      if (secondsSinceEpoch >= 0 && secondsSinceEpoch < _SECONDS_YEAR_2035) {
        return secondsSinceEpoch;
      }
      int year = _yearsFromSecondsSinceEpoch(secondsSinceEpoch);
      int days = _dayFromYear(year);
      int equivalentYear = _equivalentYear(year);
      int equivalentDays = _dayFromYear(equivalentYear);
      int diffDays = equivalentDays - days;
      return secondsSinceEpoch + diffDays * Duration.SECONDS_PER_DAY;
    }
  
    // Returns the days since 1970 for the start of the given [year].
    // [year] may be before epoch.
    static int _dayFromYear(int year) {
      int flooredDivision(int a, int b) {
        return (a - (a < 0 ? b - 1 : 0)) ~/ b;
      }
  