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

Side by Side Diff: pkg/analysis_server/lib/src/services/refactoring/extract_method.dart

Issue 2551023005: Prepare for decoupling analyzer ASTs from element model. (Closed)
Patch Set: Created 4 years 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 unified diff | Download patch
OLDNEW
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698