Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(906)

Unified Diff: pkg/analysis_server/lib/src/edit/edit_domain.dart

Issue 1461343002: Make AssistContributor asynchronous. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/analysis_server/lib/src/edit/edit_domain.dart
diff --git a/pkg/analysis_server/lib/src/edit/edit_domain.dart b/pkg/analysis_server/lib/src/edit/edit_domain.dart
index e14f3b3ece31441791f7ca49e24c54fccb3da944..6b11d2d276ce8ed980e67ed2cc530d53d287113f 100644
--- a/pkg/analysis_server/lib/src/edit/edit_domain.dart
+++ b/pkg/analysis_server/lib/src/edit/edit_domain.dart
@@ -130,20 +130,22 @@ class EditDomainHandler implements RequestHandler {
.toResponse(request.id);
}
- Response getAssists(Request request) {
+ Future getAssists(Request request) async {
EditGetAssistsParams params = new EditGetAssistsParams.fromRequest(request);
ContextSourcePair pair = server.getContextSourcePair(params.file);
engine.AnalysisContext context = pair.context;
Source source = pair.source;
List<SourceChange> changes = <SourceChange>[];
if (context != null && source != null) {
- List<Assist> assists = computeAssists(
+ List<Assist> assists = await computeAssists(
server.serverPlugin, context, source, params.offset, params.length);
assists.forEach((Assist assist) {
changes.add(assist.change);
});
}
- return new EditGetAssistsResult(changes).toResponse(request.id);
+ Response response =
+ new EditGetAssistsResult(changes).toResponse(request.id);
+ server.sendResponse(response);
}
Response getFixes(Request request) {
@@ -188,7 +190,8 @@ class EditDomainHandler implements RequestHandler {
if (requestName == EDIT_FORMAT) {
return format(request);
} else if (requestName == EDIT_GET_ASSISTS) {
- return getAssists(request);
+ getAssists(request);
+ return Response.DELAYED_RESPONSE;
} else if (requestName == EDIT_GET_AVAILABLE_REFACTORINGS) {
return _getAvailableRefactorings(request);
} else if (requestName == EDIT_GET_FIXES) {

Powered by Google App Engine
This is Rietveld 408576698