@@ -7,7 +7,6 @@ import 'dart:collection';
7
7
import 'package:analyzer/dart/element/element.dart' ;
8
8
import 'package:analyzer/dart/element/scope.dart' ;
9
9
import 'package:analyzer/dart/element/type_system.dart' ;
10
- import 'package:analyzer/dart/element/visitor.dart' ;
11
10
import 'package:analyzer/source/line_info.dart' ;
12
11
// ignore: implementation_imports
13
12
import 'package:analyzer/src/generated/sdk.dart' show SdkLibrary;
@@ -16,116 +15,6 @@ import 'package:dartdoc/src/model/model.dart';
16
15
import 'package:dartdoc/src/package_meta.dart' show PackageMeta;
17
16
import 'package:dartdoc/src/warnings.dart' ;
18
17
19
- /// Finds all hashable children of a given element that are defined in the
20
- /// [LibraryElement] given at initialization.
21
- // TODO(srawlins): Do we not need to visit the parameters in
22
- // [ConstructorElement], [FunctionElement], [MethodElement],
23
- // [PropertyAccessorElement], [TypeAliasElement]?
24
- class _HashableChildLibraryElementVisitor
25
- extends RecursiveElementVisitor <void > {
26
- final DartDocResolvedLibrary resolvedLibrary;
27
- final PackageGraph packageGraph;
28
-
29
- _HashableChildLibraryElementVisitor (this .resolvedLibrary, this .packageGraph);
30
-
31
- @override
32
- void visitClassElement (ClassElement element) {
33
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
34
- super .visitClassElement (element);
35
- }
36
-
37
- @override
38
- void visitConstructorElement (ConstructorElement element) {
39
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
40
- }
41
-
42
- @override
43
- void visitEnumElement (EnumElement element) {
44
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
45
- super .visitEnumElement (element);
46
- }
47
-
48
- @override
49
- void visitExtensionElement (ExtensionElement element) {
50
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
51
- super .visitExtensionElement (element);
52
- }
53
-
54
- @override
55
- void visitFieldElement (FieldElement element) {
56
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
57
- }
58
-
59
- @override
60
- void visitFieldFormalParameterElement (FieldFormalParameterElement element) {
61
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
62
- }
63
-
64
- @override
65
- void visitFunctionElement (FunctionElement element) {
66
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
67
- }
68
-
69
- @override
70
- void visitLibraryElement (LibraryElement element) {
71
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
72
- super .visitLibraryElement (element);
73
- }
74
-
75
- @override
76
- void visitMixinElement (MixinElement element) {
77
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
78
- super .visitMixinElement (element);
79
- }
80
-
81
- @override
82
- void visitMultiplyDefinedElement (MultiplyDefinedElement element) {
83
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
84
- super .visitMultiplyDefinedElement (element);
85
- }
86
-
87
- @override
88
- void visitMethodElement (MethodElement element) {
89
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
90
- }
91
-
92
- @override
93
- void visitParameterElement (ParameterElement element) {
94
- // [ParameterElement]s without names do not provide sufficiently distinct
95
- // hashes / comparison, so just skip them all. (dart-lang/sdk#30146)
96
- }
97
-
98
- @override
99
- void visitPrefixElement (PrefixElement element) {
100
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
101
- }
102
-
103
- @override
104
- void visitPropertyAccessorElement (PropertyAccessorElement element) {
105
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
106
- }
107
-
108
- @override
109
- void visitSuperFormalParameterElement (SuperFormalParameterElement element) {
110
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
111
- }
112
-
113
- @override
114
- void visitTopLevelVariableElement (TopLevelVariableElement element) {
115
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
116
- }
117
-
118
- @override
119
- void visitTypeAliasElement (TypeAliasElement element) {
120
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
121
- }
122
-
123
- @override
124
- void visitTypeParameterElement (TypeParameterElement element) {
125
- packageGraph.populateModelNodeFor (element, resolvedLibrary);
126
- }
127
- }
128
-
129
18
class _LibrarySentinel implements Library {
130
19
@override
131
20
dynamic noSuchMethod (Invocation invocation) =>
@@ -165,10 +54,9 @@ class Library extends ModelElement
165
54
166
55
factory Library .fromLibraryResult (DartDocResolvedLibrary resolvedLibrary,
167
56
PackageGraph packageGraph, Package package) {
168
- var element = resolvedLibrary.element ;
57
+ packageGraph. gatherModelNodes (resolvedLibrary) ;
169
58
170
- _HashableChildLibraryElementVisitor (resolvedLibrary, packageGraph)
171
- .visitLibraryElement (element);
59
+ var element = resolvedLibrary.element;
172
60
173
61
var exportedAndLocalElements = {
174
62
// Initialize the list of elements defined in this library and
0 commit comments