| Index: pkg/analysis_server/lib/src/edit/edit_domain.dart
|
| diff --git a/pkg/analysis_server/lib/src/edit/edit_domain.dart b/pkg/analysis_server/lib/src/edit/edit_domain.dart
|
| index 901cffd03b72c4aef83807628eb3d6c56cf37cdd..470cdd6d4a9bc65ee4e576042d2664617d542a85 100644
|
| --- a/pkg/analysis_server/lib/src/edit/edit_domain.dart
|
| +++ b/pkg/analysis_server/lib/src/edit/edit_domain.dart
|
| @@ -111,7 +111,8 @@ class EditDomainHandler implements RequestHandler {
|
| if (fixes.isNotEmpty) {
|
| AnalysisError serverError =
|
| new AnalysisError.fromEngine(lineInfo, error);
|
| - AnalysisErrorFixes errorFixes = new AnalysisErrorFixes(serverError);
|
| + AnalysisErrorFixes errorFixes =
|
| + new AnalysisErrorFixes(serverError);
|
| errorFixesList.add(errorFixes);
|
| fixes.forEach((fix) {
|
| errorFixes.addFix(fix);
|
| @@ -247,6 +248,15 @@ class _RefactoringManager {
|
| feedback = new ExtractLocalVariableFeedback([], [], []);
|
| }
|
| }
|
| + if (kind == RefactoringKind.EXTRACT_METHOD) {
|
| + List<CompilationUnit> units = server.getResolvedCompilationUnits(file);
|
| + if (units.isNotEmpty) {
|
| + refactoring =
|
| + new ExtractMethodRefactoring(searchEngine, units[0], offset, length);
|
| + feedback =
|
| + new ExtractMethodFeedback(offset, length, null, [], false, [], [], []);
|
| + }
|
| + }
|
| if (kind == RefactoringKind.RENAME) {
|
| List<AstNode> nodes = server.getNodesAtOffset(file, offset);
|
| List<Element> elements = server.getElementsAtOffset(file, offset);
|
| @@ -272,6 +282,16 @@ class _RefactoringManager {
|
| feedback.offsets = refactoring.offsets;
|
| feedback.lengths = refactoring.lengths;
|
| }
|
| + if (refactoring is ExtractMethodRefactoring) {
|
| + ExtractMethodRefactoring refactoring = this.refactoring;
|
| + ExtractMethodFeedback feedback = this.feedback;
|
| + feedback.canCreateGetter = refactoring.canCreateGetter;
|
| + feedback.returnType = refactoring.returnType;
|
| + feedback.names = refactoring.names;
|
| + feedback.parameters = refactoring.parameters;
|
| + feedback.offsets = refactoring.offsets;
|
| + feedback.lengths = refactoring.lengths;
|
| + }
|
| return initStatus;
|
| });
|
| }
|
| @@ -302,7 +322,7 @@ class _RefactoringManager {
|
| }
|
|
|
| RefactoringStatus _setOptions(EditGetRefactoringParams params,
|
| - Request request) {
|
| + Request request) {
|
| if (refactoring is ExtractLocalRefactoring) {
|
| ExtractLocalRefactoring extractRefactoring = refactoring;
|
| ExtractLocalVariableOptions extractOptions =
|
| @@ -311,6 +331,19 @@ class _RefactoringManager {
|
| extractRefactoring.extractAll = extractOptions.extractAll;
|
| return extractRefactoring.checkName();
|
| }
|
| + if (refactoring is ExtractMethodRefactoring) {
|
| + ExtractMethodRefactoring extractRefactoring = this.refactoring;
|
| + ExtractMethodOptions extractOptions =
|
| + new ExtractMethodOptions.fromRefactoringParams(params, request);
|
| + extractRefactoring.createGetter = extractOptions.createGetter;
|
| + extractRefactoring.extractAll = extractOptions.extractAll;
|
| + extractRefactoring.name = extractOptions.name;
|
| + if (extractOptions.parameters != null) {
|
| + extractRefactoring.parameters = extractOptions.parameters;
|
| + }
|
| + extractRefactoring.returnType = extractOptions.returnType;
|
| + return extractRefactoring.checkName();
|
| + }
|
| if (refactoring is RenameRefactoring) {
|
| RenameRefactoring renameRefactoring = refactoring;
|
| RenameOptions renameOptions =
|
|
|