anchor.diff:  import 'package:analyzer_plugin/utilities/change_builder/change_builder_dart.dart';
   import 'package:analyzer_plugin/utilities/range_factory.dart';
   import 'package:meta/meta.dart';
  -
  -/// Return a suggestion based on the given [element], or `null` if a suggestion
  -/// is not appropriate for the given element.
  -CompletionSuggestion createSuggestion(
  -    DartCompletionRequest request, Element element,
  -    {String completion,
  -    protocol.ElementKind elementKind,
  -    CompletionSuggestionKind kind,
  -    String prefix,
  -    int relevance = DART_RELEVANCE_DEFAULT}) {
  -  if (element == null) {
  -    return null;
  -  }
  -  if (element is ExecutableElement && element.isOperator) {
  -    // Do not include operators in suggestions
  -    return null;
  -  }
  -  completion ??= element.displayName;
  -  if (completion == null || completion.isEmpty) {
  -    return null;
  -  }
  -  if (prefix != null && prefix.isNotEmpty) {
  -    completion = '$prefix.$completion';
  -  }
  -  kind ??= CompletionSuggestionKind.INVOCATION;
  -  var suggestion = CompletionSuggestion(kind, relevance, completion,
  -      completion.length, 0, element.hasOrInheritsDeprecated, false);
  -
  -  // Attach docs.
  -  var doc = DartUnitHoverComputer.computeDocumentation(
  -      request.dartdocDirectiveInfo, element);
  -  if (doc != null) {
  -    suggestion.docComplete = doc;
  -    suggestion.docSummary = getDartDocSummary(doc);
  -  }
  -
  -  suggestion.element = protocol.convertElement(element);
  -  if (elementKind != null) {
  -    suggestion.element.kind = elementKind;
  -  }
  -  var enclosingElement = element.enclosingElement;
  -  if (enclosingElement is ClassElement) {
  -    suggestion.declaringType = enclosingElement.displayName;
  -  }
  -  suggestion.returnType = getReturnTypeString(element);
  -  if (element is ExecutableElement && element is! PropertyAccessorElement) {
  -    suggestion.parameterNames = element.parameters
  -        .map((ParameterElement parameter) => parameter.name)
  -        .toList();
  -    suggestion.parameterTypes =
  -        element.parameters.map((ParameterElement parameter) {
  -      var paramType = parameter.type;
  -      // Gracefully degrade if type not resolved yet
  -      return paramType != null
  -          ? paramType.getDisplayString(withNullability: false)
  -          : 'var';
  -    }).toList();
  -
  -    var requiredParameters = element.parameters
  -        .where((ParameterElement param) => param.isRequiredPositional);
  -    suggestion.requiredParameterCount = requiredParameters.length;
  -
  -    var namedParameters =
  -        element.parameters.where((ParameterElement param) => param.isNamed);
  -    suggestion.hasNamedParameters = namedParameters.isNotEmpty;
  -
  -    addDefaultArgDetails(
  -        suggestion, element, requiredParameters, namedParameters);
  -  }
  -  return suggestion;
  -}
   
   /// This class provides suggestions based upon the visible instance members in
   /// an interface type.
  
positive.code:         ? Relevance.fieldFormalParameter
          : DART_RELEVANCE_LOCAL_FIELD;
  
      _add(createSuggestion(request, field, relevance: relevance));
    }
  
    /// Add a suggestion for the `call` method defined on functions.
  
negative.code:           return;
          }
        }
        _add(_createSuggestion(accessor, prefix: prefix, relevance: relevance));
      }
    }
  
  