| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |