// Copyright (c) 2018, 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. // // This file has been automatically generated. Please do not edit it manually. // To regenerate the file, use the script // "pkg/analysis_server/tool/spec/generate_files". // @dart = 2.9 import 'package:analysis_server_client/protocol.dart'; /// [NotificationHandler] processes analysis server notifications /// and dispatches those notifications to different methods based upon /// the type of notification. Clients may override /// any of the "on" methods that are of interest. /// /// Clients may mix-in this class, but may not implement it. mixin NotificationHandler { void handleEvent(Notification notification) { var params = notification.params; var decoder = ResponseDecoder(null); switch (notification.event) { case ANALYSIS_NOTIFICATION_ANALYZED_FILES: onAnalysisAnalyzedFiles( AnalysisAnalyzedFilesParams.fromJson(decoder, 'params', params)); break; case ANALYSIS_NOTIFICATION_CLOSING_LABELS: onAnalysisClosingLabels( AnalysisClosingLabelsParams.fromJson(decoder, 'params', params)); break; case ANALYSIS_NOTIFICATION_ERRORS: onAnalysisErrors( AnalysisErrorsParams.fromJson(decoder, 'params', params)); break; case ANALYSIS_NOTIFICATION_FLUSH_RESULTS: onAnalysisFlushResults( AnalysisFlushResultsParams.fromJson(decoder, 'params', params)); break; case ANALYSIS_NOTIFICATION_FOLDING: onAnalysisFolding( AnalysisFoldingParams.fromJson(decoder, 'params', params)); break; case ANALYSIS_NOTIFICATION_HIGHLIGHTS: onAnalysisHighlights( AnalysisHighlightsParams.fromJson(decoder, 'params', params)); break; case ANALYSIS_NOTIFICATION_IMPLEMENTED: onAnalysisImplemented( AnalysisImplementedParams.fromJson(decoder, 'params', params)); break; case ANALYSIS_NOTIFICATION_INVALIDATE: onAnalysisInvalidate( AnalysisInvalidateParams.fromJson(decoder, 'params', params)); break; case ANALYSIS_NOTIFICATION_NAVIGATION: onAnalysisNavigation( AnalysisNavigationParams.fromJson(decoder, 'params', params)); break; case ANALYSIS_NOTIFICATION_OCCURRENCES: onAnalysisOccurrences( AnalysisOccurrencesParams.fromJson(decoder, 'params', params)); break; case ANALYSIS_NOTIFICATION_OUTLINE: onAnalysisOutline( AnalysisOutlineParams.fromJson(decoder, 'params', params)); break; case ANALYSIS_NOTIFICATION_OVERRIDES: onAnalysisOverrides( AnalysisOverridesParams.fromJson(decoder, 'params', params)); break; case COMPLETION_NOTIFICATION_AVAILABLE_SUGGESTIONS: onCompletionAvailableSuggestions( CompletionAvailableSuggestionsParams.fromJson( decoder, 'params', params)); break; case COMPLETION_NOTIFICATION_EXISTING_IMPORTS: onCompletionExistingImports(CompletionExistingImportsParams.fromJson( decoder, 'params', params)); break; case COMPLETION_NOTIFICATION_RESULTS: onCompletionResults( CompletionResultsParams.fromJson(decoder, 'params', params)); break; case EXECUTION_NOTIFICATION_LAUNCH_DATA: onExecutionLaunchData( ExecutionLaunchDataParams.fromJson(decoder, 'params', params)); break; case FLUTTER_NOTIFICATION_OUTLINE: onFlutterOutline( FlutterOutlineParams.fromJson(decoder, 'params', params)); break; case SEARCH_NOTIFICATION_RESULTS: onSearchResults( SearchResultsParams.fromJson(decoder, 'params', params)); break; case SERVER_NOTIFICATION_CONNECTED: onServerConnected( ServerConnectedParams.fromJson(decoder, 'params', params)); break; case SERVER_NOTIFICATION_ERROR: onServerError(ServerErrorParams.fromJson(decoder, 'params', params)); break; case SERVER_NOTIFICATION_LOG: onServerLog(ServerLogParams.fromJson(decoder, 'params', params)); break; case SERVER_NOTIFICATION_STATUS: onServerStatus(ServerStatusParams.fromJson(decoder, 'params', params)); break; default: onUnknownNotification(notification.event, params); break; } } /// Reports the paths of the files that are being analyzed. /// /// This notification is not subscribed to by default. Clients can /// subscribe by including the value "ANALYZED_FILES" in the list /// of services passed in an analysis.setGeneralSubscriptions request. void onAnalysisAnalyzedFiles(AnalysisAnalyzedFilesParams params) {} /// Reports closing labels relevant to a given file. /// /// This notification is not subscribed to by default. Clients /// can subscribe by including the value "CLOSING_LABELS" /// in the list of services passed in an /// analysis.setSubscriptions request. void onAnalysisClosingLabels(AnalysisClosingLabelsParams params) {} /// Reports the errors associated with a given file. The set of /// errors included in the notification is always a complete /// list that supersedes any previously reported errors. void onAnalysisErrors(AnalysisErrorsParams params) {} /// Reports that any analysis results that were previously /// associated with the given files should be considered to be /// invalid because those files are no longer being analyzed, /// either because the analysis root that contained it is no /// longer being analyzed or because the file no longer exists. /// /// If a file is included in this notification and at some later /// time a notification with results for the file is received, /// clients should assume that the file is once again being /// analyzed and the information should be processed. /// /// It is not possible to subscribe to or unsubscribe from this /// notification. void onAnalysisFlushResults(AnalysisFlushResultsParams params) {} /// Reports the folding regions associated with a given /// file. Folding regions can be nested, but will not be /// overlapping. Nesting occurs when a foldable element, such as /// a method, is nested inside another foldable element such as /// a class. /// /// This notification is not subscribed to by default. Clients /// can subscribe by including the value "FOLDING" in /// the list of services passed in an analysis.setSubscriptions /// request. void onAnalysisFolding(AnalysisFoldingParams params) {} /// Reports the highlight regions associated with a given file. /// /// This notification is not subscribed to by default. Clients /// can subscribe by including the value "HIGHLIGHTS" /// in the list of services passed in an /// analysis.setSubscriptions request. void onAnalysisHighlights(AnalysisHighlightsParams params) {} /// Reports the classes that are implemented or extended and /// class members that are implemented or overridden in a file. /// /// This notification is not subscribed to by default. Clients /// can subscribe by including the value "IMPLEMENTED" in /// the list of services passed in an analysis.setSubscriptions /// request. void onAnalysisImplemented(AnalysisImplementedParams params) {} /// Reports that the navigation information associated with a region of a /// single file has become invalid and should be re-requested. /// /// This notification is not subscribed to by default. Clients can /// subscribe by including the value "INVALIDATE" in the list of /// services passed in an analysis.setSubscriptions request. void onAnalysisInvalidate(AnalysisInvalidateParams params) {} /// Reports the navigation targets associated with a given file. /// /// This notification is not subscribed to by default. Clients /// can subscribe by including the value "NAVIGATION" /// in the list of services passed in an /// analysis.setSubscriptions request. void onAnalysisNavigation(AnalysisNavigationParams params) {} /// Reports the occurrences of references to elements within a /// single file. /// /// This notification is not subscribed to by default. Clients /// can subscribe by including the value "OCCURRENCES" /// in the list of services passed in an /// analysis.setSubscriptions request. void onAnalysisOccurrences(AnalysisOccurrencesParams params) {} /// Reports the outline associated with a single file. /// /// This notification is not subscribed to by default. Clients /// can subscribe by including the value "OUTLINE" in /// the list of services passed in an analysis.setSubscriptions /// request. void onAnalysisOutline(AnalysisOutlineParams params) {} /// Reports the overriding members in a file. /// /// This notification is not subscribed to by default. Clients /// can subscribe by including the value "OVERRIDES" in /// the list of services passed in an analysis.setSubscriptions /// request. void onAnalysisOverrides(AnalysisOverridesParams params) {} /// Reports the pre-computed, candidate completions from symbols defined /// in a corresponding library. This notification may be sent multiple times. /// When a notification is processed, clients should replace any previous /// information about the libraries in the list of changedLibraries, discard /// any information about the libraries in the list of removedLibraries, and /// preserve any previously received information about any libraries that are /// not included in either list. void onCompletionAvailableSuggestions( CompletionAvailableSuggestionsParams params) {} /// Reports existing imports in a library. This notification may be sent /// multiple times for a library. When a notification is processed, clients /// should replace any previous information for the library. void onCompletionExistingImports(CompletionExistingImportsParams params) {} /// Reports the completion suggestions that should be presented /// to the user. The set of suggestions included in the /// notification is always a complete list that supersedes any /// previously reported suggestions. void onCompletionResults(CompletionResultsParams params) {} /// Reports information needed to allow a single file to be launched. /// /// This notification is not subscribed to by default. Clients can /// subscribe by including the value "LAUNCH_DATA" in the list of services /// passed in an execution.setSubscriptions request. void onExecutionLaunchData(ExecutionLaunchDataParams params) {} /// Reports the Flutter outline associated with a single file. /// /// This notification is not subscribed to by default. Clients /// can subscribe by including the value "OUTLINE" in /// the list of services passed in an flutter.setSubscriptions /// request. void onFlutterOutline(FlutterOutlineParams params) {} /// Reports some or all of the results of performing a requested /// search. Unlike other notifications, this notification /// contains search results that should be added to any /// previously received search results associated with the same /// search id. void onSearchResults(SearchResultsParams params) {} /// Reports that the server is running. This notification is /// issued once after the server has started running but before /// any requests are processed to let the client know that it /// started correctly. /// /// It is not possible to subscribe to or unsubscribe from this /// notification. void onServerConnected(ServerConnectedParams params) {} /// Reports that an unexpected error has occurred while /// executing the server. This notification is not used for /// problems with specific requests (which are returned as part /// of the response) but is used for exceptions that occur while /// performing other tasks, such as analysis or preparing /// notifications. /// /// It is not possible to subscribe to or unsubscribe from this /// notification. void onServerError(ServerErrorParams params) {} /// The stream of entries describing events happened in the server. void onServerLog(ServerLogParams params) {} /// Reports the current status of the server. Parameters are /// omitted if there has been no change in the status /// represented by that parameter. /// /// This notification is not subscribed to by default. Clients /// can subscribe by including the value "STATUS" in /// the list of services passed in a server.setSubscriptions /// request. void onServerStatus(ServerStatusParams params) {} /// Reports a notification that is not processed /// by any other notification handlers. void onUnknownNotification(String event, params) {} }