@@ -96,35 +96,6 @@ class Library extends ModelElement
9696
9797 bool get isInSdk => element.isInSdk;
9898
99- /// [allModelElements] resolved to their original names.
100- ///
101- /// A collection of [ModelElement.fullyQualifiedName] s for [ModelElement] s
102- /// documented with this library, but these ModelElements and names correspond
103- /// to the defining library where each originally came from with respect
104- /// to inheritance and reexporting. Most useful for error reporting.
105- late final List <String > allOriginalModelElementNames =
106- allModelElements.map ((e) {
107- if (e is GetterSetterCombo ) {
108- Accessor ? getter;
109- Accessor ? setter;
110- var elementGetter = e.getter;
111- if (elementGetter != null ) {
112- getter = getModelForElement (elementGetter.element) as Accessor ;
113- }
114- var elementSetter = e.setter;
115- if (elementSetter != null ) {
116- setter = getModelForElement (elementSetter.element) as Accessor ;
117- }
118- return getModelForPropertyInducingElement (
119- e.element as PropertyInducingElement ,
120- getModelForElement (e.element.library! ) as Library ,
121- getter: getter,
122- setter: setter)
123- .fullyQualifiedName;
124- }
125- return getModelForElement (e.element).fullyQualifiedName;
126- }).toList (growable: false );
127-
12899 @override
129100 CharacterLocation ? get characterLocation {
130101 if (element.nameOffset == - 1 ) {
@@ -455,8 +426,9 @@ class Library extends ModelElement
455426 String buildDocumentationAddition (String rawDocs) {
456427 rawDocs = super .buildDocumentationAddition (rawDocs);
457428 var notFoundInAllModelElements = < String > {};
429+ var elementNames = _allOriginalModelElementNames;
458430 for (var elementName in canonicalFor) {
459- if (! allOriginalModelElementNames .contains (elementName)) {
431+ if (! elementNames .contains (elementName)) {
460432 notFoundInAllModelElements.add (elementName);
461433 }
462434 }
@@ -467,4 +439,45 @@ class Library extends ModelElement
467439 // canonicalFor?
468440 return rawDocs;
469441 }
442+
443+ /// [allModelElements] resolved to their original names.
444+ ///
445+ /// A collection of [ModelElement.fullyQualifiedName] s for [ModelElement] s
446+ /// documented with this library, but these ModelElements and names correspond
447+ /// to the defining library where each originally came from with respect
448+ /// to inheritance and re-exporting. Used for error reporting.
449+ late final Set <String > _allOriginalModelElementNames = () {
450+ // Instead of using `allModelElements`, which includes deeper elements like
451+ // methods on classes, gather up only the library's immediate members.
452+ var libraryMembers = [
453+ ...library.extensions,
454+ ...library.extensionTypes,
455+ ...library.allClasses,
456+ ...library.enums,
457+ ...library.mixins,
458+ ...library.constants,
459+ ...library.functions,
460+ ...library.properties,
461+ ...library.typedefs,
462+ ];
463+ return libraryMembers.map ((member) {
464+ if (member is ! GetterSetterCombo ) {
465+ return getModelForElement (member.element).fullyQualifiedName;
466+ }
467+ var getter = switch (member.getter) {
468+ Accessor accessor => getModelForElement (accessor.element) as Accessor ,
469+ _ => null ,
470+ };
471+ var setter = switch (member.setter) {
472+ Accessor accessor => getModelForElement (accessor.element) as Accessor ,
473+ _ => null ,
474+ };
475+ return getModelForPropertyInducingElement (
476+ member.element as PropertyInducingElement ,
477+ getModelForElement (member.element.library! ) as Library ,
478+ getter: getter,
479+ setter: setter,
480+ ).fullyQualifiedName;
481+ }).toSet ();
482+ }();
470483}
0 commit comments