| 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 eb8a712844c3c222406ba9be02edaf596d3c74c1..a635b8cd76d4e0c0c120a3cfb1439cd32328476c 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
|
| @@ -23,6 +23,7 @@ import 'package:analyzer/src/generated/engine.dart' hide AnalysisContextImpl;
|
| import 'package:analyzer/src/generated/source.dart';
|
| import 'package:analyzer/src/task/dart.dart';
|
| import 'package:analyzer/task/dart.dart';
|
| +import 'package:analysis_server/src/services/completion/optype.dart';
|
|
|
| /**
|
| * [DartCompletionManager] determines if a completion request is Dart specific
|
| @@ -111,10 +112,24 @@ class DartCompletionRequestImpl extends CompletionRequestImpl
|
| @override
|
| Source librarySource;
|
|
|
| + OpType _opType;
|
| +
|
| @override
|
| CompletionTarget target;
|
|
|
| @override
|
| + bool get includeIdentifiers {
|
| + if (_opType == null) {
|
| + _opType = new OpType.forCompletion(target, offset);
|
| + }
|
| + return !_opType.isPrefixed &&
|
| + (_opType.includeReturnValueSuggestions ||
|
| + _opType.includeTypeNameSuggestions ||
|
| + _opType.includeVoidReturnSuggestions ||
|
| + _opType.includeConstructorSuggestions);
|
| + }
|
| +
|
| + @override
|
| LibraryElement get libraryElement {
|
| //TODO(danrubel) build the library element rather than all the declarations
|
| CompilationUnit unit = target.unit;
|
| @@ -190,6 +205,7 @@ class DartCompletionRequestImpl extends CompletionRequestImpl
|
| * Update the completion [target] and [dotTarget] based on the given [unit].
|
| */
|
| void _updateTargets(CompilationUnit unit) {
|
| + _opType = null;
|
| dotTarget = null;
|
| target = new CompletionTarget.forOffset(unit, offset);
|
| AstNode node = target.containingNode;
|
|
|