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

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: Reduce deltas 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 if (collector.suggestions.isEmpty) {
mfairhurst 2017/06/13 20:31:39 Should this instead check 'offsetIsSet'? And, what
maxkim 2017/06/13 20:49:21 Ah that's right, I added this block before adding
119 collector
120 ..offset = request.offset
121 ..length = 0;
122 }
107 CompletionGetSuggestionsResult result = new CompletionGetSuggestionsResult( 123 CompletionGetSuggestionsResult result = new CompletionGetSuggestionsResult(
108 collector.offset, collector.length, collector.suggestions); 124 collector.offset, collector.length, collector.suggestions);
Brian Wilkerson 2017/06/13 20:50:19 I don't understand what the length of the suggesti
maxkim 2017/06/13 21:11:40 This is following the assumption that if suggestio
109 return new GeneratorResult(result, notifications); 125 return new GeneratorResult(result, notifications);
110 } 126 }
111 } 127 }
112 128
113 /** 129 /**
114 * The information about a requested list of completions. 130 * The information about a requested list of completions.
115 * 131 *
116 * Clients may not extend, implement or mix-in this class. 132 * Clients may not extend, implement or mix-in this class.
117 */ 133 */
118 abstract class CompletionRequest { 134 abstract class CompletionRequest {
(...skipping 12 matching lines...) Expand all
131 * The analysis result for the file in which the completion is being 147 * The analysis result for the file in which the completion is being
132 * requested. 148 * requested.
133 */ 149 */
134 ResolveResult get result; 150 ResolveResult get result;
135 151
136 /** 152 /**
137 * Throw an [AbortCompletion] if the completion request has been aborted. 153 * Throw an [AbortCompletion] if the completion request has been aborted.
138 */ 154 */
139 void checkAborted(); 155 void checkAborted();
140 } 156 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698