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

Side by Side Diff: pkg/analysis_server/lib/src/services/refactoring/rename_import.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.rename_import; 5 library services.src.refactoring.rename_import;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/protocol.dart'; 9 import 'package:analysis_server/src/protocol.dart';
10 import 'package:analysis_server/src/services/correction/source_range.dart';
10 import 'package:analysis_server/src/services/correction/status.dart'; 11 import 'package:analysis_server/src/services/correction/status.dart';
12 import 'package:analysis_server/src/services/refactoring/naming_conventions.dart ';
11 import 'package:analysis_server/src/services/refactoring/refactoring.dart'; 13 import 'package:analysis_server/src/services/refactoring/refactoring.dart';
12 import 'package:analysis_server/src/services/correction/util.dart'; 14 import 'package:analysis_server/src/services/refactoring/rename.dart';
13 import 'package:analysis_server/src/services/search/search_engine.dart'; 15 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/refactoring/naming_conventions.dart ';
16 import 'package:analysis_server/src/services/refactoring/rename.dart';
17 import 'package:analyzer/src/generated/element.dart'; 16 import 'package:analyzer/src/generated/element.dart';
18 import 'package:analyzer/src/generated/source.dart'; 17 import 'package:analyzer/src/generated/source.dart';
19 18
20 19
21 /** 20 /**
22 * A [Refactoring] for renaming [ImportElement]s. 21 * A [Refactoring] for renaming [ImportElement]s.
23 */ 22 */
24 class RenameImportRefactoringImpl extends RenameRefactoringImpl { 23 class RenameImportRefactoringImpl extends RenameRefactoringImpl {
25 RenameImportRefactoringImpl(SearchEngine searchEngine, ImportElement element) 24 RenameImportRefactoringImpl(SearchEngine searchEngine, ImportElement element)
26 : super(searchEngine, element); 25 : super(searchEngine, element);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 SourceRange range = rangeStartLength(element.uriEnd, 0); 63 SourceRange range = rangeStartLength(element.uriEnd, 0);
65 edit = new SourceEdit.range(range, " as ${newName}"); 64 edit = new SourceEdit.range(range, " as ${newName}");
66 } else { 65 } else {
67 int offset = element.prefixOffset; 66 int offset = element.prefixOffset;
68 int length = prefix.displayName.length; 67 int length = prefix.displayName.length;
69 SourceRange range = rangeStartLength(offset, length); 68 SourceRange range = rangeStartLength(offset, length);
70 edit = new SourceEdit.range(range, newName); 69 edit = new SourceEdit.range(range, newName);
71 } 70 }
72 } 71 }
73 if (edit != null) { 72 if (edit != null) {
74 addElementSourceChange(change, element, edit); 73 change.addElementEdit(element, edit);
75 } 74 }
76 } 75 }
77 // update references 76 // update references
78 return searchEngine.searchReferences(element).then((refMatches) { 77 return searchEngine.searchReferences(element).then((refMatches) {
79 List<SourceReference> references = getSourceReferences(refMatches); 78 List<SourceReference> references = getSourceReferences(refMatches);
80 for (SourceReference reference in references) { 79 for (SourceReference reference in references) {
81 SourceEdit edit; 80 SourceEdit edit;
82 if (newName.isEmpty) { 81 if (newName.isEmpty) {
83 edit = createReferenceEdit(reference, newName); 82 edit = createReferenceEdit(reference, newName);
84 } else { 83 } else {
85 edit = createReferenceEdit(reference, "${newName}."); 84 edit = createReferenceEdit(reference, "${newName}.");
86 } 85 }
87 addElementSourceChange(change, reference.element, edit); 86 change.addElementEdit(reference.element, edit);
88 } 87 }
89 return change; 88 return change;
90 }); 89 });
91 } 90 }
92 } 91 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698