anchor.diff:  import 'package:analyzer/dart/element/element.dart';
   import 'package:analyzer/dart/element/type.dart';
   import 'package:analyzer/dart/element/type_provider.dart';
  -import 'package:analyzer/error/error.dart';
   import 'package:analyzer/error/listener.dart';
   import 'package:analyzer/src/dart/ast/ast.dart'
       show PrefixedIdentifierImpl, SimpleIdentifierImpl;
  
positive.code:         _resolver, _typeProvider, _definingLibrary, _extensionResolver);
    }
  
    /**
     * Record that the given [node] is undefined, causing an error to be reported
     * if appropriate. The [declaringElement] is the element inside which no
     * declaration was found. If this element is a proxy, no error will be
     * reported. If null, then an error will always be reported. The [errorCode]
     * is the error code to report. The [arguments] are the arguments to the error
     * message.
     */
    void _recordUndefinedNode(Element declaringElement, ErrorCode errorCode,
        AstNode node, List<Object> arguments) {
      _errorReporter.reportErrorForNode(errorCode, node, arguments);
    }
  
    /**
     * Record that the given [token] is undefined, causing an error to be reported
     * if appropriate. The [declaringElement] is the element inside which no
     * declaration was found. If this element is a proxy, no error will be
     * reported. If null, then an error will always be reported. The [errorCode]
     * is the error code to report. The [arguments] are arguments to the error
     * message.
     */
    void _recordUndefinedToken(Element declaringElement, ErrorCode errorCode,
        Token token, List<Object> arguments) {
      _errorReporter.reportErrorForToken(errorCode, token, arguments);
    }
  
    void _resolveAnnotationConstructorInvocationArguments(
        Annotation annotation, ConstructorElement constructor) {
      ArgumentList argumentList = annotation.arguments;
  
negative.code:             node,
              [element.name]);
        } else if (node.name == "await" && _resolver.enclosingFunction != null) {
          _errorReporter.reportErrorForNode(
            StaticWarningCode.UNDEFINED_IDENTIFIER_AWAIT,
            node,
            [_resolver.enclosingFunction.displayName],
          );
        } else if (!_resolver.nameScope.shouldIgnoreUndefined(node)) {
          _errorReporter.reportErrorForNode(
            StaticWarningCode.UNDEFINED_IDENTIFIER,
            node,
            [node.name],
          );
        }
      }
      node.staticElement = element;
  