anchor.diff:      }
     }
   
  -  /// Returns whether [node] is in a declaration context.
  -  ///
  -  /// This accounts for field formal parameters as well, whose identifiers do
  -  /// not consider themselves, for other purposes, to be in a declaration
  -  /// context.
  -  bool _inDeclarationContext(SimpleIdentifier node) {
  -    if (node.inDeclarationContext()) {
  -      return true;
  -    }
  -    var parent = node.parent;
  -    if (parent is FieldFormalParameter && parent.identifier == node) {
  -      return true;
  -    }
  -    return false;
  -  }
  -
     void _invocationArguments(Element element, ArgumentList arguments) {
       element = element?.declaration;
       if (element is ExecutableElement) {
  
positive.code: 
    void simpleIdentifier(SimpleIdentifier node) {
      // Don't report declared identifiers.
      if (_inDeclarationContext(node)) {
        return;
      }
  
  
negative.code:   static bool _isLocalParameter(Element element, AstNode node) {
      if (element is ParameterElement) {
        ExecutableElement definingFunction = element.enclosingElement;
  
        for (; node != null; node = node.parent) {
          if (node is ConstructorDeclaration) {
            if (node.declaredElement == definingFunction) {
              return true;
            }
          } else if (node is FunctionExpression) {
            if (node.declaredElement == definingFunction) {
              return true;
            }
          } else if (node is MethodDeclaration) {
            if (node.declaredElement == definingFunction) {
              return true;
            }
          }
        }
      }
      return false;
  