| 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 | 8 |
| 9 import 'package:analysis_server/src/protocol_server.dart' hide Element; | 9 import 'package:analysis_server/src/protocol_server.dart' hide Element; |
| 10 import 'package:analysis_server/src/services/correction/source_range.dart'; | 10 import 'package:analysis_server/src/services/correction/source_range.dart'; |
| 11 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/correction/util.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/refactoring/refactoring_internal.da
rt'; | 14 import 'package:analysis_server/src/services/refactoring/refactoring_internal.da
rt'; |
| 14 import 'package:analysis_server/src/services/search/search_engine.dart'; | 15 import 'package:analysis_server/src/services/search/search_engine.dart'; |
| 15 import 'package:analyzer/src/generated/element.dart'; | 16 import 'package:analyzer/src/generated/element.dart'; |
| 16 import 'package:analyzer/src/generated/engine.dart'; | 17 import 'package:analyzer/src/generated/engine.dart'; |
| 18 import 'package:analyzer/src/generated/java_core.dart'; |
| 17 import 'package:analyzer/src/generated/source.dart'; | 19 import 'package:analyzer/src/generated/source.dart'; |
| 18 | 20 |
| 19 /** | 21 /** |
| 20 * Returns `true` if two given [Element]s are [LocalElement]s and have | 22 * Returns `true` if two given [Element]s are [LocalElement]s and have |
| 21 * intersecting with visibility ranges. | 23 * intersecting with visibility ranges. |
| 22 */ | 24 */ |
| 23 bool haveIntersectingRanges(LocalElement localElement, Element element) { | 25 bool haveIntersectingRanges(LocalElement localElement, Element element) { |
| 24 if (element is! LocalElement) { | 26 if (element is! LocalElement) { |
| 25 return false; | 27 return false; |
| 26 } | 28 } |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 void addReferenceEdits(List<SearchMatch> matches) { | 131 void addReferenceEdits(List<SearchMatch> matches) { |
| 130 List<SourceReference> references = getSourceReferences(matches); | 132 List<SourceReference> references = getSourceReferences(matches); |
| 131 for (SourceReference reference in references) { | 133 for (SourceReference reference in references) { |
| 132 reference.addEdit(change, newName); | 134 reference.addEdit(change, newName); |
| 133 } | 135 } |
| 134 } | 136 } |
| 135 | 137 |
| 136 @override | 138 @override |
| 137 Future<RefactoringStatus> checkInitialConditions() { | 139 Future<RefactoringStatus> checkInitialConditions() { |
| 138 RefactoringStatus result = new RefactoringStatus(); | 140 RefactoringStatus result = new RefactoringStatus(); |
| 141 if (element.source.isInSystemLibrary) { |
| 142 String message = format( |
| 143 "The {0} '{1}' is defined in the SDK, so cannot be renamed.", |
| 144 getElementKindName(element), |
| 145 getElementQualifiedName(element)); |
| 146 result.addFatalError(message); |
| 147 } |
| 139 return new Future.value(result); | 148 return new Future.value(result); |
| 140 } | 149 } |
| 141 | 150 |
| 142 @override | 151 @override |
| 143 RefactoringStatus checkNewName() { | 152 RefactoringStatus checkNewName() { |
| 144 RefactoringStatus result = new RefactoringStatus(); | 153 RefactoringStatus result = new RefactoringStatus(); |
| 145 if (newName == oldName) { | 154 if (newName == oldName) { |
| 146 result.addFatalError( | 155 result.addFatalError( |
| 147 "The new name must be different than the current name."); | 156 "The new name must be different than the current name."); |
| 148 } | 157 } |
| (...skipping 22 matching lines...) Expand all Loading... |
| 171 if (element is ImportElement) { | 180 if (element is ImportElement) { |
| 172 PrefixElement prefix = element.prefix; | 181 PrefixElement prefix = element.prefix; |
| 173 if (prefix != null) { | 182 if (prefix != null) { |
| 174 return prefix.displayName; | 183 return prefix.displayName; |
| 175 } | 184 } |
| 176 return ''; | 185 return ''; |
| 177 } | 186 } |
| 178 return element.displayName; | 187 return element.displayName; |
| 179 } | 188 } |
| 180 } | 189 } |
| OLD | NEW |