anchor.diff:    }
   }
   
  -/**
  - * The entry point for the functionality provided by the analysis engine. There
  - * is a single instance of this class.
  - */
  +/// The entry point for the functionality provided by the analysis engine. There
  +/// is a single instance of this class.
   class AnalysisEngine {
  -  /**
  -   * The suffix used for Dart source files.
  -   */
  +  /// The suffix used for Dart source files.
     static const String SUFFIX_DART = "dart";
   
  -  /**
  -   * The short suffix used for HTML files.
  -   */
  +  /// The short suffix used for HTML files.
     static const String SUFFIX_HTM = "htm";
   
  -  /**
  -   * The long suffix used for HTML files.
  -   */
  +  /// The long suffix used for HTML files.
     static const String SUFFIX_HTML = "html";
   
  -  /**
  -   * The deprecated file name used for analysis options files.
  -   */
  +  /// The deprecated file name used for analysis options files.
     static const String ANALYSIS_OPTIONS_FILE = '.analysis_options';
   
  -  /**
  -   * The file name used for analysis options files.
  -   */
  +  /// The file name used for analysis options files.
     static const String ANALYSIS_OPTIONS_YAML_FILE = 'analysis_options.yaml';
   
  -  /**
  -   * The file name used for pubspec files.
  -   */
  +  /// The file name used for pubspec files.
     static const String PUBSPEC_YAML_FILE = 'pubspec.yaml';
   
  -  /**
  -   * The file name used for Android manifest files.
  -   */
  +  /// The file name used for Android manifest files.
     static const String ANDROID_MANIFEST_FILE = 'AndroidManifest.xml';
   
  -  /**
  -   * The unique instance of this class.
  -   */
  +  /// The unique instance of this class.
     static final AnalysisEngine instance = new AnalysisEngine._();
   
  -  /**
  -   * The logger that should receive information about errors within the analysis
  -   * engine.
  -   */
  +  /// The logger that should receive information about errors within the analysis
  +  /// engine.
     Logger _logger = Logger.NULL;
   
  -  /**
  -   * The instrumentation service that is to be used by this analysis engine.
  -   */
  +  /// The instrumentation service that is to be used by this analysis engine.
     InstrumentationService _instrumentationService =
         InstrumentationService.NULL_SERVICE;
   
  -  /**
  -   * The partition manager being used to manage the shared partitions.
  -   */
  +  /// The partition manager being used to manage the shared partitions.
     final PartitionManager partitionManager = new PartitionManager();
   
  -  /**
  -   * The task manager used to manage the tasks used to analyze code.
  -   */
  +  /// The task manager used to manage the tasks used to analyze code.
     TaskManager _taskManager;
   
     AnalysisEngine._();
   
  -  /**
  -   * Return the instrumentation service that is to be used by this analysis
  -   * engine.
  -   */
  +  /// Return the instrumentation service that is to be used by this analysis
  +  /// engine.
     InstrumentationService get instrumentationService => _instrumentationService;
   
  -  /**
  -   * Set the instrumentation service that is to be used by this analysis engine
  -   * to the given [service].
  -   */
  +  /// Set the instrumentation service that is to be used by this analysis engine
  +  /// to the given [service].
     void set instrumentationService(InstrumentationService service) {
       if (service == null) {
         _instrumentationService = InstrumentationService.NULL_SERVICE;
  
positive.code:   }
  }
  
  /**
   * The analysis errors and line information for the errors.
   */
  abstract class AnalysisErrorInfo {
    /**
     * Return the errors that as a result of the analysis, or `null` if there were
     * no errors.
     */
    List<AnalysisError> get errors;
  
    /**
     * Return the line information associated with the errors, or `null` if there
     * were no errors.
     */
    LineInfo get lineInfo;
  }
  
  /**
   * The analysis errors and line info associated with a source.
   */
  class AnalysisErrorInfoImpl implements AnalysisErrorInfo {
    /**
     * The analysis errors associated with a source, or `null` if there are no
     * errors.
     */
    @override
    final List<AnalysisError> errors;
  
    /**
     * The line information associated with the errors, or `null` if there are no
     * errors.
     */
    final LineInfo lineInfo;
  
    /**
     * Initialize an newly created error info with the given [errors] and
     * [lineInfo].
     */
    AnalysisErrorInfoImpl(this.errors, this.lineInfo);
  }
  
  /**
   * The levels at which a source can be analyzed.
   */
  class AnalysisLevel implements Comparable<AnalysisLevel> {
    /**
     * Indicates a source should be fully analyzed.
     */
    static const AnalysisLevel ALL = const AnalysisLevel('ALL', 0);
  
    /**
     * Indicates a source should be resolved and that errors, warnings and hints
     * are needed.
     */
    static const AnalysisLevel ERRORS = const AnalysisLevel('ERRORS', 1);
  
    /**
     * Indicates a source should be resolved, but that errors, warnings and hints
     * are not needed.
     */
    static const AnalysisLevel RESOLVED = const AnalysisLevel('RESOLVED', 2);
  
    /**
     * Indicates a source is not of interest to the client.
     */
    static const AnalysisLevel NONE = const AnalysisLevel('NONE', 3);
  
    static const List<AnalysisLevel> values = const [ALL, ERRORS, RESOLVED, NONE];
  
    /**
     * The name of this analysis level.
     */
    final String name;
  
    /**
     * The ordinal value of the analysis level.
     */
    final int ordinal;
  
    const AnalysisLevel(this.name, this.ordinal);
  
negative.code:   }
  }
  
  /// A set of analysis options used to control the behavior of an analysis
  /// context.
  class AnalysisOptionsImpl implements AnalysisOptions {
    /// DEPRECATED: The maximum number of sources for which data should be kept in
    /// the cache.
    ///
    /// This constant no longer has any effect.
    @deprecated
    static const int DEFAULT_CACHE_SIZE = 64;
  
    /// The length of the list returned by [unlinkedSignature].
    static const int unlinkedSignatureLength = 4;
  
    /// A predicate indicating whether analysis is to parse and analyze function
    /// bodies.
    AnalyzeFunctionBodiesPredicate _analyzeFunctionBodiesPredicate =
        _analyzeAllFunctionBodies;
  
    /// The cached [unlinkedSignature].
    Uint32List _unlinkedSignature;
  
    /// The cached [signature].
    Uint32List _signature;
  
    @override
  