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

Unified Diff: pkg/analysis_server/lib/src/services/correction/fix_internal.dart

Issue 2677833002: Don't search for 'declaration' of elements, just name is usually enough. (Closed)
Patch Set: Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/analysis_server/lib/src/services/refactoring/convert_getter_to_method.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/lib/src/services/correction/fix_internal.dart
diff --git a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
index 1f9a32d9dbb9e7b833aef81494427225487fd259..c823e4ebee013b703d53a1ab20670908d52e2da6 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
@@ -485,21 +485,26 @@ class FixProcessor {
// prepare target
int targetOffset;
if (numRequired != 0) {
- AstNode parameterNode = await astProvider
- .getParsedNodeForElement(requiredParameters.last);
- targetOffset = parameterNode.end;
+ SimpleIdentifier lastName = await astProvider
+ .getParsedNameForElement(requiredParameters.last);
+ if (lastName != null) {
+ targetOffset = lastName.end;
+ } else {
+ return;
+ }
} else {
- AstNode targetNode =
- await astProvider.getParsedNodeForElement(targetElement);
- if (targetNode is FunctionDeclaration) {
- FunctionExpression function = targetNode.functionExpression;
+ SimpleIdentifier targetName =
+ await astProvider.getParsedNameForElement(targetElement);
+ AstNode targetDeclaration = targetName?.parent;
+ if (targetDeclaration is FunctionDeclaration) {
+ FunctionExpression function = targetDeclaration.functionExpression;
Token paren = function.parameters?.leftParenthesis;
if (paren == null) {
return;
}
targetOffset = paren.end;
- } else if (targetNode is MethodDeclaration) {
- Token paren = targetNode.parameters?.leftParenthesis;
+ } else if (targetDeclaration is MethodDeclaration) {
+ Token paren = targetDeclaration.parameters?.leftParenthesis;
if (paren == null) {
return;
}
@@ -1665,8 +1670,9 @@ class FixProcessor {
!getter.variable.isSynthetic &&
getter.variable.setter == null &&
getter.enclosingElement is ClassElement) {
- AstNode variable =
- await astProvider.getParsedNodeForElement(getter.variable);
+ AstNode name =
+ await astProvider.getParsedNameForElement(getter.variable);
+ AstNode variable = name?.parent;
if (variable is VariableDeclaration &&
variable.parent is VariableDeclarationList &&
variable.parent.parent is FieldDeclaration) {
« no previous file with comments | « no previous file | pkg/analysis_server/lib/src/services/refactoring/convert_getter_to_method.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698