anchor.diff:  
     @override
     void visitLabeledStatement(LabeledStatement node) {
  -    _recordElementKind('LabeledStatement', node.statement);
  -    _recordTokenType('LabeledStatement', node.statement);
  +    _recordElementKindAndTokenType(
  +        'LabeledStatement (statement)', node.statement);
       super.visitLabeledStatement(node);
     }
   
  
positive.code: 
    @override
    void visitAnnotation(Annotation node) {
      // After the `@`.
      _recordElementKind('Annotation', node.name);
      super.visitAnnotation(node);
    }
  
    @override
    void visitArgumentList(ArgumentList node) {
      for (var argument in node.arguments) {
        // At the start of each argument.
        if (argument is NamedExpression) {
          _recordElementKind('ArgumentList (named)', argument.expression);
          // The invocation.
          _recordTypeMatch(argument.expression);
        } else {
          _recordElementKind('ArgumentList (unnamed)', argument);
          // The invocation.
          _recordTypeMatch(argument);
        }
      }
  
negative.code:   void visitImplementsClause(ImplementsClause node) {
      // At the start of each type name.
      for (var typeName in node.interfaces) {
        _recordElementKind('ImplementsClause (type)', typeName);
      }
      super.visitImplementsClause(node);
    }
  
    @override
    void visitImportDirective(ImportDirective node) {
      if (node.deferredKeyword != null) {
        data.recordTokenType('ImportDirective (uri)', node.deferredKeyword.type);
      } else if (node.asKeyword != null) {
        data.recordTokenType('ImportDirective (uri)', node.asKeyword.type);
      } else if (node.configurations.isNotEmpty) {
        _recordTokenType('ImportDirective (uri)', node.configurations[0]);
      } else if (node.combinators.isNotEmpty) {
        _recordTokenType('ImportDirective (uri)', node.combinators[0]);
      }
      for (var combinator in node.combinators) {
        _recordTokenType('ImportDirective (combinator)', combinator);
      }
      super.visitImportDirective(node);
    }
  
    @override
    void visitIndexExpression(IndexExpression node) {
      _recordElementKindAndTokenType('IndexExpression (index)', node.index);
      _recordTypeMatch(node.index);
      super.visitIndexExpression(node);
    }
  
    @override
    void visitInstanceCreationExpression(InstanceCreationExpression node) {
      // There are no completions.
      super.visitInstanceCreationExpression(node);
    }
  
  