Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(228)

Side by Side Diff: pkg/analysis_server/lib/src/services/completion/dart/inherited_contributor.dart

Issue 1470373002: create new Dart specific completion contributor extension point (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: merge Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library services.completion.dart.invocation; 5 library services.completion.dart.invocation;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/protocol_server.dart' 9 import 'package:analysis_server/src/protocol_server.dart'
10 show CompletionSuggestion, CompletionSuggestionKind, SourceChange; 10 show CompletionSuggestion, CompletionSuggestionKind, SourceChange;
11 import 'package:analysis_server/src/protocol_server.dart' as protocol 11 import 'package:analysis_server/src/protocol_server.dart' as protocol
12 hide CompletionSuggestion, CompletionSuggestionKind; 12 hide CompletionSuggestion, CompletionSuggestionKind;
13 import 'package:analysis_server/src/provisional/completion/completion_core.dart' ; 13 import 'package:analysis_server/src/provisional/completion/completion_core.dart' ;
14 import 'package:analysis_server/src/provisional/completion/completion_dart.dart' ; 14 import 'package:analysis_server/src/provisional/completion/dart/completion_dart. dart';
15 import 'package:analysis_server/src/provisional/completion/dart/completion_targe t.dart'; 15 import 'package:analysis_server/src/provisional/completion/dart/completion_targe t.dart';
16 import 'package:analysis_server/src/services/completion/dart_completion_manager. dart'
17 show DART_RELEVANCE_HIGH;
18 import 'package:analyzer/src/generated/ast.dart'; 16 import 'package:analyzer/src/generated/ast.dart';
19 import 'package:analyzer/src/generated/element.dart'; 17 import 'package:analyzer/src/generated/element.dart';
20 import 'package:analyzer/src/generated/resolver.dart'; 18 import 'package:analyzer/src/generated/resolver.dart';
21 import 'package:analyzer/src/generated/source.dart'; 19 import 'package:analyzer/src/generated/source.dart';
22 // import 'package:analysis_server/plugin/src/provisional/utilities/change_build er_dart.dart';
23 // import 'package:analyzer/src/generated/engine.dart';
24 20
25 /** 21 /**
26 * A completion contributor used to suggest replacing partial identifiers inside 22 * A completion contributor used to suggest replacing partial identifiers inside
27 * a class declaration with templates for inherited members. 23 * a class declaration with templates for inherited members.
28 */ 24 */
29 class InheritedContributor implements DartCompletionContributor { 25 class InheritedContributor implements DartCompletionContributor {
30 @override 26 @override
31 Future<List<CompletionSuggestion>> computeSuggestions( 27 Future<List<CompletionSuggestion>> computeSuggestions(
32 DartCompletionRequest request) async { 28 DartCompletionRequest request) async {
33 // Determine if the target looks like a partial identifier 29 // Determine if the target looks like a partial identifier
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 * Return `true` if the given [classElement] directly declares a member with 162 * Return `true` if the given [classElement] directly declares a member with
167 * the given [memberName]. 163 * the given [memberName].
168 */ 164 */
169 bool _hasMember(ClassElement classElement, String memberName) { 165 bool _hasMember(ClassElement classElement, String memberName) {
170 return classElement.getField(memberName) != null || 166 return classElement.getField(memberName) != null ||
171 classElement.getGetter(memberName) != null || 167 classElement.getGetter(memberName) != null ||
172 classElement.getMethod(memberName) != null || 168 classElement.getMethod(memberName) != null ||
173 classElement.getSetter(memberName) != null; 169 classElement.getSetter(memberName) != null;
174 } 170 }
175 } 171 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698