anchor.diff:  import 'package:analyzer/src/generated/sdk.dart';
   import 'engine.dart';
   import 'resolver.dart';
  +import 'util.dart';
   
   export 'resolver.dart' show LibraryElement;
   
  
positive.code: /**
   * Instances of a class`MethodElement` is a our abstract representation of methods
   **/
  class MethodElement extends ClassMember with Block implements Element {
    MethodDeclaration ast;
    
    String get name => isSetter ? setterName : getterName;
    String get getterName => ast.name.toString();
    String get setterName => FunctionElement.SetterName(getterName);
    bool get isAbstract => ast.isAbstract;
    bool get isGetter => ast.isGetter;
    bool get isOperator => ast.isOperator;
  
negative.code:   
    // Mapping from a library identifier to the main `SourceElement`. If the library uses part/part of. 
    // the part header source is the SourceElement.  
    Map<Name, SourceElement> librarySources = <Name, SourceElement>{};
    
    bool containsSource(Source source) => sources.containsKey(source);
    SourceElement addSource(Source source, SourceElement element) => sources[source] = element;
    SourceElement getSource(Source source) => sources[source];
    
    bool containsLibrarySource(Name lib) => librarySources.containsKey(lib);
    SourceElement addLibrarySource(Name lib, SourceElement element) => librarySources[lib] = element;
    SourceElement getLibrarySource(Name lib) => librarySources[lib];
    
    ElementAnalysis operator -(ElementAnalysis a) => this;
    ElementAnalysis operator -() => this;
  