Index: pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart |
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart b/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart |
index c1949294a62a8d9315578dddeef60f2bf124cb0e..3ecbd3eecc4e478c5dcc5ef8dfb1140a87d60457 100644 |
--- a/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart |
+++ b/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart |
@@ -65,6 +65,11 @@ class DartCompletionRequestImpl extends CompletionRequestImpl |
CompletionTarget _target; |
/** |
+ * The [DartType] for Object in dart:core |
+ */ |
+ InterfaceType _objectType; |
+ |
+ /** |
* `true` if [resolveDeclarationsInScope] has partially resolved the unit |
* referenced by [target], else `false`. |
*/ |
@@ -104,6 +109,16 @@ class DartCompletionRequestImpl extends CompletionRequestImpl |
} |
@override |
+ InterfaceType get objectType { |
+ if (_objectType == null) { |
+ Source coreUri = context.sourceFactory.forUri('dart:core'); |
+ LibraryElement coreLib = context.getLibraryElement(coreUri); |
+ _objectType = coreLib.getType('Object').type; |
+ } |
+ return _objectType; |
+ } |
+ |
+ @override |
CompletionTarget get target { |
if (_target == null) { |
CompilationUnit unit = context.computeResult(source, PARSED_UNIT); |