@@ -13,6 +13,7 @@ import 'package:analysis_server/src/services/search/hierarchy.dart';
1313import 'package:analysis_server/src/utilities/change_builder.dart' ;
1414import 'package:analyzer/dart/ast/ast.dart' ;
1515import 'package:analyzer/dart/element/element.dart' ;
16+ import 'package:analyzer/dart/element/element2.dart' ;
1617import 'package:analyzer/source/line_info.dart' ;
1718import 'package:analyzer/src/dart/ast/utilities.dart' ;
1819import 'package:analyzer/src/dart/micro/resolve_file.dart' ;
@@ -41,7 +42,6 @@ class CanRenameResponse {
4142
4243 CheckNameResponse ? checkNewName (String name) {
4344 var element = refactoringElement.element;
44- _flutterWidgetState = _findFlutterStateClass (element, name);
4545
4646 RefactoringStatus ? status;
4747 if (element is ParameterElement ) {
@@ -58,9 +58,10 @@ class CanRenameResponse {
5858 status = validateTypeAliasName (name);
5959 } else if (element is InterfaceElement ) {
6060 status = validateClassName (name);
61+ _flutterWidgetState = _findFlutterStateClass (element.asElement2, name);
6162 } else if (element is ConstructorElement ) {
6263 status = validateConstructorName (name);
63- _analyzePossibleConflicts (element, status, name);
64+ _analyzePossibleConflicts (element.asElement2 , status, name);
6465 } else if (element is LibraryImportElement ) {
6566 status = validateImportPrefixName (name);
6667 }
@@ -72,20 +73,20 @@ class CanRenameResponse {
7273 }
7374
7475 void _analyzePossibleConflicts (
75- ConstructorElement element,
76+ ConstructorElement2 element,
7677 RefactoringStatus result,
7778 String newName,
7879 ) {
79- var parentClass = element.enclosingElement3 ;
80+ var parentClass = element.enclosingElement2 ;
8081 // Check if the "newName" is the name of the enclosing class.
81- if (parentClass.name == newName) {
82+ if (parentClass.name3 == newName) {
8283 result.addError (
8384 'The constructor should not have the same name '
8485 'as the name of the enclosing class.' ,
8586 );
8687 }
8788 // check if there are members with "newName" in the same ClassElement
88- for (var newNameMember in getChildren (parentClass.asElement2 , newName)) {
89+ for (var newNameMember in getChildren (parentClass, newName)) {
8990 var message = format (
9091 "Class '{0}' already declares {1} with name '{2}'." ,
9192 parentClass.displayName,
@@ -99,17 +100,17 @@ class CanRenameResponse {
99100 }
100101 }
101102
102- FlutterWidgetState ? _findFlutterStateClass (Element element, String newName) {
103- if (element is ClassElement &&
104- element.asElement2.isStatefulWidgetDeclaration) {
103+ FlutterWidgetState ? _findFlutterStateClass (Element2 element, String newName) {
104+ if (element is ClassElement2 && element.isStatefulWidgetDeclaration) {
105105 var oldStateName = '${element .displayName }State' ;
106- var library = element.library ;
106+ var library = element.library2 ;
107107 var state =
108- library.getClass (oldStateName) ?? library.getClass ('_$oldStateName ' );
108+ library.getClass2 (oldStateName) ??
109+ library.getClass2 ('_$oldStateName ' );
109110 if (state != null ) {
110111 var flutterWidgetStateNewName = '${newName }State' ;
111112 // If the State was private, ensure that it stays private.
112- if (state.name .startsWith ('_' ) &&
113+ if (state.name3 ! .startsWith ('_' ) &&
113114 ! flutterWidgetStateNewName.startsWith ('_' )) {
114115 flutterWidgetStateNewName = '_$flutterWidgetStateNewName ' ;
115116 }
@@ -301,15 +302,17 @@ class CheckNameResponse {
301302 var flutterState = canRename._flutterWidgetState;
302303 var stateClass = flutterState! .state;
303304 var stateName = flutterState.newName;
304- var match = await canRename._fileResolver.findReferences2 (stateClass);
305- var sourcePath = stateClass.source.fullName;
306- var location = stateClass.enclosingElement3.lineInfo.getLocation (
307- stateClass.nameOffset,
305+ var match = await canRename._fileResolver.findReferences (stateClass);
306+ var firstFragment = stateClass.firstFragment;
307+ var libraryFragment = firstFragment.libraryFragment;
308+ var sourcePath = libraryFragment.source.fullName;
309+ var location = libraryFragment.lineInfo.getLocation (
310+ firstFragment.nameOffset2! ,
308311 );
309312 CiderSearchMatch ciderMatch;
310313 var searchInfo = CiderSearchInfo (
311314 location,
312- stateClass.nameLength ,
315+ stateClass.name3 ! .length ,
313316 MatchKind .DECLARATION ,
314317 );
315318 try {
@@ -328,7 +331,7 @@ class CheckNameResponse {
328331 (p) => ReplaceInfo (
329332 stateName,
330333 p.startPosition,
331- stateClass.nameLength ,
334+ stateClass.name3 ! .length ,
332335 ),
333336 )
334337 .toList (),
@@ -488,7 +491,7 @@ class FlutterWidgetRename {
488491
489492/// The corresponding `State` declaration of a Flutter `StatefulWidget` .
490493class FlutterWidgetState {
491- ClassElement state;
494+ ClassElement2 state;
492495 String newName;
493496
494497 FlutterWidgetState (this .state, this .newName);
0 commit comments