Skip to content

Commit f45bf77

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Migrate GreatestLowerBoundHelper.
Change-Id: Id5fba157cdf8c574012262423b9707d1978e7dc3 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/405564 Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Phil Quitslund <[email protected]>
1 parent d333e26 commit f45bf77

File tree

1 file changed

+20
-18
lines changed

1 file changed

+20
-18
lines changed

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

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@
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';
9-
import 'package:analyzer/src/dart/element/element.dart';
107
import 'package:analyzer/src/dart/element/extensions.dart';
118
import 'package:analyzer/src/dart/element/type.dart';
129
import 'package:analyzer/src/dart/element/type_provider.dart';
@@ -267,27 +264,26 @@ class GreatestLowerBoundHelper {
267264

268265
// The bounds of type parameters must be equal.
269266
// Otherwise the result is `Never`.
270-
var fresh = _typeSystem.relateTypeParameters(f.typeFormals, g.typeFormals);
267+
var fresh = _typeSystem.relateTypeParameters2(
268+
f.typeParameters,
269+
g.typeParameters,
270+
);
271271
if (fresh == null) {
272272
return NeverTypeImpl.instance;
273273
}
274274

275275
f = f.instantiate(fresh.typeParameterTypes);
276276
g = g.instantiate(fresh.typeParameterTypes);
277277

278-
var fParameters = f.parameters;
279-
var gParameters = g.parameters;
278+
var fParameters = f.formalParameters;
279+
var gParameters = g.formalParameters;
280280

281-
var parameters = <ParameterElement>[];
281+
var parameters = <FormalParameterElement>[];
282282
var fIndex = 0;
283283
var gIndex = 0;
284284
while (fIndex < fParameters.length && gIndex < gParameters.length) {
285-
// TODO(paulberry): get rid of this cast by changing the type of
286-
// `FunctionTypeImpl.parameters` to `List<ParameterElementMixin>`.
287-
var fParameter = fParameters[fIndex] as ParameterElementMixin;
288-
// TODO(paulberry): get rid of this cast by changing the type of
289-
// `FunctionTypeImpl.parameters` to `List<ParameterElementMixin>`.
290-
var gParameter = gParameters[gIndex] as ParameterElementMixin;
285+
var fParameter = fParameters[fIndex];
286+
var gParameter = gParameters[gIndex];
291287
if (fParameter.isPositional) {
292288
if (gParameter.isPositional) {
293289
fIndex++;
@@ -308,7 +304,13 @@ class GreatestLowerBoundHelper {
308304
}
309305
} else if (fParameter.isNamed) {
310306
if (gParameter.isNamed) {
311-
var compareNames = fParameter.name.compareTo(gParameter.name);
307+
var fName = fParameter.name3;
308+
var gName = gParameter.name3;
309+
if (fName == null || gName == null) {
310+
return NeverTypeImpl.instance;
311+
}
312+
313+
var compareNames = fName.compareTo(gName);
312314
if (compareNames == 0) {
313315
fIndex++;
314316
gIndex++;
@@ -371,9 +373,9 @@ class GreatestLowerBoundHelper {
371373

372374
var returnType = getGreatestLowerBound(f.returnType, g.returnType);
373375

374-
return FunctionTypeImpl(
375-
typeFormals: fresh.typeParameters,
376-
parameters: parameters,
376+
return FunctionTypeImpl.v2(
377+
typeParameters: fresh.typeParameters,
378+
formalParameters: parameters,
377379
returnType: returnType,
378380
nullabilitySuffix: NullabilitySuffix.none,
379381
);

0 commit comments

Comments
 (0)