22// for details. All rights reserved. Use of this source code is governed by a
33// BSD-style license that can be found in the LICENSE file.
44
5- // ignore_for_file: analyzer_use_new_elements
6-
7- import 'package:analyzer/dart/element/element.dart' ;
5+ import 'package:analyzer/dart/element/element2.dart' ;
86import 'package:analyzer/dart/element/nullability_suffix.dart' ;
97import 'package:analyzer/dart/element/type.dart' ;
108import 'package:analyzer/dart/element/type_visitor.dart' ;
119import 'package:analyzer/src/dart/element/element.dart' ;
1210import 'package:analyzer/src/dart/element/type.dart' ;
1311import 'package:analyzer/src/dart/element/type_algebra.dart' ;
1412import 'package:analyzer/src/dart/element/type_system.dart' ;
13+ import 'package:analyzer/src/utilities/extensions/element.dart' ;
1514
1615class RuntimeTypeEqualityHelper {
1716 final TypeSystemImpl _typeSystem;
@@ -45,7 +44,7 @@ class RuntimeTypeEqualityVisitor
4544 return false ;
4645 }
4746
48- var typeParameters = _typeParameters (T1 .typeFormals , T2 .typeFormals );
47+ var typeParameters = _typeParameters (T1 .typeParameters , T2 .typeParameters );
4948 if (typeParameters == null ) {
5049 return false ;
5150 }
@@ -65,15 +64,15 @@ class RuntimeTypeEqualityVisitor
6564 return false ;
6665 }
6766
68- var T1_parameters = T1 .parameters ;
69- var T2_parameters = T2 .parameters ;
70- if (T1_parameters .length != T2_parameters .length) {
67+ var T1_formalParameters = T1 .formalParameters ;
68+ var T2_formalParameters = T2 .formalParameters ;
69+ if (T1_formalParameters .length != T2_formalParameters .length) {
7170 return false ;
7271 }
7372
74- for (var i = 0 ; i < T1_parameters .length; i++ ) {
75- var T1_parameter = T1_parameters [i];
76- var T2_parameter = T2_parameters [i];
73+ for (var i = 0 ; i < T1_formalParameters .length; i++ ) {
74+ var T1_parameter = T1_formalParameters [i];
75+ var T2_parameter = T2_formalParameters [i];
7776
7877 if (T1_parameter .isPositional != T2_parameter .isPositional) {
7978 return false ;
@@ -83,7 +82,7 @@ class RuntimeTypeEqualityVisitor
8382 }
8483
8584 if (T1_parameter .isNamed) {
86- if (T1_parameter .name != T2_parameter .name ) {
85+ if (T1_parameter .name3 != T2_parameter .name3 ) {
8786 return false ;
8887 }
8988 }
@@ -99,7 +98,7 @@ class RuntimeTypeEqualityVisitor
9998 @override
10099 bool visitInterfaceType (InterfaceType T1 , DartType T2 ) {
101100 if (T2 is InterfaceType &&
102- identical (T1 .element , T2 .element ) &&
101+ identical (T1 .element3 , T2 .element3 ) &&
103102 _compatibleNullability (T1 , T2 )) {
104103 var T1_typeArguments = T1 .typeArguments;
105104 var T2_typeArguments = T2 .typeArguments;
@@ -178,7 +177,7 @@ class RuntimeTypeEqualityVisitor
178177 bool visitTypeParameterType (TypeParameterType T1 , DartType T2 ) {
179178 return T2 is TypeParameterType &&
180179 _compatibleNullability (T1 , T2 ) &&
181- identical (T1 .element , T2 .element );
180+ identical (T1 .element3 , T2 .element3 );
182181 }
183182
184183 @override
@@ -194,18 +193,17 @@ class RuntimeTypeEqualityVisitor
194193 /// returns a [_TypeParametersResult] indicating the substitutions necessary
195194 /// to demonstrate their equality. If they aren't, returns `null` .
196195 _TypeParametersResult ? _typeParameters (
197- List <TypeParameterElement > T1_parameters ,
198- List <TypeParameterElement > T2_parameters ,
196+ List <TypeParameterElement2 > T1_parameters ,
197+ List <TypeParameterElement2 > T2_parameters ,
199198 ) {
200199 if (T1_parameters .length != T2_parameters .length) {
201200 return null ;
202201 }
203202
204- var newParameters = < TypeParameterElementImpl > [];
203+ var newParameters = < TypeParameterElementImpl2 > [];
205204 var newTypes = < TypeParameterType > [];
206205 for (var i = 0 ; i < T1_parameters .length; i++ ) {
207- var name = T1_parameters [i].name;
208- var newParameter = TypeParameterElementImpl .synthetic (name);
206+ var newParameter = T1_parameters [i].freshCopy ();
209207 newParameters.add (newParameter);
210208
211209 var newType = newParameter.instantiate (
@@ -214,8 +212,8 @@ class RuntimeTypeEqualityVisitor
214212 newTypes.add (newType);
215213 }
216214
217- var T1_substitution = Substitution .fromPairs (T1_parameters , newTypes);
218- var T2_substitution = Substitution .fromPairs (T2_parameters , newTypes);
215+ var T1_substitution = Substitution .fromPairs2 (T1_parameters , newTypes);
216+ var T2_substitution = Substitution .fromPairs2 (T2_parameters , newTypes);
219217 for (var i = 0 ; i < T1_parameters .length; i++ ) {
220218 var T1_parameter = T1_parameters [i];
221219 var T2_parameter = T2_parameters [i];
0 commit comments