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

Side by Side Diff: pkg/analysis_server/lib/src/services/refactoring/inline_local.dart

Issue 580273002: Push add*Edit helpers into SourceChange. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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 | Annotate | Revision Log
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.src.refactoring.inline_local; 5 library services.src.refactoring.inline_local;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/protocol.dart' hide Element; 9 import 'package:analysis_server/src/protocol.dart' hide Element;
10 import 'package:analysis_server/src/services/correction/status.dart'; 10 import 'package:analysis_server/src/services/correction/status.dart';
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 } 124 }
125 125
126 @override 126 @override
127 Future<SourceChange> createChange() { 127 Future<SourceChange> createChange() {
128 SourceChange change = new SourceChange(refactoringName); 128 SourceChange change = new SourceChange(refactoringName);
129 // remove declaration 129 // remove declaration
130 { 130 {
131 Statement declarationStatement = 131 Statement declarationStatement =
132 _variableNode.getAncestor((node) => node is VariableDeclarationStateme nt); 132 _variableNode.getAncestor((node) => node is VariableDeclarationStateme nt);
133 SourceRange range = utils.getLinesRangeStatements([declarationStatement]); 133 SourceRange range = utils.getLinesRangeStatements([declarationStatement]);
134 addElementSourceChange( 134 change.addElementEdit(unitElement, new SourceEdit.range(range, ''));
135 change,
136 unitElement,
137 new SourceEdit.range(range, ''));
138 } 135 }
139 // prepare initializer 136 // prepare initializer
140 Expression initializer = _variableNode.initializer; 137 Expression initializer = _variableNode.initializer;
141 String initializerSource = utils.getNodeText(initializer); 138 String initializerSource = utils.getNodeText(initializer);
142 int initializerPrecedence = getExpressionPrecedence(initializer); 139 int initializerPrecedence = getExpressionPrecedence(initializer);
143 // replace references 140 // replace references
144 for (SearchMatch reference in _references) { 141 for (SearchMatch reference in _references) {
145 SourceRange range = reference.sourceRange; 142 SourceRange range = reference.sourceRange;
146 String sourceForReference = 143 String sourceForReference =
147 _getSourceForReference(range, initializerSource, initializerPrecedence ); 144 _getSourceForReference(range, initializerSource, initializerPrecedence );
148 addElementSourceChange( 145 change.addElementEdit(
149 change,
150 unitElement, 146 unitElement,
151 new SourceEdit.range(range, sourceForReference)); 147 new SourceEdit.range(range, sourceForReference));
152 } 148 }
153 // done 149 // done
154 return new Future.value(change); 150 return new Future.value(change);
155 } 151 }
156 152
157 @override 153 @override
158 bool requiresPreview() => false; 154 bool requiresPreview() => false;
159 155
(...skipping 24 matching lines...) Expand all
184 */ 180 */
185 bool _isIdentifierStringInterpolation(AstNode parent) { 181 bool _isIdentifierStringInterpolation(AstNode parent) {
186 if (parent is InterpolationExpression) { 182 if (parent is InterpolationExpression) {
187 InterpolationExpression element = parent; 183 InterpolationExpression element = parent;
188 return element.beginToken.type == 184 return element.beginToken.type ==
189 TokenType.STRING_INTERPOLATION_IDENTIFIER; 185 TokenType.STRING_INTERPOLATION_IDENTIFIER;
190 } 186 }
191 return false; 187 return false;
192 } 188 }
193 } 189 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698