| Index: pkg/analysis_server/lib/src/services/refactoring/convert_getter_to_method.dart
|
| diff --git a/pkg/analysis_server/lib/src/services/refactoring/convert_getter_to_method.dart b/pkg/analysis_server/lib/src/services/refactoring/convert_getter_to_method.dart
|
| index 4d9d93f8d70e0e1d3242eb0640c88a3e32c0dd39..5dd94166383e472e0a3c327aa5c3185b5f2e1b0c 100644
|
| --- a/pkg/analysis_server/lib/src/services/refactoring/convert_getter_to_method.dart
|
| +++ b/pkg/analysis_server/lib/src/services/refactoring/convert_getter_to_method.dart
|
| @@ -16,6 +16,7 @@ import 'package:analysis_server/src/services/search/search_engine.dart';
|
| import 'package:analyzer/dart/ast/ast.dart';
|
| import 'package:analyzer/dart/ast/token.dart';
|
| import 'package:analyzer/dart/element/element.dart';
|
| +import 'package:analyzer/src/dart/element/ast_provider.dart';
|
| import 'package:analyzer/src/generated/source.dart';
|
|
|
| /**
|
| @@ -24,11 +25,13 @@ import 'package:analyzer/src/generated/source.dart';
|
| class ConvertGetterToMethodRefactoringImpl extends RefactoringImpl
|
| implements ConvertGetterToMethodRefactoring {
|
| final SearchEngine searchEngine;
|
| + final AstProvider astProvider;
|
| final PropertyAccessorElement element;
|
|
|
| SourceChange change;
|
|
|
| - ConvertGetterToMethodRefactoringImpl(this.searchEngine, this.element);
|
| + ConvertGetterToMethodRefactoringImpl(
|
| + this.searchEngine, this.astProvider, this.element);
|
|
|
| @override
|
| String get refactoringName => 'Convert Getter To Method';
|
| @@ -50,7 +53,7 @@ class ConvertGetterToMethodRefactoringImpl extends RefactoringImpl
|
| change = new SourceChange(refactoringName);
|
| // function
|
| if (element.enclosingElement is CompilationUnitElement) {
|
| - _updateElementDeclaration(element);
|
| + await _updateElementDeclaration(element);
|
| await _updateElementReferences(element);
|
| }
|
| // method
|
| @@ -58,11 +61,11 @@ class ConvertGetterToMethodRefactoringImpl extends RefactoringImpl
|
| FieldElement field = element.variable;
|
| Set<ClassMemberElement> elements =
|
| await getHierarchyMembers(searchEngine, field);
|
| - await Future.forEach(elements, (ClassMemberElement member) {
|
| + await Future.forEach(elements, (ClassMemberElement member) async {
|
| if (member is FieldElement) {
|
| PropertyAccessorElement getter = member.getter;
|
| if (!getter.isSynthetic) {
|
| - _updateElementDeclaration(getter);
|
| + await _updateElementDeclaration(getter);
|
| return _updateElementReferences(getter);
|
| }
|
| }
|
| @@ -83,11 +86,12 @@ class ConvertGetterToMethodRefactoringImpl extends RefactoringImpl
|
| return new RefactoringStatus();
|
| }
|
|
|
| - void _updateElementDeclaration(PropertyAccessorElement element) {
|
| + Future<Null> _updateElementDeclaration(
|
| + PropertyAccessorElement element) async {
|
| // prepare "get" keyword
|
| Token getKeyword = null;
|
| {
|
| - AstNode node = element.computeNode();
|
| + AstNode node = await astProvider.getParsedNodeForElement(element);
|
| if (node is MethodDeclaration) {
|
| getKeyword = node.propertyKeyword;
|
| } else if (node is FunctionDeclaration) {
|
|
|