| OLD | NEW |
| 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/plugin/edit/assist/assist_core.dart'; | 7 import 'package:analysis_server/plugin/edit/assist/assist_core.dart'; |
| 8 import 'package:analysis_server/plugin/edit/assist/assist_dart.dart'; | 8 import 'package:analysis_server/plugin/edit/assist/assist_dart.dart'; |
| 9 import 'package:analysis_server/plugin/edit/fix/fix_core.dart'; | 9 import 'package:analysis_server/plugin/edit/fix/fix_core.dart'; |
| 10 import 'package:analysis_server/plugin/edit/fix/fix_dart.dart'; | 10 import 'package:analysis_server/plugin/edit/fix/fix_dart.dart'; |
| 11 import 'package:analysis_server/protocol/protocol_constants.dart'; | 11 import 'package:analysis_server/protocol/protocol_constants.dart'; |
| 12 import 'package:analysis_server/src/analysis_server.dart'; | 12 import 'package:analysis_server/src/analysis_server.dart'; |
| 13 import 'package:analysis_server/src/collections.dart'; | 13 import 'package:analysis_server/src/collections.dart'; |
| 14 import 'package:analysis_server/src/computer/import_elements_computer.dart'; |
| 14 import 'package:analysis_server/src/domain_abstract.dart'; | 15 import 'package:analysis_server/src/domain_abstract.dart'; |
| 15 import 'package:analysis_server/src/plugin/plugin_manager.dart'; | 16 import 'package:analysis_server/src/plugin/plugin_manager.dart'; |
| 16 import 'package:analysis_server/src/plugin/result_converter.dart'; | 17 import 'package:analysis_server/src/plugin/result_converter.dart'; |
| 17 import 'package:analysis_server/src/protocol_server.dart' hide Element; | 18 import 'package:analysis_server/src/protocol_server.dart' hide Element; |
| 18 import 'package:analysis_server/src/services/completion/postfix/postfix_completi
on.dart'; | 19 import 'package:analysis_server/src/services/completion/postfix/postfix_completi
on.dart'; |
| 19 import 'package:analysis_server/src/services/completion/statement/statement_comp
letion.dart'; | 20 import 'package:analysis_server/src/services/completion/statement/statement_comp
letion.dart'; |
| 20 import 'package:analysis_server/src/services/correction/assist_internal.dart'; | 21 import 'package:analysis_server/src/services/correction/assist_internal.dart'; |
| 21 import 'package:analysis_server/src/services/correction/fix_internal.dart'; | 22 import 'package:analysis_server/src/services/correction/fix_internal.dart'; |
| 22 import 'package:analysis_server/src/services/correction/organize_directives.dart
'; | 23 import 'package:analysis_server/src/services/correction/organize_directives.dart
'; |
| 23 import 'package:analysis_server/src/services/correction/sort_members.dart'; | 24 import 'package:analysis_server/src/services/correction/sort_members.dart'; |
| (...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 343 } else if (requestName == EDIT_REQUEST_GET_ASSISTS) { | 344 } else if (requestName == EDIT_REQUEST_GET_ASSISTS) { |
| 344 getAssists(request); | 345 getAssists(request); |
| 345 return Response.DELAYED_RESPONSE; | 346 return Response.DELAYED_RESPONSE; |
| 346 } else if (requestName == EDIT_REQUEST_GET_AVAILABLE_REFACTORINGS) { | 347 } else if (requestName == EDIT_REQUEST_GET_AVAILABLE_REFACTORINGS) { |
| 347 return _getAvailableRefactorings(request); | 348 return _getAvailableRefactorings(request); |
| 348 } else if (requestName == EDIT_REQUEST_GET_FIXES) { | 349 } else if (requestName == EDIT_REQUEST_GET_FIXES) { |
| 349 getFixes(request); | 350 getFixes(request); |
| 350 return Response.DELAYED_RESPONSE; | 351 return Response.DELAYED_RESPONSE; |
| 351 } else if (requestName == EDIT_REQUEST_GET_REFACTORING) { | 352 } else if (requestName == EDIT_REQUEST_GET_REFACTORING) { |
| 352 return _getRefactoring(request); | 353 return _getRefactoring(request); |
| 354 } else if (requestName == EDIT_REQUEST_IMPORT_ELEMENTS) { |
| 355 importElements(request); |
| 356 return Response.DELAYED_RESPONSE; |
| 353 } else if (requestName == EDIT_REQUEST_ORGANIZE_DIRECTIVES) { | 357 } else if (requestName == EDIT_REQUEST_ORGANIZE_DIRECTIVES) { |
| 354 organizeDirectives(request); | 358 organizeDirectives(request); |
| 355 return Response.DELAYED_RESPONSE; | 359 return Response.DELAYED_RESPONSE; |
| 356 } else if (requestName == EDIT_REQUEST_SORT_MEMBERS) { | 360 } else if (requestName == EDIT_REQUEST_SORT_MEMBERS) { |
| 357 sortMembers(request); | 361 sortMembers(request); |
| 358 return Response.DELAYED_RESPONSE; | 362 return Response.DELAYED_RESPONSE; |
| 359 } else if (requestName == EDIT_REQUEST_GET_STATEMENT_COMPLETION) { | 363 } else if (requestName == EDIT_REQUEST_GET_STATEMENT_COMPLETION) { |
| 360 getStatementCompletion(request); | 364 getStatementCompletion(request); |
| 361 return Response.DELAYED_RESPONSE; | 365 return Response.DELAYED_RESPONSE; |
| 362 } else if (requestName == EDIT_REQUEST_IS_POSTFIX_COMPLETION_APPLICABLE) { | 366 } else if (requestName == EDIT_REQUEST_IS_POSTFIX_COMPLETION_APPLICABLE) { |
| 363 isPostfixCompletionApplicable(request); | 367 isPostfixCompletionApplicable(request); |
| 364 return Response.DELAYED_RESPONSE; | 368 return Response.DELAYED_RESPONSE; |
| 365 } else if (requestName == EDIT_REQUEST_GET_POSTFIX_COMPLETION) { | 369 } else if (requestName == EDIT_REQUEST_GET_POSTFIX_COMPLETION) { |
| 366 getPostfixCompletion(request); | 370 getPostfixCompletion(request); |
| 367 return Response.DELAYED_RESPONSE; | 371 return Response.DELAYED_RESPONSE; |
| 368 } else if (requestName == | 372 } else if (requestName == |
| 369 EDIT_REQUEST_LIST_POSTFIX_COMPLETION_TEMPLATES) { | 373 EDIT_REQUEST_LIST_POSTFIX_COMPLETION_TEMPLATES) { |
| 370 listPostfixCompletionTemplates(request); | 374 listPostfixCompletionTemplates(request); |
| 371 return Response.DELAYED_RESPONSE; | 375 return Response.DELAYED_RESPONSE; |
| 372 } | 376 } |
| 373 } on RequestFailure catch (exception) { | 377 } on RequestFailure catch (exception) { |
| 374 return exception.response; | 378 return exception.response; |
| 375 } | 379 } |
| 376 return null; | 380 return null; |
| 377 } | 381 } |
| 378 | 382 |
| 383 /** |
| 384 * Implement the `edit.importElements` request. |
| 385 */ |
| 386 Future<Null> importElements(Request request) async { |
| 387 EditImportElementsParams params = |
| 388 new EditImportElementsParams.fromRequest(request); |
| 389 // |
| 390 // Prepare the resolved unit. |
| 391 // |
| 392 AnalysisResult result = await server.getAnalysisResult(params.file); |
| 393 if (result == null) { |
| 394 server.sendResponse(new Response.importElementsInvalidFile(request)); |
| 395 } |
| 396 // |
| 397 // Compute the edits required to import the required elements. |
| 398 // |
| 399 List<SourceEdit> edits = |
| 400 new ImportElementsComputer(result, params.file, params.elements) |
| 401 .compute(); |
| 402 // |
| 403 // Send the response. |
| 404 // |
| 405 server.sendResponse( |
| 406 new EditImportElementsResult(edits).toResponse(request.id)); |
| 407 } |
| 408 |
| 379 Future isPostfixCompletionApplicable(Request request) async { | 409 Future isPostfixCompletionApplicable(Request request) async { |
| 380 var params = new EditGetPostfixCompletionParams.fromRequest(request); | 410 var params = new EditGetPostfixCompletionParams.fromRequest(request); |
| 381 bool value = false; | 411 bool value = false; |
| 382 | 412 |
| 383 AnalysisResult result = await server.getAnalysisResult(params.file); | 413 AnalysisResult result = await server.getAnalysisResult(params.file); |
| 384 if (result != null) { | 414 if (result != null) { |
| 385 CompilationUnit unit = result.unit; | 415 CompilationUnit unit = result.unit; |
| 386 CompilationUnitElement unitElement = | 416 CompilationUnitElement unitElement = |
| 387 resolutionMap.elementDeclaredByCompilationUnit(unit); | 417 resolutionMap.elementDeclaredByCompilationUnit(unit); |
| 388 if (unitElement.context != null) { | 418 if (unitElement.context != null) { |
| (...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1023 } | 1053 } |
| 1024 return new RefactoringStatus(); | 1054 return new RefactoringStatus(); |
| 1025 } | 1055 } |
| 1026 } | 1056 } |
| 1027 | 1057 |
| 1028 /** | 1058 /** |
| 1029 * [_RefactoringManager] throws instances of this class internally to stop | 1059 * [_RefactoringManager] throws instances of this class internally to stop |
| 1030 * processing in a manager that was reset. | 1060 * processing in a manager that was reset. |
| 1031 */ | 1061 */ |
| 1032 class _ResetError {} | 1062 class _ResetError {} |
| OLD | NEW |