blob: 2d8715a87b56f3fd7ae92d49da5d34a57960e032 [file] [log] [blame]
// 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) {}
}