| Index: pkg/analysis_server/lib/src/domain_completion.dart
|
| diff --git a/pkg/analysis_server/lib/src/domain_completion.dart b/pkg/analysis_server/lib/src/domain_completion.dart
|
| index a00617f22f630dbfa41cec09a5e82fe4a60abbf3..cffeb010f253ee7053df179f3eba7ad6bd562e21 100644
|
| --- a/pkg/analysis_server/lib/src/domain_completion.dart
|
| +++ b/pkg/analysis_server/lib/src/domain_completion.dart
|
| @@ -121,7 +121,19 @@ class CompletionDomainHandler extends AbstractRequestHandler {
|
| for (plugin.Response response in responses) {
|
| plugin.CompletionGetSuggestionsResult result =
|
| new plugin.CompletionGetSuggestionsResult.fromResponse(response);
|
| - suggestions.addAll(result.results);
|
| + if (result.results != null && result.results.isNotEmpty) {
|
| + if (suggestions.isEmpty) {
|
| + request.replacementOffset = result.replacementOffset;
|
| + request.replacementLength = result.replacementLength;
|
| + } else if (request.replacementOffset != result.replacementOffset &&
|
| + request.replacementLength != result.replacementLength) {
|
| + server.instrumentationService
|
| + .logError('Plugin completion-results dropped due to conflicting'
|
| + ' replacement offset/length: ${result.toJson()}');
|
| + continue;
|
| + }
|
| + suggestions.addAll(result.results);
|
| + }
|
| }
|
| }
|
| //
|
|
|