DartFoldingMixin mixin

A mixin that can be used when creating a subclass of ServerPlugin and mixing in FoldingMixin. This implements the creation of the folding request based on the assumption that the driver being created is an AnalysisDriver.

Clients may not implement this mixin, but are allowed to use it as a mix-in when creating a subclass of ServerPlugin that also uses FoldingMixin as a mix-in.

Implemented types

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 all AnalysisContextCollection 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
getFoldingContributors(String path) List<FoldingContributor>
Return a list containing the folding contributors that should be used to create folding regions for the file with the given path.
inherited
getFoldingRequest(String path) Future<FoldingRequest>
Return the folding request that should be passes to the contributors returned from getFoldingContributors.
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
handleAnalysisGetNavigation(AnalysisGetNavigationParams parameters) Future<AnalysisGetNavigationResult>
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
handleKytheGetKytheEntries(KytheGetKytheEntriesParams parameters) Future<KytheGetKytheEntriesResult?>
Handle a 'kythe.getKytheEntries' 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
sendNavigationNotification(String path) Future<void>
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<AnalysisService>> subscriptions) → void
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