Skip to content

Commit 88ba99b

Browse files
authored
Replace getBasestElement() with Element.declaration (#2106)
1 parent 11af0bd commit 88ba99b

File tree

4 files changed

+4
-21
lines changed

4 files changed

+4
-21
lines changed

lib/src/model/accessor.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,7 @@ class ContainerAccessor extends Accessor with ContainerMember, Inheritable {
182182
? t.getGetter(element.name)
183183
: t.getSetter(element.name);
184184
if (accessor != null) {
185-
if (accessor is Member) {
186-
accessor = PackageGraph.getBasestElement(accessor);
187-
}
185+
accessor = accessor.declaration;
188186
Class parentClass =
189187
ModelElement.fromElement(t.element, packageGraph);
190188
List<Field> possibleFields = [];

lib/src/model/inheritable.dart

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'package:analyzer/dart/element/element.dart';
6-
import 'package:analyzer/src/dart/element/member.dart' show Member;
76
import 'package:dartdoc/src/model/model.dart';
87
import 'package:dartdoc/src/special_elements.dart';
98

@@ -41,10 +40,7 @@ mixin Inheritable on ContainerMember {
4140
@override
4241
Container computeCanonicalEnclosingContainer() {
4342
if (isInherited) {
44-
Element searchElement = element;
45-
searchElement = searchElement is Member
46-
? PackageGraph.getBasestElement(searchElement)
47-
: searchElement;
43+
Element searchElement = element.declaration;
4844
// TODO(jcollins-g): generate warning if an inherited element's definition
4945
// is in an intermediate non-canonical class in the inheritance chain?
5046
Class previous;

lib/src/model/model_element.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,8 @@ abstract class ModelElement extends Canonicalization
208208
// TODO(jcollins-g): Refactor object model to instantiate 'ModelMembers'
209209
// for members?
210210
if (e is Member) {
211-
var basest = PackageGraph.getBasestElement(e);
212211
originalMember = e;
213-
e = basest;
212+
e = e.declaration;
214213
}
215214
Tuple3<Element, Library, Container> key =
216215
Tuple3(e, library, enclosingContainer);

lib/src/model/package_graph.dart

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import 'package:analyzer/dart/analysis/session.dart';
99
import 'package:analyzer/dart/ast/ast.dart';
1010
import 'package:analyzer/dart/element/element.dart';
1111
import 'package:analyzer/src/dart/analysis/driver.dart';
12-
import 'package:analyzer/src/dart/element/member.dart';
1312
import 'package:analyzer/src/generated/sdk.dart';
1413
import 'package:analyzer/src/generated/source.dart';
1514
import 'package:analyzer/src/generated/source_io.dart';
@@ -672,15 +671,6 @@ class PackageGraph {
672671
return _canonicalLibraryFor[e];
673672
}
674673

675-
// TODO(jcollins-g): Revise when dart-lang/sdk#29600 is fixed.
676-
static Element getBasestElement(Element possibleMember) {
677-
Element element = possibleMember;
678-
while (element is Member) {
679-
element = (element as Member).declaration;
680-
}
681-
return element;
682-
}
683-
684674
/// Tries to find a canonical ModelElement for this element. If we know
685675
/// this element is related to a particular class, pass preferredClass to
686676
/// disambiguate.
@@ -715,7 +705,7 @@ class PackageGraph {
715705
// TODO(jcollins-g): The data structures should be changed to eliminate guesswork
716706
// with member elements.
717707
if (e is ClassMemberElement || e is PropertyAccessorElement) {
718-
if (e is Member) e = getBasestElement(e);
708+
e = e.declaration;
719709
Set<ModelElement> candidates = Set();
720710
Tuple2<Element, Library> iKey = Tuple2(e, lib);
721711
Tuple4<Element, Library, Class, ModelElement> key =

0 commit comments

Comments
 (0)