Index: pkg/analysis_server/lib/src/services/completion/completion_manager.dart |
diff --git a/pkg/analysis_server/lib/src/services/completion/completion_manager.dart b/pkg/analysis_server/lib/src/services/completion/completion_manager.dart |
index 5708274e7a85f7fed489fcac643d48d8c64441a4..986cc8b40f4dc2917a4e5aed97dcb8404ceeaae3 100644 |
--- a/pkg/analysis_server/lib/src/services/completion/completion_manager.dart |
+++ b/pkg/analysis_server/lib/src/services/completion/completion_manager.dart |
@@ -7,7 +7,7 @@ library services.completion.manager; |
import 'dart:async'; |
import 'package:analysis_server/completion/completion_core.dart' |
- show CompletionRequest; |
+ show CompletionRequest, CompletionResult; |
import 'package:analysis_server/src/analysis_server.dart'; |
import 'package:analysis_server/src/protocol.dart'; |
import 'package:analysis_server/src/services/completion/dart_completion_manager.dart'; |
@@ -246,7 +246,7 @@ class CompletionRequestImpl implements CompletionRequest { |
/** |
* Code completion result generated by an [CompletionManager]. |
*/ |
-class CompletionResult { |
+class CompletionResultImpl implements CompletionResult { |
/** |
* The length of the text to be replaced if the remainder of the identifier |
@@ -274,8 +274,15 @@ class CompletionResult { |
*/ |
final bool last; |
- CompletionResult(this.replacementOffset, this.replacementLength, |
+ CompletionResultImpl(this.replacementOffset, this.replacementLength, |
this.suggestions, this.last); |
+ |
+ @override |
+ // TODO(brianwilkerson) Figure out whether this is correct. |
+ bool get hasNewSuggestions => suggestions.isNotEmpty; |
+ |
+ @override |
+ bool get isLast => last; |
} |
class NoOpCompletionManager extends CompletionManager { |
@@ -283,7 +290,7 @@ class NoOpCompletionManager extends CompletionManager { |
@override |
void computeSuggestions(CompletionRequest request) { |
- controller.add(new CompletionResult(request.offset, 0, [], true)); |
+ controller.add(new CompletionResultImpl(request.offset, 0, [], true)); |
} |
} |