anchor.diff:      }
     }
   
  +  /// Return the navigation target in the file with the given [filePath] at the
  +  /// given [offset] ans with the given [length].
  +  NavigationTarget _targetForNode(
  +      String filePath, SyntacticEntity node, CompilationUnit unit) {
  +    UnitInfo unitInfo = _unitForPath(filePath);
  +    int offset = node.offset;
  +    int length = node.length;
  +
  +    int line = unit.lineInfo.getLocation(node.offset).lineNumber;
  +    NavigationTarget target = NavigationTarget(filePath, offset, line, length);
  +    unitInfo.targets.add(target);
  +    return target;
  +  }
  +
  +  /// Return the navigation target in the file with the given [filePath] at the
  +  /// given [offset] ans with the given [length].
  +  NavigationTarget _targetForRawTarget(
  +      String filePath, protocol.NavigationTarget rawTarget) {
  +    UnitInfo unitInfo = _unitForPath(filePath);
  +    int offset = rawTarget.offset;
  +    int length = rawTarget.length;
  +    NavigationTarget target =
  +        NavigationTarget(filePath, offset, null /* line */, length);
  +    unitInfo.targets.add(target);
  +    return target;
  +  }
  +
     /// Return the unit info for the file at the given [path].
     UnitInfo _unitForPath(String path) {
       return unitMap.putIfAbsent(path, () => UnitInfo(path));
  
positive.code:   /// made to point to a narrower target, for example the name of a
    /// method declaration, rather the the entire declaration.
    NavigationTarget _proximateTargetForNode(String filePath, AstNode node) {
      AstNode parent = node.parent;
      CompilationUnit unit = node.thisOrAncestorOfType<CompilationUnit>();
      if (node is ConstructorDeclaration) {
  
negative.code:     return resourceProvider.pathContext.split(filePath).contains('test');
    }
  
    /// Return the navigation target corresponding to the given [node] in the file
    /// with the given [filePath].
    ///
  