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

Side by Side Diff: pkg/analyzer_plugin/lib/utilities/completion/completion_core.dart

Issue 2934133002: Change to accommade Angular plugin and finalize removal of dependency to analysis_server (Closed)
Patch Set: Feedback changes Created 3 years, 6 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) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 import 'dart:async'; 5 import 'dart:async';
6 6
7 import 'package:analyzer/dart/analysis/results.dart'; 7 import 'package:analyzer/dart/analysis/results.dart';
8 import 'package:analyzer/file_system/file_system.dart'; 8 import 'package:analyzer/file_system/file_system.dart';
9 import 'package:analyzer_plugin/protocol/protocol.dart'; 9 import 'package:analyzer_plugin/protocol/protocol.dart';
10 import 'package:analyzer_plugin/protocol/protocol_common.dart'; 10 import 'package:analyzer_plugin/protocol/protocol_common.dart';
(...skipping 28 matching lines...) Expand all
39 * Set the offset of the region of text that should be replaced by the 39 * Set the offset of the region of text that should be replaced by the
40 * selected completion suggestion. 40 * selected completion suggestion.
41 * 41 *
42 * The offset can only be set once and applies to all of the suggestions. 42 * The offset can only be set once and applies to all of the suggestions.
43 * Hence, this setter throws a [StateError] if the offset has already been 43 * Hence, this setter throws a [StateError] if the offset has already been
44 * set. 44 * set.
45 */ 45 */
46 void set offset(int offset); 46 void set offset(int offset);
47 47
48 /** 48 /**
49 * Indicates if the collector's offset has been set (and ultimately the
50 * length too).
51 */
52 bool get offsetIsSet;
53
54 /**
55 * Returns length of suggestions currently held.
56 */
57 int get suggestionsLength;
58
59 /**
49 * Record the given completion [suggestion]. 60 * Record the given completion [suggestion].
50 */ 61 */
51 void addSuggestion(CompletionSuggestion suggestion); 62 void addSuggestion(CompletionSuggestion suggestion);
52 } 63 }
53 64
54 /** 65 /**
55 * An object used to produce completion suggestions. 66 * An object used to produce completion suggestions.
56 * 67 *
57 * Clients may implement this class when implementing plugins. 68 * Clients may implement this class when implementing plugins.
58 */ 69 */
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 await contributor.computeSuggestions(request, collector); 108 await contributor.computeSuggestions(request, collector);
98 } catch (exception, stackTrace) { 109 } catch (exception, stackTrace) {
99 notifications.add(new PluginErrorParams( 110 notifications.add(new PluginErrorParams(
100 false, exception.toString(), stackTrace.toString()) 111 false, exception.toString(), stackTrace.toString())
101 .toNotification()); 112 .toNotification());
102 } 113 }
103 } 114 }
104 } on AbortCompletion { 115 } on AbortCompletion {
105 return new GeneratorResult(null, notifications); 116 return new GeneratorResult(null, notifications);
106 } 117 }
118 collector.offset ??= request.offset;
119 collector.length ??= 0;
120
107 CompletionGetSuggestionsResult result = new CompletionGetSuggestionsResult( 121 CompletionGetSuggestionsResult result = new CompletionGetSuggestionsResult(
108 collector.offset, collector.length, collector.suggestions); 122 collector.offset, collector.length, collector.suggestions);
109 return new GeneratorResult(result, notifications); 123 return new GeneratorResult(result, notifications);
110 } 124 }
111 } 125 }
112 126
113 /** 127 /**
114 * The information about a requested list of completions. 128 * The information about a requested list of completions.
115 * 129 *
116 * Clients may not extend, implement or mix-in this class. 130 * Clients may not extend, implement or mix-in this class.
(...skipping 14 matching lines...) Expand all
131 * The analysis result for the file in which the completion is being 145 * The analysis result for the file in which the completion is being
132 * requested. 146 * requested.
133 */ 147 */
134 ResolveResult get result; 148 ResolveResult get result;
135 149
136 /** 150 /**
137 * Throw an [AbortCompletion] if the completion request has been aborted. 151 * Throw an [AbortCompletion] if the completion request has been aborted.
138 */ 152 */
139 void checkAborted(); 153 void checkAborted();
140 } 154 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698