Skip to content

Commit 99c3a44

Browse files
committed
Clean up some sorting, naming, and doc nits
1 parent 55ce116 commit 99c3a44

File tree

5 files changed

+29
-50
lines changed

5 files changed

+29
-50
lines changed

lib/src/generator/templates.runtime_renderers.dart

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3303,29 +3303,6 @@ class _Renderer_ContainerMember extends RendererBase<ContainerMember> {
33033303
parent: r, getters: _invisibleGetters['Attribute']!));
33043304
},
33053305
),
3306-
'canonicalEnclosingContainer': Property(
3307-
getValue: (CT_ c) => c.canonicalEnclosingContainer,
3308-
renderVariable:
3309-
(CT_ c, Property<CT_> self, List<String> remainingNames) {
3310-
if (remainingNames.isEmpty) {
3311-
return self.getValue(c).toString();
3312-
}
3313-
var name = remainingNames.first;
3314-
var nextProperty =
3315-
_Renderer_Container.propertyMap().getValue(name);
3316-
return nextProperty.renderVariable(
3317-
self.getValue(c) as Container,
3318-
nextProperty,
3319-
[...remainingNames.skip(1)]);
3320-
},
3321-
isNullValue: (CT_ c) => c.canonicalEnclosingContainer == null,
3322-
renderValue: (CT_ c, RendererBase<CT_> r,
3323-
List<MustachioNode> ast, StringSink sink) {
3324-
_render_Container(
3325-
c.canonicalEnclosingContainer!, ast, r.template, sink,
3326-
parent: r);
3327-
},
3328-
),
33293306
'enclosingElement': Property(
33303307
getValue: (CT_ c) => c.enclosingElement,
33313308
renderVariable:

lib/src/model/accessor.dart

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class Accessor extends ModelElement {
2626
/// constructor.
2727
// TODO(srawlins): This might be super fragile. This field should somehow be
2828
// initialized by code inside this library.
29-
late GetterSetterCombo enclosingCombo;
29+
late final GetterSetterCombo enclosingCombo;
3030

3131
Accessor(this.element, super.library, super.packageGraph,
3232
{ExecutableMember? super.originalMember});
@@ -167,12 +167,22 @@ class Accessor extends ModelElement {
167167

168168
/// A getter or setter that is a member of a [Container].
169169
class ContainerAccessor extends Accessor with ContainerMember, Inheritable {
170+
late final Container _enclosingElement;
171+
172+
@override
173+
final bool isInherited;
174+
170175
ContainerAccessor(super.element, super.library, super.packageGraph,
171176
[Container? enclosingElement])
172177
: isInherited = false {
173178
_enclosingElement = enclosingElement ?? super.enclosingElement as Container;
174179
}
175180

181+
ContainerAccessor.inherited(
182+
super.element, super.library, super.packageGraph, this._enclosingElement,
183+
{super.originalMember})
184+
: isInherited = true;
185+
176186
/// The index and values fields are never declared, and must be special cased.
177187
bool get _isEnumSynthetic =>
178188
enclosingCombo is EnumField && (name == 'index' || name == 'values');
@@ -186,19 +196,9 @@ class ContainerAccessor extends Accessor with ContainerMember, Inheritable {
186196
return super.characterLocation;
187197
}
188198

189-
late final Container _enclosingElement;
190-
191-
@override
192-
final bool isInherited;
193-
194199
@override
195200
bool get isCovariant => isSetter && parameters.first.isCovariant;
196201

197-
ContainerAccessor.inherited(
198-
super.element, super.library, super.packageGraph, this._enclosingElement,
199-
{super.originalMember})
200-
: isInherited = true;
201-
202202
@override
203203
Container get enclosingElement => _enclosingElement;
204204

lib/src/model/container_member.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ mixin ContainerMember on ModelElement {
3737
if (isExtended) Attribute.extended,
3838
};
3939

40+
@protected
41+
@visibleForTesting
4042
late final Container? canonicalEnclosingContainer = () {
4143
final canonicalEnclosingContainer = computeCanonicalEnclosingContainer();
4244
assert(canonicalEnclosingContainer == null ||

lib/src/model/inheritable.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@ import 'package:dartdoc/src/special_elements.dart';
2424
/// place in the documentation, and we pick a canonical class because that's
2525
/// the one in the public namespace that will be documented.
2626
mixin Inheritable on ContainerMember {
27-
/// True if this [Inheritable] is inherited from a different class.
27+
/// Whether this is inherited from a different class or mixin.
2828
bool get isInherited;
2929

30-
/// True if this [Inheritable] has a parameter whose type is overridden
31-
/// by a subtype.
30+
/// Whether this has a parameter whose type is overridden by a subtype.
3231
bool get isCovariant;
3332

3433
@override

lib/src/model/package_graph.dart

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -771,20 +771,21 @@ class PackageGraph with CommentReferable, Nameable {
771771
findCanonicalModelElementFor(preferredClass) as Container?;
772772
if (canonicalClass != null) preferredClass = canonicalClass;
773773
}
774-
var lib = modelElement.canonicalLibrary;
775-
if (modelElement is Library) return lib;
774+
var library = modelElement.canonicalLibrary;
775+
if (modelElement is Library) return library;
776776

777-
if (lib == null && preferredClass != null) {
778-
lib = preferredClass.canonicalLibrary;
777+
if (library == null && preferredClass != null) {
778+
library = preferredClass.canonicalLibrary;
779779
}
780780
// For elements defined in extensions, they are canonical.
781781
var enclosingElement = element.enclosingElement3;
782782
if (enclosingElement is ExtensionElement) {
783-
lib ??= getModelForElement(enclosingElement.library) as Library?;
783+
library ??= getModelForElement(enclosingElement.library) as Library?;
784784
// TODO(keertip): Find a better way to exclude members of extensions
785785
// when libraries are specified using the "--include" flag.
786-
if (lib != null && lib.isDocumented) {
787-
return getModelFor(element, lib, enclosingContainer: preferredClass);
786+
if (library != null && library.isDocumented) {
787+
return getModelFor(element, library,
788+
enclosingContainer: preferredClass);
788789
}
789790
}
790791
// TODO(jcollins-g): The data structures should be changed to eliminate
@@ -796,20 +797,20 @@ class PackageGraph with CommentReferable, Nameable {
796797
modelElement = getModelForElement(declaration);
797798
element = modelElement.element;
798799
canonicalModelElement = _findCanonicalModelElementForAmbiguous(
799-
modelElement, lib,
800+
modelElement, library,
800801
preferredClass: preferredClass as InheritingContainer?);
801802
} else {
802-
if (lib != null) {
803+
if (library != null) {
803804
if (element case PropertyInducingElement(:var getter, :var setter)) {
804805
var getterElement =
805-
getter == null ? null : getModelFor(getter, lib) as Accessor;
806+
getter == null ? null : getModelFor(getter, library) as Accessor;
806807
var setterElement =
807-
setter == null ? null : getModelFor(setter, lib) as Accessor;
808+
setter == null ? null : getModelFor(setter, library) as Accessor;
808809
canonicalModelElement = getModelForPropertyInducingElement(
809-
element, lib,
810+
element, library,
810811
getter: getterElement, setter: setterElement);
811812
} else {
812-
canonicalModelElement = getModelFor(element, lib);
813+
canonicalModelElement = getModelFor(element, library);
813814
}
814815
}
815816
assert(canonicalModelElement is! Inheritable);

0 commit comments

Comments
 (0)