anchor.diff:    }
     
     visitImportDirective(ImportDirective node) {
  -    engine.getSource(source, node);
  +    Source source = engine.getSource(this.source, node);
  +    ElementGenerator generator = new ElementGenerator(engine, source, analysis);
  +    element.addImport(source);
  +    super.visitImportDirective(node);
     }
   }
positive.code:     if (!analysis.containsSource(source)) {
        CompilationUnit unit = engine.getCompilationUnit(source); 
        element = new SourceElement(source, unit);
        this.visitCompilationUnit(unit);
      } else {
        element = analysis.getSource(source);
  
negative.code:   List<FunctionElement> functions = <FunctionElement>[];
    List<VariableElement> top_variables = <VariableElement>[];
    
    SourceElement(Source this.source, CompilationUnit this.ast);
    
  }
  
  