| Index: pkg/analysis_server/test/integration/integration_test_methods.dart
|
| diff --git a/pkg/analysis_server/test/integration/integration_test_methods.dart b/pkg/analysis_server/test/integration/integration_test_methods.dart
|
| index 5794acb52c9ffa4e0798bb06ba3522e31afe4f9f..4da1b0c6807d25e6294eb2adfbd95ed24c447adf 100644
|
| --- a/pkg/analysis_server/test/integration/integration_test_methods.dart
|
| +++ b/pkg/analysis_server/test/integration/integration_test_methods.dart
|
| @@ -240,6 +240,9 @@ abstract class IntegrationTestMixin {
|
| * Return library dependency information for use in client-side indexing and
|
| * package URI resolution.
|
| *
|
| + * Clients that are only using the libraries field should consider using the
|
| + * analyzedFiles notification instead.
|
| + *
|
| * Returns
|
| *
|
| * libraries ( List<FilePath> )
|
| @@ -413,6 +416,30 @@ abstract class IntegrationTestMixin {
|
| }
|
|
|
| /**
|
| + * Subscribe for general services (that is, services that are not specific to
|
| + * individual files). All previous subscriptions are replaced by the given
|
| + * set of services.
|
| + *
|
| + * It is an error if any of the elements in the list are not valid services.
|
| + * If there is an error, then the current subscriptions will remain
|
| + * unchanged.
|
| + *
|
| + * Parameters
|
| + *
|
| + * subscriptions ( List<GeneralAnalysisService> )
|
| + *
|
| + * A list of the services being subscribed to.
|
| + */
|
| + Future sendAnalysisSetGeneralSubscriptions(List<GeneralAnalysisService> subscriptions) {
|
| + var params = new AnalysisSetGeneralSubscriptionsParams(subscriptions).toJson();
|
| + return server.send("analysis.setGeneralSubscriptions", params)
|
| + .then((result) {
|
| + expect(result, isNull);
|
| + return null;
|
| + });
|
| + }
|
| +
|
| + /**
|
| * Set the priority files to the files in the given list. A priority file is
|
| * a file that is given priority when scheduling which analysis work to do
|
| * first. The list typically contains those files that are visible to the
|
| @@ -447,11 +474,11 @@ abstract class IntegrationTestMixin {
|
| }
|
|
|
| /**
|
| - * Subscribe for services. All previous subscriptions are replaced by the
|
| - * current set of subscriptions. If a given service is not included as a key
|
| - * in the map then no files will be subscribed to the service, exactly as if
|
| - * the service had been included in the map with an explicit empty list of
|
| - * files.
|
| + * Subscribe for services that are specific to individual files. All previous
|
| + * subscriptions are replaced by the current set of subscriptions. If a given
|
| + * service is not included as a key in the map then no files will be
|
| + * subscribed to the service, exactly as if the service had been included in
|
| + * the map with an explicit empty list of files.
|
| *
|
| * Note that this request determines the set of requested subscriptions. The
|
| * actual set of subscriptions at any given time is the intersection of this
|
| @@ -536,6 +563,26 @@ abstract class IntegrationTestMixin {
|
| }
|
|
|
| /**
|
| + * 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.
|
| + *
|
| + * Parameters
|
| + *
|
| + * directories ( List<FilePath> )
|
| + *
|
| + * A list of the paths of the files that are being analyzed.
|
| + */
|
| + Stream<AnalysisAnalyzedFilesParams> onAnalysisAnalyzedFiles;
|
| +
|
| + /**
|
| + * Stream controller for [onAnalysisAnalyzedFiles].
|
| + */
|
| + StreamController<AnalysisAnalyzedFilesParams> _onAnalysisAnalyzedFiles;
|
| +
|
| + /**
|
| * 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.
|
| @@ -1512,6 +1559,8 @@ abstract class IntegrationTestMixin {
|
| onServerError = _onServerError.stream.asBroadcastStream();
|
| _onServerStatus = new StreamController<ServerStatusParams>(sync: true);
|
| onServerStatus = _onServerStatus.stream.asBroadcastStream();
|
| + _onAnalysisAnalyzedFiles = new StreamController<AnalysisAnalyzedFilesParams>(sync: true);
|
| + onAnalysisAnalyzedFiles = _onAnalysisAnalyzedFiles.stream.asBroadcastStream();
|
| _onAnalysisErrors = new StreamController<AnalysisErrorsParams>(sync: true);
|
| onAnalysisErrors = _onAnalysisErrors.stream.asBroadcastStream();
|
| _onAnalysisFlushResults = new StreamController<AnalysisFlushResultsParams>(sync: true);
|
| @@ -1557,6 +1606,10 @@ abstract class IntegrationTestMixin {
|
| expect(params, isServerStatusParams);
|
| _onServerStatus.add(new ServerStatusParams.fromJson(decoder, 'params', params));
|
| break;
|
| + case "analysis.analyzedFiles":
|
| + expect(params, isAnalysisAnalyzedFilesParams);
|
| + _onAnalysisAnalyzedFiles.add(new AnalysisAnalyzedFilesParams.fromJson(decoder, 'params', params));
|
| + break;
|
| case "analysis.errors":
|
| expect(params, isAnalysisErrorsParams);
|
| _onAnalysisErrors.add(new AnalysisErrorsParams.fromJson(decoder, 'params', params));
|
|
|