blob: f5c7f56103936cf47d2943e4fe5f9d9223854970 [file] [log] [blame]
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart' hide Element;
import 'package:analyzer_plugin/utilities/completion/relevance.dart';
import 'package:analyzer/src/generated/source.dart' show Source;
/**
* An object used to build code completion suggestions for Dart code.
*/
abstract class SuggestionBuilder {
/**
* Return a suggestion based on the given [element], or `null` if a suggestion
* is not appropriate for the given element. If the suggestion is not
* currently in scope, then specify [importForSource] as the source to which
* an import should be added.
*/
CompletionSuggestion forElement(Element element,
{String completion,
CompletionSuggestionKind kind: CompletionSuggestionKind.INVOCATION,
int relevance: DART_RELEVANCE_DEFAULT,
Source importForSource});
}