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

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

Issue 2894883002: Remove more libraries directives from server (Closed)
Patch Set: Created 3 years, 7 months 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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.contributor.dart.inherited_ref;
6
7 import 'dart:async'; 5 import 'dart:async';
8 6
9 import 'package:analysis_server/src/ide_options.dart'; 7 import 'package:analysis_server/src/ide_options.dart';
10 import 'package:analysis_server/src/provisional/completion/dart/completion_dart. dart'; 8 import 'package:analysis_server/src/provisional/completion/dart/completion_dart. dart';
11 import 'package:analysis_server/src/provisional/completion/dart/completion_targe t.dart'; 9 import 'package:analysis_server/src/provisional/completion/dart/completion_targe t.dart';
12 import 'package:analysis_server/src/services/completion/dart/optype.dart'; 10 import 'package:analysis_server/src/services/completion/dart/optype.dart';
13 import 'package:analysis_server/src/services/completion/dart/suggestion_builder. dart'; 11 import 'package:analysis_server/src/services/completion/dart/suggestion_builder. dart';
14 import 'package:analyzer/dart/ast/ast.dart'; 12 import 'package:analyzer/dart/ast/ast.dart';
15 import 'package:analyzer/dart/ast/standard_resolution_map.dart'; 13 import 'package:analyzer/dart/ast/standard_resolution_map.dart';
16 import 'package:analyzer/dart/element/element.dart'; 14 import 'package:analyzer/dart/element/element.dart';
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 63
66 ClassDeclaration classDecl = _enclosingClass(request.target); 64 ClassDeclaration classDecl = _enclosingClass(request.target);
67 if (classDecl == null || classDecl.element == null) { 65 if (classDecl == null || classDecl.element == null) {
68 return EMPTY_LIST; 66 return EMPTY_LIST;
69 } 67 }
70 containingLibrary = request.libraryElement; 68 containingLibrary = request.libraryElement;
71 return _computeSuggestionsForClass2( 69 return _computeSuggestionsForClass2(
72 resolutionMap.elementDeclaredByClassDeclaration(classDecl), request); 70 resolutionMap.elementDeclaredByClassDeclaration(classDecl), request);
73 } 71 }
74 72
75 List<CompletionSuggestion> _computeSuggestionsForClass2(
76 ClassElement classElement, DartCompletionRequest request,
77 {bool skipChildClass: true}) {
78 bool isFunctionalArgument = request.target.isFunctionalArgument();
79 kind = isFunctionalArgument
80 ? CompletionSuggestionKind.IDENTIFIER
81 : CompletionSuggestionKind.INVOCATION;
82 OpType optype = request.opType;
83
84 if (!skipChildClass) {
85 _addSuggestionsForType(classElement.type, optype, request.ideOptions,
86 isFunctionalArgument: isFunctionalArgument);
87 }
88
89 for (InterfaceType type in classElement.allSupertypes) {
90 _addSuggestionsForType(type, optype, request.ideOptions,
91 isFunctionalArgument: isFunctionalArgument);
92 }
93 return suggestions;
94 }
95
96 List<CompletionSuggestion> computeSuggestionsForClass( 73 List<CompletionSuggestion> computeSuggestionsForClass(
97 ClassElement classElement, DartCompletionRequest request, 74 ClassElement classElement, DartCompletionRequest request,
98 {bool skipChildClass: true}) { 75 {bool skipChildClass: true}) {
99 if (!request.includeIdentifiers) { 76 if (!request.includeIdentifiers) {
100 return EMPTY_LIST; 77 return EMPTY_LIST;
101 } 78 }
102 containingLibrary = request.libraryElement; 79 containingLibrary = request.libraryElement;
103 80
104 return _computeSuggestionsForClass2(classElement, request, 81 return _computeSuggestionsForClass2(classElement, request,
105 skipChildClass: skipChildClass); 82 skipChildClass: skipChildClass);
(...skipping 22 matching lines...) Expand all
128 if (optype.includeReturnValueSuggestions) { 105 if (optype.includeReturnValueSuggestions) {
129 addSuggestion(elem, ideOptions); 106 addSuggestion(elem, ideOptions);
130 } 107 }
131 } else { 108 } else {
132 if (optype.includeVoidReturnSuggestions) { 109 if (optype.includeVoidReturnSuggestions) {
133 addSuggestion(elem, ideOptions); 110 addSuggestion(elem, ideOptions);
134 } 111 }
135 } 112 }
136 } 113 }
137 } 114 }
115
116 List<CompletionSuggestion> _computeSuggestionsForClass2(
117 ClassElement classElement, DartCompletionRequest request,
118 {bool skipChildClass: true}) {
119 bool isFunctionalArgument = request.target.isFunctionalArgument();
120 kind = isFunctionalArgument
121 ? CompletionSuggestionKind.IDENTIFIER
122 : CompletionSuggestionKind.INVOCATION;
123 OpType optype = request.opType;
124
125 if (!skipChildClass) {
126 _addSuggestionsForType(classElement.type, optype, request.ideOptions,
127 isFunctionalArgument: isFunctionalArgument);
128 }
129
130 for (InterfaceType type in classElement.allSupertypes) {
131 _addSuggestionsForType(type, optype, request.ideOptions,
132 isFunctionalArgument: isFunctionalArgument);
133 }
134 return suggestions;
135 }
138 } 136 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698