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

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

Issue 2963173002: Pass target elements being renamed into validator. (Closed)
Patch Set: Created 3 years, 5 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
« no previous file with comments | « no previous file | pkg/analysis_server/lib/src/services/refactoring/rename_local.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 import 'dart:async'; 5 import 'dart:async';
6 6
7 import 'package:analysis_server/src/protocol_server.dart' hide Element; 7 import 'package:analysis_server/src/protocol_server.dart' hide Element;
8 import 'package:analysis_server/src/services/correction/status.dart'; 8 import 'package:analysis_server/src/services/correction/status.dart';
9 import 'package:analysis_server/src/services/correction/util.dart'; 9 import 'package:analysis_server/src/services/correction/util.dart';
10 import 'package:analysis_server/src/services/refactoring/refactoring.dart'; 10 import 'package:analysis_server/src/services/refactoring/refactoring.dart';
11 import 'package:analysis_server/src/services/refactoring/refactoring_internal.da rt'; 11 import 'package:analysis_server/src/services/refactoring/refactoring_internal.da rt';
12 import 'package:analysis_server/src/services/search/search_engine.dart'; 12 import 'package:analysis_server/src/services/search/search_engine.dart';
13 import 'package:analyzer/dart/element/element.dart'; 13 import 'package:analyzer/dart/element/element.dart';
14 import 'package:analyzer/src/generated/engine.dart'; 14 import 'package:analyzer/src/generated/engine.dart';
15 import 'package:analyzer/src/generated/java_core.dart'; 15 import 'package:analyzer/src/generated/java_core.dart';
16 import 'package:analyzer/src/generated/source.dart'; 16 import 'package:analyzer/src/generated/source.dart';
17 import 'package:analyzer_plugin/utilities/range_factory.dart'; 17 import 'package:analyzer_plugin/utilities/range_factory.dart';
18 import 'package:path/path.dart' as pathos; 18 import 'package:path/path.dart' as pathos;
19 19
20 /** 20 /**
21 * Returns `true` if two given [Element]s are [LocalElement]s and have
22 * intersecting with visibility ranges.
23 */
24 bool haveIntersectingRanges(LocalElement localElement, Element element) {
25 if (element is! LocalElement) {
26 return false;
27 }
28 LocalElement localElement2 = element as LocalElement;
29 Source localSource = localElement.source;
30 Source localSource2 = localElement2.source;
31 SourceRange localRange = localElement.visibleRange;
32 SourceRange localRange2 = localElement2.visibleRange;
33 return localSource2 == localSource &&
34 localRange != null &&
35 localRange2 != null &&
36 localRange2.intersects(localRange);
37 }
38
39 /**
40 * Checks if [element] is defined in the library containing [source]. 21 * Checks if [element] is defined in the library containing [source].
41 */ 22 */
42 bool isDefinedInLibrary( 23 bool isDefinedInLibrary(
43 Element element, AnalysisContext context, Source source) { 24 Element element, AnalysisContext context, Source source) {
44 // should be the same AnalysisContext 25 // should be the same AnalysisContext
45 if (!isInContext(element, context)) { 26 if (!isInContext(element, context)) {
46 return false; 27 return false;
47 } 28 }
48 // private elements are visible only in their library 29 // private elements are visible only in their library
49 List<Source> librarySourcesOfSource = context.getLibrariesContaining(source); 30 List<Source> librarySourcesOfSource = context.getLibrariesContaining(source);
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 if (element is ImportElement) { 197 if (element is ImportElement) {
217 PrefixElement prefix = element.prefix; 198 PrefixElement prefix = element.prefix;
218 if (prefix != null) { 199 if (prefix != null) {
219 return prefix.displayName; 200 return prefix.displayName;
220 } 201 }
221 return ''; 202 return '';
222 } 203 }
223 return element.displayName; 204 return element.displayName;
224 } 205 }
225 } 206 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analysis_server/lib/src/services/refactoring/rename_local.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698