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:convert' ;
86
97import 'package:analyzer/dart/element/element.dart' ;
@@ -24,10 +22,11 @@ import 'package:dartdoc/src/warnings.dart';
2422/// Getters and setters.
2523class Accessor extends ModelElement {
2624 @override
27- final PropertyAccessorElement element;
25+ // ignore: analyzer_use_new_elements
26+ PropertyAccessorElement get element => element2.asElement;
2827
2928 @override
30- PropertyAccessorElement2 get element2 => element.asElement2 ;
29+ final PropertyAccessorElement2 element2;
3130
3231 /// The combo ([Field] or [TopLevelVariable] ) containing this accessor.
3332 ///
@@ -37,11 +36,11 @@ class Accessor extends ModelElement {
3736 // initialized by code inside this library.
3837 late final GetterSetterCombo enclosingCombo;
3938
40- Accessor (this .element , super .library, super .packageGraph,
39+ Accessor (this .element2 , super .library, super .packageGraph,
4140 {ExecutableMember ? super .originalMember});
4241
4342 @override
44- CharacterLocation ? get characterLocation => element .isSynthetic
43+ CharacterLocation ? get characterLocation => element2 .isSynthetic
4544 ? enclosingCombo.characterLocation
4645 : super .characterLocation;
4746
@@ -50,19 +49,19 @@ class Accessor extends ModelElement {
5049 super .originalMember as ExecutableMember ? ;
5150
5251 late final Callable modelType =
53- getTypeFor ((originalMember ?? element ).type, library) as Callable ;
52+ getTypeFor ((originalMember ?? element2 ).type, library) as Callable ;
5453
55- bool get isSynthetic => element .isSynthetic;
54+ bool get isSynthetic => element2 .isSynthetic;
5655
5756 /// The [enclosingCombo] where this element was defined.
5857 late final GetterSetterCombo definingCombo =
59- getModelForElement (element.variable2 ! ) as GetterSetterCombo ;
58+ getModelForElement2 (element2.variable3 ! ) as GetterSetterCombo ;
6059
6160 String get _sourceCode {
6261 if (! isSynthetic) {
6362 return super .sourceCode;
6463 }
65- var modelNode = packageGraph.getModelNodeFor (definingCombo.element );
64+ var modelNode = packageGraph.getModelNodeFor2 (definingCombo.element2 );
6665 return modelNode == null
6766 ? ''
6867 : const HtmlEscape ().convert (modelNode.sourceCode);
@@ -108,7 +107,7 @@ class Accessor extends ModelElement {
108107 @override
109108 bool get hasDocumentationComment => isSynthetic
110109 ? _hasSyntheticDocumentationComment
111- : element .documentationComment != null ;
110+ : element2 .documentationComment != null ;
112111
113112 @override
114113 void warn (
@@ -124,10 +123,10 @@ class Accessor extends ModelElement {
124123 }
125124
126125 @override
127- ModelElement get enclosingElement => switch (element.enclosingElement3 ) {
128- CompilationUnitElement enclosingCompilationUnit =>
129- getModelForElement (enclosingCompilationUnit.library ),
130- _ => getModelFor (element.enclosingElement3 , library)
126+ ModelElement get enclosingElement => switch (element2.enclosingElement2 ) {
127+ LibraryFragment enclosingCompilationUnit =>
128+ getModelForElement2 (enclosingCompilationUnit.element ),
129+ _ => getModelFor2 (element2.enclosingElement2 ! , library)
131130 };
132131
133132 @override
@@ -154,9 +153,9 @@ class Accessor extends ModelElement {
154153 @override
155154 String ? get href => enclosingCombo.href;
156155
157- bool get isGetter => element.isGetter ;
156+ bool get isGetter => element2 is GetterElement ;
158157
159- bool get isSetter => element.isSetter ;
158+ bool get isSetter => element2 is SetterElement ;
160159
161160 @override
162161 Kind get kind => Kind .accessor;
@@ -214,24 +213,28 @@ class ContainerAccessor extends Accessor with ContainerMember, Inheritable {
214213 @override
215214 ContainerAccessor ? get overriddenElement {
216215 assert (packageGraph.allLibrariesAdded);
217- final parent = element.enclosingElement3 ;
218- if (parent is ! InterfaceElement ) {
216+ final parent = element2.enclosingElement2 ;
217+ if (parent is ! InterfaceElement2 ) {
219218 return null ;
220219 }
221220 for (final supertype in parent.allSupertypes) {
222221 var accessor = isGetter
223- ? supertype.getGetter (element.name)? .declaration
224- : supertype.getSetter (element.name)? .declaration;
222+ ? supertype.getters
223+ .firstWhereOrNull ((e) => e.lookupName == element2.lookupName)
224+ ? .baseElement
225+ : supertype.setters
226+ .firstWhereOrNull ((e) => e.lookupName == element2.lookupName)
227+ ? .baseElement;
225228 if (accessor == null ) {
226229 continue ;
227230 }
228231 final parentContainer =
229- getModelForElement (supertype.element ) as InheritingContainer ;
232+ getModelForElement2 (supertype.element3 ) as InheritingContainer ;
230233 final possibleFields =
231234 parentContainer.declaredFields.where ((f) => ! f.isStatic);
232- final fieldName = accessor.name .replaceFirst ('=' , '' );
235+ final fieldName = accessor.lookupName ? .replaceFirst ('=' , '' );
233236 final foundField =
234- possibleFields.firstWhereOrNull ((f) => f.element.name == fieldName);
237+ possibleFields.firstWhereOrNull ((f) => f.element2.name3 == fieldName);
235238 if (foundField == null ) {
236239 continue ;
237240 }
0 commit comments