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/util/dependency_walker.dart' as graph
86 show DependencyWalker, Node;
9- import 'package:analyzer/dart/ast/ast .dart' ;
10- import 'package:analyzer/dart/element/element .dart' ;
7+ import 'package:analyzer/dart/element/element2 .dart' ;
8+ import 'package:analyzer/src/ dart/ast/ast .dart' ;
119import 'package:analyzer/src/dart/ast/extensions.dart' ;
12- import 'package:analyzer/src/dart/element/element.dart' ;
1310import 'package:analyzer/src/summary2/link.dart' ;
1411
1512/// Compute simple-boundedness for all classes and generic types aliases in
@@ -19,53 +16,52 @@ void computeSimplyBounded(Linker linker) {
1916 var walker = SimplyBoundedDependencyWalker (linker);
2017 var nodes = < SimplyBoundedNode > [];
2118 for (var libraryBuilder in linker.builders.values) {
22- for (var unit in libraryBuilder.element.units) {
23- for (var element in unit.classes) {
24- var node = walker.getNode (element);
25- nodes.add (node);
26- }
27- for (var element in unit.enums) {
28- var node = walker.getNode (element);
29- nodes.add (node);
30- }
31- for (var element in unit.extensionTypes) {
32- var node = walker.getNode (element);
33- nodes.add (node);
34- }
35- for (var element in unit.mixins) {
36- var node = walker.getNode (element);
37- nodes.add (node);
38- }
39- for (var element in unit.typeAliases) {
40- var node = walker.getNode (element);
41- nodes.add (node);
42- }
19+ var libraryElement = libraryBuilder.element;
20+ for (var element in libraryElement.classes) {
21+ var node = walker.getNode (element);
22+ nodes.add (node);
23+ }
24+ for (var element in libraryElement.enums) {
25+ var node = walker.getNode (element);
26+ nodes.add (node);
27+ }
28+ for (var element in libraryElement.extensionTypes) {
29+ var node = walker.getNode (element);
30+ nodes.add (node);
31+ }
32+ for (var element in libraryElement.mixins) {
33+ var node = walker.getNode (element);
34+ nodes.add (node);
35+ }
36+ for (var element in libraryElement.typeAliases) {
37+ var node = walker.getNode (element);
38+ nodes.add (node);
4339 }
4440 }
4541
4642 for (var node in nodes) {
4743 walker.walk (node);
4844 var node2 = node._node;
49- if (node2 is ClassDeclaration ) {
50- var element = node2.declaredElement as ClassElementImpl ;
45+ if (node2 is ClassDeclarationImpl ) {
46+ var element = node2.declaredFragment ! .element ;
5147 element.isSimplyBounded = node.isSimplyBounded;
52- } else if (node2 is ClassTypeAlias ) {
53- var element = node2.declaredElement as ClassElementImpl ;
48+ } else if (node2 is ClassTypeAliasImpl ) {
49+ var element = node2.declaredFragment ! .element ;
5450 element.isSimplyBounded = node.isSimplyBounded;
55- } else if (node2 is EnumDeclaration ) {
56- var element = node2.declaredElement as EnumElementImpl ;
51+ } else if (node2 is EnumDeclarationImpl ) {
52+ var element = node2.declaredFragment ! .element ;
5753 element.isSimplyBounded = node.isSimplyBounded;
58- } else if (node2 is ExtensionTypeDeclaration ) {
59- var element = node2.declaredElement as ExtensionTypeElementImpl ;
54+ } else if (node2 is ExtensionTypeDeclarationImpl ) {
55+ var element = node2.declaredFragment ! .element ;
6056 element.isSimplyBounded = node.isSimplyBounded;
61- } else if (node2 is GenericTypeAlias ) {
62- var element = node2.declaredElement as TypeAliasElementImpl ;
57+ } else if (node2 is GenericTypeAliasImpl ) {
58+ var element = node2.declaredFragment ! .element ;
6359 element.isSimplyBounded = node.isSimplyBounded;
64- } else if (node2 is FunctionTypeAlias ) {
65- var element = node2.declaredElement as TypeAliasElementImpl ;
60+ } else if (node2 is FunctionTypeAliasImpl ) {
61+ var element = node2.declaredFragment ! .element ;
6662 element.isSimplyBounded = node.isSimplyBounded;
67- } else if (node2 is MixinDeclaration ) {
68- var element = node2.declaredElement as MixinElementImpl ;
63+ } else if (node2 is MixinDeclarationImpl ) {
64+ var element = node2.declaredFragment ! .element ;
6965 element.isSimplyBounded = node.isSimplyBounded;
7066 } else {
7167 throw UnimplementedError ('${node2 .runtimeType }' );
@@ -77,7 +73,7 @@ void computeSimplyBounded(Linker linker) {
7773class SimplyBoundedDependencyWalker
7874 extends graph.DependencyWalker <SimplyBoundedNode > {
7975 final Linker linker;
80- final Map <Element , SimplyBoundedNode > nodeMap = Map .identity ();
76+ final Map <Element2 , SimplyBoundedNode > nodeMap = Map .identity ();
8177
8278 SimplyBoundedDependencyWalker (this .linker);
8379
@@ -93,10 +89,10 @@ class SimplyBoundedDependencyWalker
9389 }
9490 }
9591
96- SimplyBoundedNode getNode (Element element) {
92+ SimplyBoundedNode getNode (Element2 element) {
9793 var graphNode = nodeMap[element];
9894 if (graphNode == null ) {
99- var node = linker.getLinkingNode (element);
95+ var node = linker.getLinkingNode2 (element);
10096 if (node is ClassDeclaration ) {
10197 var parameters = node.typeParameters? .typeParameters;
10298 graphNode = SimplyBoundedNode (
@@ -287,9 +283,9 @@ class SimplyBoundedNode extends graph.Node<SimplyBoundedNode> {
287283 bool _visitType (List <SimplyBoundedNode > dependencies, TypeAnnotation type,
288284 bool allowTypeParameters) {
289285 if (type is NamedType ) {
290- var element = type.element ;
286+ var element = type.element2 ;
291287
292- if (element is TypeParameterElement ) {
288+ if (element is TypeParameterElement2 ) {
293289 return allowTypeParameters;
294290 }
295291
@@ -299,7 +295,7 @@ class SimplyBoundedNode extends graph.Node<SimplyBoundedNode> {
299295
300296 // If not a node being linked, then the flag is already set.
301297 if (graphNode == null ) {
302- if (element is TypeParameterizedElement ) {
298+ if (element is TypeParameterizedElement2 ) {
303299 return element.isSimplyBounded;
304300 }
305301 return true ;
0 commit comments