| 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.rename; | 5 library services.src.refactoring.rename; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 | 9 |
| 10 import 'package:analysis_server/src/protocol2.dart' show SourceEdit; |
| 10 import 'package:analysis_server/src/services/correction/change.dart'; | 11 import 'package:analysis_server/src/services/correction/change.dart'; |
| 11 import 'package:analysis_server/src/services/correction/status.dart'; | 12 import 'package:analysis_server/src/services/correction/status.dart'; |
| 12 import 'package:analysis_server/src/services/refactoring/refactoring.dart'; | 13 import 'package:analysis_server/src/services/refactoring/refactoring.dart'; |
| 13 import 'package:analysis_server/src/services/search/search_engine.dart'; | 14 import 'package:analysis_server/src/services/search/search_engine.dart'; |
| 14 import 'package:analysis_server/src/services/correction/source_range.dart'; | 15 import 'package:analysis_server/src/services/correction/source_range.dart'; |
| 15 import 'package:analysis_server/src/services/refactoring/refactoring_internal.da
rt'; | 16 import 'package:analysis_server/src/services/refactoring/refactoring_internal.da
rt'; |
| 16 import 'package:analyzer/src/generated/element.dart'; | 17 import 'package:analyzer/src/generated/element.dart'; |
| 17 import 'package:analyzer/src/generated/engine.dart'; | 18 import 'package:analyzer/src/generated/engine.dart'; |
| 18 import 'package:analyzer/src/generated/source.dart'; | 19 import 'package:analyzer/src/generated/source.dart'; |
| 19 | 20 |
| 20 | 21 |
| 21 /** | 22 /** |
| 22 * Returns the [Edit] to replace the given [SearchMatch] reference. | 23 * Returns the [Edit] to replace the given [SearchMatch] reference. |
| 23 */ | 24 */ |
| 24 Edit createReferenceEdit(SourceReference reference, String newText) { | 25 SourceEdit createReferenceEdit(SourceReference reference, String newText, |
| 25 return new Edit.range(reference.range, newText); | 26 {String id}) { |
| 27 return editFromRange(reference.range, newText, id: id); |
| 26 } | 28 } |
| 27 | 29 |
| 28 | 30 |
| 29 /** | 31 /** |
| 30 * Returns the file containing declaration of the given [Element]. | 32 * Returns the file containing declaration of the given [Element]. |
| 31 */ | 33 */ |
| 32 String getElementFile(Element element) { | 34 String getElementFile(Element element) { |
| 33 return element.source.fullName; | 35 return element.source.fullName; |
| 34 } | 36 } |
| 35 | 37 |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 element = element, | 163 element = element, |
| 162 context = element.context, | 164 context = element.context, |
| 163 oldName = _getDisplayName(element); | 165 oldName = _getDisplayName(element); |
| 164 | 166 |
| 165 /** | 167 /** |
| 166 * Adds the "Update declaration" [Edit] to [change]. | 168 * Adds the "Update declaration" [Edit] to [change]. |
| 167 */ | 169 */ |
| 168 void addDeclarationEdit(Change change, Element element) { | 170 void addDeclarationEdit(Change change, Element element) { |
| 169 if (element != null) { | 171 if (element != null) { |
| 170 String file = getElementFile(element); | 172 String file = getElementFile(element); |
| 171 Edit edit = new Edit.range(rangeElementName(element), newName); | 173 SourceEdit edit = editFromRange(rangeElementName(element), newName); |
| 172 change.addEdit(file, edit); | 174 change.addEdit(file, edit); |
| 173 } | 175 } |
| 174 } | 176 } |
| 175 | 177 |
| 176 /** | 178 /** |
| 177 * Adds an "Update reference" [Edit] to [change]. | 179 * Adds an "Update reference" [Edit] to [change]. |
| 178 */ | 180 */ |
| 179 void addReferenceEdit(Change change, SourceReference reference) { | 181 void addReferenceEdit(Change change, SourceReference reference) { |
| 180 Edit edit = createReferenceEdit(reference, newName); | 182 SourceEdit edit = createReferenceEdit(reference, newName); |
| 181 change.addEdit(reference.file, edit); | 183 change.addEdit(reference.file, edit); |
| 182 } | 184 } |
| 183 | 185 |
| 184 @override | 186 @override |
| 185 Future<RefactoringStatus> checkInitialConditions() { | 187 Future<RefactoringStatus> checkInitialConditions() { |
| 186 var result = new RefactoringStatus(); | 188 var result = new RefactoringStatus(); |
| 187 return new Future.value(result); | 189 return new Future.value(result); |
| 188 } | 190 } |
| 189 | 191 |
| 190 @override | 192 @override |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 } | 243 } |
| 242 if (other is SourceReference) { | 244 if (other is SourceReference) { |
| 243 return other.file == file && other.range == range; | 245 return other.file == file && other.range == range; |
| 244 } | 246 } |
| 245 return false; | 247 return false; |
| 246 } | 248 } |
| 247 | 249 |
| 248 @override | 250 @override |
| 249 String toString() => '${file}@${range}'; | 251 String toString() => '${file}@${range}'; |
| 250 } | 252 } |
| OLD | NEW |