anchor.diff:    * the absolute values are not of much interest; it is the
     * relative values (intervals) that are of interest.
     */
  -  Map _marks;
  +  final Map _marks = {};
   
    /**
     * [_measures] holds a set of intervals of interest. It maps
     * names to elapsed time (in milliseconds).
     */
  -  Map _measures;
  +  final Map _measures = {};
   
    /**
     * [_starts] holds the start times of the intervals. This is
     * useful to tell when the intervals occurred with respect to
     * each other. It maps interval names to start times.
     */
  -  Map _starts;
  +  final Map _starts = {};
   
    /**
     * [_postMessages] is a flag to control whether to use
  
positive.code:         _includePerfMarks = includePerfMarks,
          _autorun = autorun,
          _debug = debug {
      _targetOrigin =
          '${window.location.protocol}//'
          '${window.location.hostname}:${window.location.port}';
      // If we're running locally we can get a file://-style target
      // origin which can blow up window.postMessage, so fix that.
      if (_targetOrigin.startsWith('file://')) {
        _targetOrigin = '*';
      }
      _marks = {};
      _measures = {};
      // We need to save the starts so that given a measure we can
      // say the epoch times that it began and ended.
      _starts = {};
      // Get the start time. This can come from
      // a cookie, or from window.performance.timing.
      var startTime = findStartTime();
  
negative.code:   const _NullSanitizer();
    void sanitizeTree(Node node) {}
  }
  
  