Skip to content

Commit 134c8db

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Migrate RuntimeTypeEqualityHelper.
Change-Id: Ib08094a477143a2a92df61deaea15c44b0748a5c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/405601 Reviewed-by: Phil Quitslund <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent 70b876b commit 134c8db

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

pkg/analyzer/lib/src/dart/element/runtime_type_equality.dart

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,15 @@
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';
86
import 'package:analyzer/dart/element/nullability_suffix.dart';
97
import 'package:analyzer/dart/element/type.dart';
108
import 'package:analyzer/dart/element/type_visitor.dart';
119
import 'package:analyzer/src/dart/element/element.dart';
1210
import 'package:analyzer/src/dart/element/type.dart';
1311
import 'package:analyzer/src/dart/element/type_algebra.dart';
1412
import 'package:analyzer/src/dart/element/type_system.dart';
13+
import 'package:analyzer/src/utilities/extensions/element.dart';
1514

1615
class 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

Comments
 (0)