DartAssistsMixin class abstract
A mixin that can be used when creating a subclass of ServerPlugin and
mixing in AssistsMixin. This implements the creation of the assists request
based on the assumption that the driver being created is an AnalysisDriver
.
Clients may not extend or implement this class, but are allowed to use it as a mix-in when creating a subclass of ServerPlugin that also uses AssistsMixin as a mix-in.
- Implemented types
Constructors
Properties
- channel → PluginCommunicationChannel
-
Return the communication channel being used to communicate with the
analysis server.
no setterinherited
- contactInfo → String?
-
Return the user visible information about how to contact the plugin authors
with any problems that are found, or
null
if there is no contact info.no setterinherited -
fileGlobsToAnalyze
→ List<
String> -
Return a list of glob patterns selecting the files that this plugin is
interested in analyzing.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- name → String
-
Return the user visible name of this plugin.
no setterinherited
-
priorityPaths
↔ Set<
String> -
Paths of priority files.
getter/setter pairinherited
- resourceProvider → OverlayResourceProvider
-
The resource provider used to access the file system.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- subscriptionManager → SubscriptionManager
-
The object used to manage analysis subscriptions.
finalinherited
- version → String
-
Return the version number of the plugin spec required by this plugin,
encoded as a string.
no setterinherited
Methods
-
afterNewContextCollection(
{required AnalysisContextCollection contextCollection}) → Future< void> -
This method is invoked when a new instance of
AnalysisContextCollection
is created, so the plugin can perform initial analysis of analyzed files.inherited -
analyzeFile(
{required AnalysisContext analysisContext, required String path}) → Future< void> -
Analyzes the given file.
inherited
-
analyzeFiles(
{required AnalysisContext analysisContext, required List< String> paths}) → Future<void> -
Analyzes the given files.
By default invokes analyzeFile for every file.
Implementations may override to optimize for batch analysis.
inherited
-
beforeContextCollectionDispose(
{required AnalysisContextCollection contextCollection}) → Future< void> -
This method is invoked immediately before the current
AnalysisContextCollection
is disposed.inherited -
contentChanged(
List< String> paths) → Future<void> -
Handle the fact that files with
paths
were changed.inherited -
createByteStore(
) → ByteStore -
This method is invoked once to create the
ByteStore
that is used for allAnalysisContextCollection
instances, and reused when new instances are created (and so can perform analysis faster).inherited -
flushAnalysisState(
{bool elementModels = true}) → Future< void> -
Plugin implementations can use this method to flush the state of
analysis, so reduce the used heap size, after performing a set of
operations, e.g. in afterNewContextCollection or handleAffectedFiles.
inherited
-
getAssistContributors(
String path) → List< AssistContributor> -
Return a list containing the assist contributors that should be used to
create assists for the file with the given
path
.inherited -
getAssistRequest(
EditGetAssistsParams parameters) → Future< AssistRequest> -
Return the assist request that should be passes to the contributors
returned from getAssistContributors.
override
-
getResolvedUnitResult(
String path) → Future< ResolvedUnitResult> -
Return the result of analyzing the file with the given
path
.inherited -
handleAffectedFiles(
{required AnalysisContext analysisContext, required List< String> paths}) → Future<void> -
Handles files that might have been affected by a content change of
one or more files. The implementation may check if these files should
be analyzed, do such analysis, and send diagnostics.
inherited
-
Handle an 'analysis.getNavigation' request.
inherited
-
handleAnalysisHandleWatchEvents(
AnalysisHandleWatchEventsParams parameters) → Future< AnalysisHandleWatchEventsResult> -
Handle an 'analysis.handleWatchEvents' request.
inherited
-
handleAnalysisSetContextRoots(
AnalysisSetContextRootsParams parameters) → Future< AnalysisSetContextRootsResult> -
Handle an 'analysis.setContextRoots' request.
inherited
-
handleAnalysisSetPriorityFiles(
AnalysisSetPriorityFilesParams parameters) → Future< AnalysisSetPriorityFilesResult> -
Handle an 'analysis.setPriorityFiles' request.
inherited
-
handleAnalysisSetSubscriptions(
AnalysisSetSubscriptionsParams parameters) → Future< AnalysisSetSubscriptionsResult> -
Handle an 'analysis.setSubscriptions' request. Most subclasses should not
override this method, but should instead use the subscriptionManager to
access the list of subscriptions for any given file.
inherited
-
handleAnalysisUpdateContent(
AnalysisUpdateContentParams parameters) → Future< AnalysisUpdateContentResult> -
Handle an 'analysis.updateContent' request. Most subclasses should not
override this method, but should instead use the
contentCache
to access the current content of overlaid files.inherited -
handleCompletionGetSuggestions(
CompletionGetSuggestionsParams parameters) → Future< CompletionGetSuggestionsResult> -
Handle a 'completion.getSuggestions' request.
inherited
-
handleEditGetAssists(
EditGetAssistsParams parameters) → Future< EditGetAssistsResult> -
Handle an 'edit.getAssists' request.
inherited
-
handleEditGetAvailableRefactorings(
EditGetAvailableRefactoringsParams parameters) → Future< EditGetAvailableRefactoringsResult> -
Handle an 'edit.getAvailableRefactorings' request. Subclasses that override
this method in order to participate in refactorings must also override the
method handleEditGetRefactoring.
inherited
-
handleEditGetFixes(
EditGetFixesParams parameters) → Future< EditGetFixesResult> -
Handle an 'edit.getFixes' request.
inherited
-
handleEditGetRefactoring(
EditGetRefactoringParams parameters) → Future< EditGetRefactoringResult?> -
Handle an 'edit.getRefactoring' request.
inherited
-
handlePluginShutdown(
PluginShutdownParams parameters) → Future< PluginShutdownResult> -
Handle a 'plugin.shutdown' request. Subclasses can override this method to
perform any required clean-up, but cannot prevent the plugin from shutting
down.
inherited
-
handlePluginVersionCheck(
PluginVersionCheckParams parameters) → Future< PluginVersionCheckResult> -
Handle a 'plugin.versionCheck' request.
inherited
-
isCompatibleWith(
Version serverVersion) → bool -
Return
true
if this plugin is compatible with an analysis server that is using the given version of the plugin API.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onDone(
) → void -
The method that is called when the analysis server closes the communication
channel. This method will not be invoked under normal conditions because
the server will send a shutdown request and the plugin will stop listening
to the channel before the server closes the channel.
inherited
-
onError(
Object exception, StackTrace stackTrace) → void -
The method that is called when an error has occurred in the analysis
server. This method will not be invoked under normal conditions.
inherited
-
sendFoldingNotification(
String path) → Future< void> -
If the plugin provides folding information, send a folding notification
for the file with the given
path
to the server.inherited -
sendHighlightsNotification(
String path) → Future< void> -
If the plugin provides highlighting information, send a highlights
notification for the file with the given
path
to the server.inherited -
If the plugin provides navigation information, send a navigation
notification for the file with the given
path
to the server.inherited -
sendNotificationsForFile(
String path) → void -
Send notifications for the services subscribed to for the file with the
given
path
.inherited -
sendNotificationsForSubscriptions(
Map< String, List< subscriptions) → voidAnalysisService> > -
Send notifications corresponding to the given description of
subscriptions
. The map is keyed by the path of each file for which notifications should be sent and has values representing the list of services associated with the notifications to send.inherited -
sendOccurrencesNotification(
String path) → Future< void> -
If the plugin provides occurrences information, send an occurrences
notification for the file with the given
path
to the server.inherited -
sendOutlineNotification(
String path) → Future< void> -
If the plugin provides outline information, send an outline notification
for the file with the given
path
to the server.inherited -
start(
PluginCommunicationChannel channel) → void -
Start this plugin by listening to the given communication
channel
.inherited -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited