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 'dart:collection' ;
86
97import 'package:analyzer/dart/ast/visitor.dart' ;
10- import 'package:analyzer/dart/element/element .dart' ;
8+ import 'package:analyzer/dart/element/element2 .dart' ;
119import 'package:analyzer/src/dart/ast/ast.dart' ;
1210import 'package:analyzer/src/dart/constant/evaluation.dart' ;
1311import 'package:analyzer/src/dart/element/element.dart' ;
14- import 'package:analyzer/src/utilities/extensions/element.dart' ;
1512
1613/// Callback used by [ReferenceFinder] to report that a dependency was found.
1714typedef ReferenceFinderCallback = void Function (
@@ -175,7 +172,8 @@ class ConstantFinder extends RecursiveAstVisitor<void> {
175172 }
176173
177174 @override
178- void visitEnumConstantDeclaration (covariant EnumConstantDeclarationImpl node) {
175+ void visitEnumConstantDeclaration (
176+ covariant EnumConstantDeclarationImpl node) {
179177 super .visitEnumConstantDeclaration (node);
180178
181179 var element = node.declaredFragment! ;
@@ -195,7 +193,7 @@ class ConstantFinder extends RecursiveAstVisitor<void> {
195193 if (initializer != null &&
196194 (node.isConst ||
197195 treatFinalInstanceVarAsConst &&
198- element is FieldElement &&
196+ element is FieldElementImpl &&
199197 node.isFinal &&
200198 ! element.isStatic)) {
201199 constantsToCompute.add (element);
@@ -226,9 +224,9 @@ class ReferenceFinder extends RecursiveAstVisitor<void> {
226224 @override
227225 void visitInstanceCreationExpression (InstanceCreationExpression node) {
228226 if (node.isConst) {
229- var constructor = node.constructorName.element? .baseElement.asElement ;
227+ var constructor = node.constructorName.element? .baseElement;
230228 if (constructor != null && constructor.isConst) {
231- _callback (constructor);
229+ _callback (constructor.firstFragment as ConstructorElementImpl );
232230 }
233231 }
234232 super .visitInstanceCreationExpression (node);
@@ -247,29 +245,31 @@ class ReferenceFinder extends RecursiveAstVisitor<void> {
247245 void visitRedirectingConstructorInvocation (
248246 RedirectingConstructorInvocation node) {
249247 super .visitRedirectingConstructorInvocation (node);
250- var target = node.element? .baseElement.asElement ;
248+ var target = node.element? .baseElement;
251249 if (target != null ) {
252- _callback (target);
250+ _callback (target.firstFragment as ConstructorElementImpl );
253251 }
254252 }
255253
256254 @override
257255 void visitSimpleIdentifier (SimpleIdentifier node) {
258- var staticElement = node.element? .asElement;
259- var element = staticElement is PropertyAccessorElement
260- ? staticElement.variable2
261- : staticElement;
262- if (element is VariableElement && element.isConst) {
263- _callback (element);
256+ var staticElement = node.element;
257+ var element = staticElement is GetterElement
258+ ? staticElement.variable3
259+ : staticElement is SetterElement
260+ ? staticElement.variable3
261+ : staticElement;
262+ if (element is VariableElement2 && element.isConst) {
263+ _callback (element.firstFragment as VariableElementImpl );
264264 }
265265 }
266266
267267 @override
268268 void visitSuperConstructorInvocation (SuperConstructorInvocation node) {
269269 super .visitSuperConstructorInvocation (node);
270- var constructor = node.element? .baseElement.asElement ;
270+ var constructor = node.element? .baseElement;
271271 if (constructor != null ) {
272- _callback (constructor);
272+ _callback (constructor.firstFragment as ConstructorElementImpl );
273273 }
274274 }
275275}
0 commit comments