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-
75import 'package:_fe_analyzer_shared/src/type_inference/type_analyzer_operations.dart' ;
8- import 'package:analyzer/dart/element/element.dart' ;
96import 'package:analyzer/dart/element/element2.dart' ;
107import 'package:analyzer/dart/element/type.dart' ;
118import 'package:analyzer/src/dart/ast/ast.dart' ;
@@ -27,52 +24,52 @@ class DefaultTypesBuilder {
2724 void build (List <AstNode > nodes) {
2825 for (var node in nodes) {
2926 if (node is ClassDeclaration ) {
30- var element = node.declaredElement ! ;
27+ var element = node.declaredFragment ! .element ;
3128 _breakSelfCycles (node.typeParameters);
3229 _breakRawTypeCycles (element, node.typeParameters);
3330 _computeBounds (element, node.typeParameters);
3431 } else if (node is ClassTypeAlias ) {
35- var element = node.declaredElement ! ;
32+ var element = node.declaredFragment ! .element ;
3633 _breakSelfCycles (node.typeParameters);
3734 _breakRawTypeCycles (element, node.typeParameters);
3835 _computeBounds (element, node.typeParameters);
3936 } else if (node is EnumDeclaration ) {
40- var element = node.declaredElement ! ;
37+ var element = node.declaredFragment ! .element ;
4138 _breakSelfCycles (node.typeParameters);
4239 _breakRawTypeCycles (element, node.typeParameters);
4340 _computeBounds (element, node.typeParameters);
4441 } else if (node is ExtensionDeclaration ) {
45- var element = node.declaredElement ! ;
42+ var element = node.declaredFragment ! .element ;
4643 _breakSelfCycles (node.typeParameters);
4744 _breakRawTypeCycles (element, node.typeParameters);
4845 _computeBounds (element, node.typeParameters);
4946 } else if (node is ExtensionTypeDeclaration ) {
50- var element = node.declaredElement ! ;
47+ var element = node.declaredFragment ! .element ;
5148 _breakSelfCycles (node.typeParameters);
5249 _breakRawTypeCycles (element, node.typeParameters);
5350 _computeBounds (element, node.typeParameters);
5451 } else if (node is FunctionTypeAlias ) {
55- var element = node.declaredElement ! ;
52+ var element = node.declaredFragment ! .element ;
5653 _breakSelfCycles (node.typeParameters);
5754 _breakRawTypeCycles (element, node.typeParameters);
5855 _computeBounds (element, node.typeParameters);
5956 } else if (node is GenericTypeAlias ) {
60- var element = node.declaredElement ! ;
57+ var element = node.declaredFragment ! .element ;
6158 _breakSelfCycles (node.typeParameters);
6259 _breakRawTypeCycles (element, node.typeParameters);
6360 _computeBounds (element, node.typeParameters);
6461 } else if (node is MixinDeclaration ) {
65- var element = node.declaredElement ! ;
62+ var element = node.declaredFragment ! .element ;
6663 _breakSelfCycles (node.typeParameters);
6764 _breakRawTypeCycles (element, node.typeParameters);
6865 _computeBounds (element, node.typeParameters);
6966 } else if (node is MethodDeclaration ) {
70- var element = node.declaredElement ! ;
67+ var element = node.declaredFragment ! .element ;
7168 _breakSelfCycles (node.typeParameters);
7269 _breakRawTypeCycles (element, node.typeParameters);
7370 _computeBounds (element, node.typeParameters);
7471 } else if (node is FunctionDeclaration ) {
75- var element = node.declaredElement ! ;
72+ var element = node.declaredFragment ! .element ;
7673 _breakSelfCycles (node.functionExpression.typeParameters);
7774 _breakRawTypeCycles (element, node.functionExpression.typeParameters);
7875 _computeBounds (element, node.functionExpression.typeParameters);
@@ -104,7 +101,7 @@ class DefaultTypesBuilder {
104101 }
105102
106103 void _breakRawTypeCycles (
107- Element declarationElement,
104+ Element2 declarationElement,
108105 TypeParameterList ? parameterList,
109106 ) {
110107 if (parameterList == null ) return ;
@@ -118,7 +115,7 @@ class DefaultTypesBuilder {
118115 parameter,
119116 boundNode.typeOrThrow,
120117 declarationElement,
121- Set <Element >.identity (),
118+ Set <Element2 >.identity (),
122119 );
123120 allCycles.addAll (cycles);
124121 }
@@ -181,7 +178,7 @@ class DefaultTypesBuilder {
181178 if (parameterList == null ) return ;
182179
183180 for (var parameter in parameterList.typeParameters) {
184- var element = parameter.declaredElement as TypeParameterElementImpl ;
181+ var element = parameter.declaredFragment as TypeParameterElementImpl ;
185182 var defaultType = element.defaultType;
186183 if (defaultType is TypeBuilder ) {
187184 var builtType = defaultType.build ();
@@ -193,7 +190,7 @@ class DefaultTypesBuilder {
193190 /// Compute bounds to be provided as type arguments in place of missing type
194191 /// arguments on raw types with the given type parameters.
195192 void _computeBounds (
196- Element declarationElement,
193+ Element2 declarationElement,
197194 TypeParameterList ? parameterList,
198195 ) {
199196 if (parameterList == null ) return ;
@@ -203,19 +200,19 @@ class DefaultTypesBuilder {
203200
204201 var nodes = parameterList.typeParameters;
205202 var length = nodes.length;
206- var elements = < TypeParameterElementImpl > [];
203+ var elements = < TypeParameterElementImpl2 > [];
207204 var bounds = < DartType > [];
208205 for (int i = 0 ; i < length; i++ ) {
209206 var node = nodes[i];
210- elements.add (node.declaredElement as TypeParameterElementImpl );
207+ elements.add (node.declaredFragment ! .element as TypeParameterElementImpl2 );
211208 bounds.add (node.bound? .type ?? dynamicType);
212209 }
213210
214211 var graph = _TypeParametersGraph (elements, bounds);
215212 var stronglyConnected = computeStrongComponents (graph);
216213 for (var component in stronglyConnected) {
217- var dynamicSubstitution = < TypeParameterElement , DartType > {};
218- var nullSubstitution = < TypeParameterElement , DartType > {};
214+ var dynamicSubstitution = < TypeParameterElement2 , DartType > {};
215+ var nullSubstitution = < TypeParameterElement2 , DartType > {};
219216 for (var i in component) {
220217 var element = elements[i];
221218 dynamicSubstitution[element] = dynamicType;
@@ -234,8 +231,8 @@ class DefaultTypesBuilder {
234231 }
235232
236233 for (var i = 0 ; i < length; i++ ) {
237- var thisSubstitution = < TypeParameterElement , DartType > {};
238- var nullSubstitution = < TypeParameterElement , DartType > {};
234+ var thisSubstitution = < TypeParameterElement2 , DartType > {};
235+ var nullSubstitution = < TypeParameterElement2 , DartType > {};
239236 var element = elements[i];
240237 thisSubstitution[element] = bounds[i];
241238 nullSubstitution[element] = bottomType;
@@ -253,7 +250,7 @@ class DefaultTypesBuilder {
253250
254251 // Set computed TypeBuilder(s) as default types.
255252 for (var i = 0 ; i < length; i++ ) {
256- var element = nodes[i].declaredElement as TypeParameterElementImpl ;
253+ var element = nodes[i].declaredFragment as TypeParameterElementImpl ;
257254 element.defaultType = bounds[i];
258255 }
259256 }
@@ -263,21 +260,21 @@ class DefaultTypesBuilder {
263260 List <List <_CycleElement >> _findRawTypePathsToDeclaration (
264261 TypeParameter startParameter,
265262 DartType startType,
266- Element end,
267- Set <Element > visited,
263+ Element2 end,
264+ Set <Element2 > visited,
268265 ) {
269266 var paths = < List <_CycleElement >> [];
270267 if (startType is NamedTypeBuilder ) {
271- var declaration = startType.element ;
268+ var declaration = startType.element3 ;
272269 if (startType.arguments.isEmpty) {
273- if (startType.element == end) {
270+ if (startType.element3 == end) {
274271 paths.add ([
275272 _CycleElement (startParameter, startType),
276273 ]);
277- } else if (visited.add (startType.element )) {
278- void recurseParameters (List <TypeParameterElement > parameters) {
274+ } else if (visited.add (startType.element3 )) {
275+ void recurseParameters (List <TypeParameterElement2 > parameters) {
279276 for (var parameter in parameters) {
280- var parameterNode = _linker.getLinkingNode (parameter);
277+ var parameterNode = _linker.getLinkingNode2 (parameter);
281278 if (parameterNode is TypeParameter ) {
282279 var bound = parameterNode.bound;
283280 if (bound != null ) {
@@ -298,12 +295,12 @@ class DefaultTypesBuilder {
298295 }
299296 }
300297
301- if (declaration is InterfaceElement ) {
302- recurseParameters (declaration.typeParameters );
303- } else if (declaration is TypeAliasElement ) {
304- recurseParameters (declaration.typeParameters );
298+ if (declaration is InterfaceElement2 ) {
299+ recurseParameters (declaration.typeParameters2 );
300+ } else if (declaration is TypeAliasElement2 ) {
301+ recurseParameters (declaration.typeParameters2 );
305302 }
306- visited.remove (startType.element );
303+ visited.remove (startType.element3 );
307304 }
308305 } else {
309306 for (var argument in startType.arguments) {
@@ -326,7 +323,7 @@ class DefaultTypesBuilder {
326323 visited,
327324 ),
328325 );
329- for (var typeParameter in startType.typeFormals ) {
326+ for (var typeParameter in startType.typeParameters ) {
330327 var bound = typeParameter.bound;
331328 if (bound != null ) {
332329 paths.addAll (
@@ -339,7 +336,7 @@ class DefaultTypesBuilder {
339336 );
340337 }
341338 }
342- for (var formalParameter in startType.parameters ) {
339+ for (var formalParameter in startType.formalParameters ) {
343340 paths.addAll (
344341 _findRawTypePathsToDeclaration (
345342 startParameter,
@@ -372,10 +369,10 @@ class _TypeParametersGraph implements Graph<int> {
372369 // the type parameter with the index `i` in their bounds.
373370 final List <List <int >> _edges = [];
374371
375- final Map <TypeParameterElement , int > _parameterToIndex = Map .identity ();
372+ final Map <TypeParameterElement2 , int > _parameterToIndex = Map .identity ();
376373
377374 _TypeParametersGraph (
378- List <TypeParameterElement > parameters,
375+ List <TypeParameterElement2 > parameters,
379376 List <DartType > bounds,
380377 ) {
381378 assert (parameters.length == bounds.length);
@@ -400,10 +397,10 @@ class _TypeParametersGraph implements Graph<int> {
400397 /// Collect references to the [index] th type parameter from the [type] .
401398 void _collectReferencesFrom (int index, DartType ? type) {
402399 if (type is FunctionTypeBuilder ) {
403- for (var parameter in type.typeFormals ) {
400+ for (var parameter in type.typeParameters ) {
404401 _collectReferencesFrom (index, parameter.bound);
405402 }
406- for (var parameter in type.parameters ) {
403+ for (var parameter in type.formalParameters ) {
407404 _collectReferencesFrom (index, parameter.type);
408405 }
409406 _collectReferencesFrom (index, type.returnType);
@@ -412,7 +409,7 @@ class _TypeParametersGraph implements Graph<int> {
412409 _collectReferencesFrom (index, argument);
413410 }
414411 } else if (type is TypeParameterType ) {
415- var typeIndex = _parameterToIndex[type.element ];
412+ var typeIndex = _parameterToIndex[type.element3 ];
416413 if (typeIndex != null ) {
417414 _edges[typeIndex].add (index);
418415 }
@@ -421,13 +418,13 @@ class _TypeParametersGraph implements Graph<int> {
421418}
422419
423420class _UpperLowerReplacementVisitor extends ReplacementVisitor {
424- final Map <TypeParameterElement , DartType > _upper;
425- final Map <TypeParameterElement , DartType > _lower;
421+ final Map <TypeParameterElement2 , DartType > _upper;
422+ final Map <TypeParameterElement2 , DartType > _lower;
426423 Variance _variance;
427424
428425 _UpperLowerReplacementVisitor ({
429- required Map <TypeParameterElement , DartType > upper,
430- required Map <TypeParameterElement , DartType > lower,
426+ required Map <TypeParameterElement2 , DartType > upper,
427+ required Map <TypeParameterElement2 , DartType > lower,
431428 required Variance variance,
432429 }) : _upper = upper,
433430 _lower = lower,
@@ -465,9 +462,9 @@ class _UpperLowerReplacementVisitor extends ReplacementVisitor {
465462 @override
466463 DartType ? visitTypeParameterType (TypeParameterType type) {
467464 if (_variance == Variance .contravariant) {
468- return _lower[type.element ];
465+ return _lower[type.element3 ];
469466 } else {
470- return _upper[type.element ];
467+ return _upper[type.element3 ];
471468 }
472469 }
473470}
0 commit comments