anchor.diff:    }
   
     @override
  -  void dispose() {}
  -
  -  @override
  -  Future<Null> performWork() => Future.value(null);
  +  dynamic noSuchMethod(Invocation invocation) {
  +    return super.noSuchMethod(invocation);
  +  }
   }
   
   class MockChannel implements PluginCommunicationChannel {
  
positive.code: // BSD-style license that can be found in the LICENSE file.
  
  import 'dart:async';
  import 'dart:collection';
  
  import 'package:analyzer/dart/analysis/results.dart';
  import 'package:analyzer/error/error.dart';
  import 'package:analyzer/file_system/file_system.dart';
  import 'package:analyzer/src/context/packages.dart';
  import 'package:analyzer/src/dart/analysis/driver.dart';
  import 'package:analyzer/src/dart/analysis/file_state.dart';
  import 'package:analyzer/src/generated/engine.dart'
      show AnalysisOptionsImpl, TimestampedData;
  import 'package:analyzer/src/generated/source.dart';
  import 'package:analyzer/src/generated/timestamped_data.dart';
  import 'package:analyzer_plugin/channel/channel.dart';
  
negative.code: import 'package:analyzer_plugin/src/protocol/protocol_internal.dart';
  import 'package:test/test.dart';
  
  class MockAnalysisDriver implements AnalysisDriver {
    @override
    final Set<String> addedFiles = {};
  
    @override
    set priorityFiles(List<String> priorityPaths) {}
  
    @override
    void addFile(String path) {
  