| // 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". |
| |
| 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<EventName>" 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) {} |
| } |