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

Side by Side Diff: pkg/analysis_server/lib/src/services/correction/util.dart

Issue 481173002: When user renames 'prefix' in 'prefix.Class' she actually wants to rename ImportElement. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Tweak for test - reference ambiguous prefix name. Created 6 years, 4 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.correction.util; 5 library services.src.correction.util;
6 6
7 import 'package:analysis_server/src/services/correction/change.dart'; 7 import 'package:analysis_server/src/services/correction/change.dart';
8 import 'package:analysis_server/src/services/correction/source_range.dart'; 8 import 'package:analysis_server/src/services/correction/source_range.dart';
9 import 'package:analysis_server/src/services/correction/strings.dart'; 9 import 'package:analysis_server/src/services/correction/strings.dart';
10 import 'package:analyzer/src/generated/ast.dart'; 10 import 'package:analyzer/src/generated/ast.dart';
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 } 90 }
91 if (node is MethodDeclaration) { 91 if (node is MethodDeclaration) {
92 return node.element; 92 return node.element;
93 } 93 }
94 node = node.parent; 94 node = node.parent;
95 } 95 }
96 return null; 96 return null;
97 } 97 }
98 98
99 /** 99 /**
100 * Returns a namespace of the given [ExportElement].
101 */
102 Map<String, Element> getExportNamespaceForDirective(ExportElement exp) {
103 Namespace namespace =
104 new NamespaceBuilder().createExportNamespaceForDirective(exp);
105 return namespace.definedNames;
106 }
107
108
109 /**
110 * Returns a export namespace of the given [LibraryElement].
111 */
112 Map<String, Element> getExportNamespaceForLibrary(LibraryElement library) {
113 Namespace namespace =
114 new NamespaceBuilder().createExportNamespaceForLibrary(library);
115 return namespace.definedNames;
116 }
117
118 /**
119 * Returns an [Element] exported from the given [LibraryElement].
120 */
121 Element getExportedElement(LibraryElement library, String name) {
122 if (library == null) {
123 return null;
124 }
125 return getExportNamespaceForLibrary(library)[name];
126 }
127
128 /**
129 * Returns [getExpressionPrecedence] for the parent of [node], 100 * Returns [getExpressionPrecedence] for the parent of [node],
130 * or `0` if the parent node is [ParenthesizedExpression]. 101 * or `0` if the parent node is [ParenthesizedExpression].
131 * 102 *
132 * The reason is that `(expr)` is always executed after `expr`. 103 * The reason is that `(expr)` is always executed after `expr`.
133 */ 104 */
134 int getExpressionParentPrecedence(AstNode node) { 105 int getExpressionParentPrecedence(AstNode node) {
135 AstNode parent = node.parent; 106 AstNode parent = node.parent;
136 if (parent is ParenthesizedExpression) { 107 if (parent is ParenthesizedExpression) {
137 return 0; 108 return 0;
138 } 109 }
(...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after
914 int newOperatorPrecedence) { 885 int newOperatorPrecedence) {
915 if (expr._precedence < newOperatorPrecedence) { 886 if (expr._precedence < newOperatorPrecedence) {
916 return "(${expr._source})"; 887 return "(${expr._source})";
917 } 888 }
918 return expr._source; 889 return expr._source;
919 } 890 }
920 891
921 static _InvertedCondition _simple(String source) => 892 static _InvertedCondition _simple(String source) =>
922 new _InvertedCondition(2147483647, source); 893 new _InvertedCondition(2147483647, source);
923 } 894 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698