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:analyzer/dart/analysis/features.dart' ;
86import 'package:analyzer/dart/ast/token.dart' ;
9- import 'package:analyzer/dart/element/element.dart' ;
107import 'package:analyzer/dart/element/element2.dart' ;
118import 'package:analyzer/error/error.dart' ;
129import 'package:analyzer/error/listener.dart' ;
@@ -361,13 +358,13 @@ class DuplicateDefinitionVerifier {
361358
362359/// Information to pass from declarations to augmentations.
363360class DuplicationDefinitionContext {
364- final Map <InstanceElement , _InstanceElementContext > _instanceElementContexts =
365- {};
361+ final Map <InstanceElementImpl , _InstanceElementContext >
362+ _instanceElementContexts = {};
366363}
367364
368365class MemberDuplicateDefinitionVerifier {
369366 final InheritanceManager3 _inheritanceManager;
370- final LibraryElement _currentLibrary;
367+ final LibraryElementImpl _currentLibrary;
371368 final CompilationUnitElementImpl _currentUnit;
372369 final ErrorReporter _errorReporter;
373370 final DuplicationDefinitionContext context;
@@ -436,7 +433,7 @@ class MemberDuplicateDefinitionVerifier {
436433 element: field.declaredFragment! ,
437434 setterScope: member.isStatic ? staticSetters : instanceSetters,
438435 );
439- if (fragment is EnumElement ) {
436+ if (fragment is EnumElementImpl ) {
440437 _checkValuesDeclarationInEnum (field.name);
441438 }
442439 }
@@ -447,7 +444,7 @@ class MemberDuplicateDefinitionVerifier {
447444 element: member.declaredFragment! ,
448445 setterScope: member.isStatic ? staticSetters : instanceSetters,
449446 );
450- if (fragment is EnumElement ) {
447+ if (fragment is EnumElementImpl ) {
451448 if (! (member.isStatic && member.isSetter)) {
452449 _checkValuesDeclarationInEnum (member.name);
453450 }
@@ -517,14 +514,14 @@ class MemberDuplicateDefinitionVerifier {
517514 }
518515
519516 void _checkConflictingConstructorAndStatic ({
520- required InterfaceElement interfaceElement,
521- required Map <String , Element > staticGetters,
522- required Map <String , Element > staticSetters,
517+ required InterfaceElementImpl interfaceElement,
518+ required Map <String , ElementImpl > staticGetters,
519+ required Map <String , ElementImpl > staticSetters,
523520 }) {
524521 for (var constructor in interfaceElement.constructors) {
525522 var name = constructor.name;
526523 var staticMember = staticGetters[name] ?? staticSetters[name];
527- if (staticMember is PropertyAccessorElement ) {
524+ if (staticMember is PropertyAccessorElementImpl ) {
528525 CompileTimeErrorCode errorCode;
529526 if (staticMember.isSynthetic) {
530527 errorCode =
@@ -541,7 +538,7 @@ class MemberDuplicateDefinitionVerifier {
541538 errorCode,
542539 arguments: [name],
543540 );
544- } else if (staticMember is MethodElement ) {
541+ } else if (staticMember is MethodElementImpl ) {
545542 _errorReporter.atElement2 (
546543 constructor.asElement2,
547544 CompileTimeErrorCode .CONFLICTING_CONSTRUCTOR_AND_STATIC_METHOD ,
@@ -555,27 +552,27 @@ class MemberDuplicateDefinitionVerifier {
555552 /// in one of the scopes - [getterScope] or [setterScope] , and produce an
556553 /// error if it is.
557554 void _checkDuplicateIdentifier (
558- Map <String , Element > getterScope, Token identifier,
559- {required Element element, Map <String , Element >? setterScope}) {
555+ Map <String , ElementImpl > getterScope, Token identifier,
556+ {required ElementImpl element, Map <String , ElementImpl >? setterScope}) {
560557 if (identifier.isSynthetic || element.asElement2.isWildcardVariable) {
561558 return ;
562559 }
563560
564561 switch (element) {
565- case ExecutableElement _:
562+ case ExecutableElementImpl _:
566563 if (element.isAugmentation) return ;
567- case FieldElement _:
564+ case FieldElementImpl _:
568565 if (element.isAugmentation) return ;
569- case InstanceElement _:
566+ case InstanceElementImpl _:
570567 if (element.isAugmentation) return ;
571- case TypeAliasElement _:
568+ case TypeAliasElementImpl _:
572569 if (element.isAugmentation) return ;
573- case TopLevelVariableElement _:
570+ case TopLevelVariableElementImpl _:
574571 if (element.isAugmentation) return ;
575572 }
576573
577574 // Fields define getters and setters, so check them separately.
578- if (element is PropertyInducingElement ) {
575+ if (element is PropertyInducingElementImpl ) {
579576 _checkDuplicateIdentifier (getterScope, identifier,
580577 element: element.getter! , setterScope: setterScope);
581578 var setter = element.setter;
@@ -587,7 +584,7 @@ class MemberDuplicateDefinitionVerifier {
587584 }
588585
589586 var name = switch (element) {
590- MethodElement () => element.name,
587+ MethodElementImpl () => element.name,
591588 _ => identifier.lexeme,
592589 };
593590
@@ -608,7 +605,7 @@ class MemberDuplicateDefinitionVerifier {
608605 }
609606
610607 if (setterScope != null ) {
611- if (element is PropertyAccessorElement && element.isSetter) {
608+ if (element is PropertyAccessorElementImpl && element.isSetter) {
612609 previous = setterScope[name];
613610 if (previous != null ) {
614611 _errorReporter.reportError (
@@ -665,7 +662,7 @@ class MemberDuplicateDefinitionVerifier {
665662 }
666663 var baseName = accessor.displayName;
667664 var inherited = _getInheritedMember (firstFragment, baseName);
668- if (inherited is MethodElement ) {
665+ if (inherited is MethodElementImpl ) {
669666 _errorReporter.atElement2 (
670667 accessor.asElement2,
671668 CompileTimeErrorCode .CONFLICTING_FIELD_AND_METHOD ,
@@ -687,7 +684,7 @@ class MemberDuplicateDefinitionVerifier {
687684 }
688685 var baseName = method.displayName;
689686 var inherited = _getInheritedMember (firstFragment, baseName);
690- if (inherited is PropertyAccessorElement ) {
687+ if (inherited is PropertyAccessorElementImpl ) {
691688 _errorReporter.atElement2 (
692689 method.asElement2,
693690 CompileTimeErrorCode .CONFLICTING_METHOD_AND_FIELD ,
@@ -862,13 +859,13 @@ class MemberDuplicateDefinitionVerifier {
862859 }
863860 }
864861
865- _InstanceElementContext _getElementContext (InstanceElement element) {
862+ _InstanceElementContext _getElementContext (InstanceElementImpl element) {
866863 return context._instanceElementContexts[element] ?? =
867864 _InstanceElementContext ();
868865 }
869866
870- ExecutableElement ? _getInheritedMember (
871- InterfaceElement element, String baseName) {
867+ ExecutableElementOrMember ? _getInheritedMember (
868+ InterfaceElementImpl element, String baseName) {
872869 var libraryUri = _currentLibrary.source.uri;
873870
874871 var getterName = Name (libraryUri, baseName);
@@ -881,8 +878,8 @@ class MemberDuplicateDefinitionVerifier {
881878 return _inheritanceManager.getInherited2 (element, setterName);
882879 }
883880
884- ExecutableElement ? _getInterfaceMember (
885- InterfaceElement element, String baseName) {
881+ ExecutableElementOrMember ? _getInterfaceMember (
882+ InterfaceElementImpl element, String baseName) {
886883 var libraryUri = _currentLibrary.source.uri;
887884
888885 var getterName = Name (libraryUri, baseName);
@@ -898,7 +895,7 @@ class MemberDuplicateDefinitionVerifier {
898895 static void checkLibrary ({
899896 required InheritanceManager3 inheritance,
900897 required LibraryVerificationContext libraryVerificationContext,
901- required LibraryElement libraryElement,
898+ required LibraryElementImpl libraryElement,
902899 required Map <FileState , FileAnalysis > files,
903900 }) {
904901 MemberDuplicateDefinitionVerifier forUnit (FileAnalysis fileAnalysis) {
@@ -922,8 +919,8 @@ class MemberDuplicateDefinitionVerifier {
922919 }
923920 }
924921
925- static bool _isGetterSetterPair (Element a, Element b) {
926- if (a is PropertyAccessorElement && b is PropertyAccessorElement ) {
922+ static bool _isGetterSetterPair (ElementImpl a, ElementImpl b) {
923+ if (a is PropertyAccessorElementImpl && b is PropertyAccessorElementImpl ) {
927924 return a.isGetter && b.isSetter || a.isSetter && b.isGetter;
928925 }
929926 return false ;
@@ -933,8 +930,8 @@ class MemberDuplicateDefinitionVerifier {
933930/// Information accumulated for a single declaration and its augmentations.
934931class _InstanceElementContext {
935932 final Set <String > constructorNames = {};
936- final Map <String , Element > instanceGetters = {};
937- final Map <String , Element > instanceSetters = {};
938- final Map <String , Element > staticGetters = {};
939- final Map <String , Element > staticSetters = {};
933+ final Map <String , ElementImpl > instanceGetters = {};
934+ final Map <String , ElementImpl > instanceSetters = {};
935+ final Map <String , ElementImpl > staticGetters = {};
936+ final Map <String , ElementImpl > staticSetters = {};
940937}
0 commit comments