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