Chromium Code Reviews| 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; |
|
scheglov
2015/12/09 04:49:20
This code can throw NPE.
In theory the core librar
|
| + } |
| + return _objectType; |
| + } |
| + |
| + @override |
| CompletionTarget get target { |
| if (_target == null) { |
| CompilationUnit unit = context.computeResult(source, PARSED_UNIT); |