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 library services.src.refactoring.extract_method; | 5 library services.src.refactoring.extract_method; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 | 8 |
9 import 'package:analysis_server/src/protocol_server.dart' hide Element; | 9 import 'package:analysis_server/src/protocol_server.dart' hide Element; |
10 import 'package:analysis_server/src/services/correction/name_suggestion.dart'; | 10 import 'package:analysis_server/src/services/correction/name_suggestion.dart'; |
11 import 'package:analysis_server/src/services/correction/selection_analyzer.dart'
; | 11 import 'package:analysis_server/src/services/correction/selection_analyzer.dart'
; |
12 import 'package:analysis_server/src/services/correction/source_range.dart'; | 12 import 'package:analysis_server/src/services/correction/source_range.dart'; |
13 import 'package:analysis_server/src/services/correction/statement_analyzer.dart'
; | 13 import 'package:analysis_server/src/services/correction/statement_analyzer.dart'
; |
14 import 'package:analysis_server/src/services/correction/status.dart'; | 14 import 'package:analysis_server/src/services/correction/status.dart'; |
15 import 'package:analysis_server/src/services/correction/util.dart'; | 15 import 'package:analysis_server/src/services/correction/util.dart'; |
16 import 'package:analysis_server/src/services/refactoring/naming_conventions.dart
'; | 16 import 'package:analysis_server/src/services/refactoring/naming_conventions.dart
'; |
17 import 'package:analysis_server/src/services/refactoring/refactoring.dart'; | 17 import 'package:analysis_server/src/services/refactoring/refactoring.dart'; |
18 import 'package:analysis_server/src/services/refactoring/refactoring_internal.da
rt'; | 18 import 'package:analysis_server/src/services/refactoring/refactoring_internal.da
rt'; |
19 import 'package:analysis_server/src/services/refactoring/rename_class_member.dar
t'; | 19 import 'package:analysis_server/src/services/refactoring/rename_class_member.dar
t'; |
20 import 'package:analysis_server/src/services/refactoring/rename_unit_member.dart
'; | 20 import 'package:analysis_server/src/services/refactoring/rename_unit_member.dart
'; |
21 import 'package:analysis_server/src/services/search/element_visitors.dart'; | 21 import 'package:analysis_server/src/services/search/element_visitors.dart'; |
22 import 'package:analysis_server/src/services/search/search_engine.dart'; | 22 import 'package:analysis_server/src/services/search/search_engine.dart'; |
23 import 'package:analyzer/dart/ast/ast.dart'; | 23 import 'package:analyzer/dart/ast/ast.dart'; |
| 24 import 'package:analyzer/dart/ast/resolution_accessors.dart'; |
24 import 'package:analyzer/dart/ast/token.dart'; | 25 import 'package:analyzer/dart/ast/token.dart'; |
25 import 'package:analyzer/dart/ast/visitor.dart'; | 26 import 'package:analyzer/dart/ast/visitor.dart'; |
26 import 'package:analyzer/dart/element/element.dart'; | 27 import 'package:analyzer/dart/element/element.dart'; |
27 import 'package:analyzer/dart/element/type.dart'; | 28 import 'package:analyzer/dart/element/type.dart'; |
28 import 'package:analyzer/src/dart/ast/utilities.dart'; | 29 import 'package:analyzer/src/dart/ast/utilities.dart'; |
29 import 'package:analyzer/src/generated/engine.dart'; | 30 import 'package:analyzer/src/generated/engine.dart'; |
30 import 'package:analyzer/src/generated/java_core.dart'; | 31 import 'package:analyzer/src/generated/java_core.dart'; |
31 import 'package:analyzer/src/generated/resolver.dart' show ExitDetector; | 32 import 'package:analyzer/src/generated/resolver.dart' show ExitDetector; |
32 import 'package:analyzer/src/generated/source.dart'; | 33 import 'package:analyzer/src/generated/source.dart'; |
33 | 34 |
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
404 } | 405 } |
405 | 406 |
406 /** | 407 /** |
407 * Checks if created method will shadow or will be shadowed by other elements. | 408 * Checks if created method will shadow or will be shadowed by other elements. |
408 */ | 409 */ |
409 Future<RefactoringStatus> _checkPossibleConflicts() async { | 410 Future<RefactoringStatus> _checkPossibleConflicts() async { |
410 RefactoringStatus result = new RefactoringStatus(); | 411 RefactoringStatus result = new RefactoringStatus(); |
411 AstNode parent = _parentMember.parent; | 412 AstNode parent = _parentMember.parent; |
412 // top-level function | 413 // top-level function |
413 if (parent is CompilationUnit) { | 414 if (parent is CompilationUnit) { |
414 LibraryElement libraryElement = parent.element.library; | 415 LibraryElement libraryElement = elementForCompilationUnit(parent).library; |
415 return validateCreateFunction(searchEngine, libraryElement, name); | 416 return validateCreateFunction(searchEngine, libraryElement, name); |
416 } | 417 } |
417 // method of class | 418 // method of class |
418 if (parent is ClassDeclaration) { | 419 if (parent is ClassDeclaration) { |
419 ClassElement classElement = parent.element; | 420 ClassElement classElement = parent.element; |
420 return validateCreateMethod(searchEngine, classElement, name); | 421 return validateCreateMethod(searchEngine, classElement, name); |
421 } | 422 } |
422 // OK | 423 // OK |
423 return new Future<RefactoringStatus>.value(result); | 424 return new Future<RefactoringStatus>.value(result); |
424 } | 425 } |
(...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1242 return false; | 1243 return false; |
1243 } | 1244 } |
1244 for (int i = 0; i < parameterTypes.length; i++) { | 1245 for (int i = 0; i < parameterTypes.length; i++) { |
1245 if (other.parameterTypes[i] != parameterTypes[i]) { | 1246 if (other.parameterTypes[i] != parameterTypes[i]) { |
1246 return false; | 1247 return false; |
1247 } | 1248 } |
1248 } | 1249 } |
1249 return true; | 1250 return true; |
1250 } | 1251 } |
1251 } | 1252 } |
OLD | NEW |