Inheritable mixin
Mixin for subclasses of ModelElement representing Elements that can be inherited from one class to another.
We can search the inheritance chain between this instance and
definingEnclosingContainer in Inheritable.canonicalEnclosingContainer,
for the canonical Class closest to where this member was defined. We
can then know that when we find Inheritable.modelElement
inside that Class's
namespace, that's the one we should treat as canonical and implementors
of this class can use that knowledge to determine canonicalization.
We pick the class closest to the definingEnclosingContainer so that all children of that class inheriting the same member will point to the same place in the documentation, and we pick a canonical class because that's the one in the public namespace that will be documented.
- Superclass constraints
- Mixin applications
Properties
-
allParameters
→ List<
Parameter> -
latefinalinherited
-
annotations
→ Iterable<
Annotation> -
latefinalinherited
- canonicalEnclosingContainer → Container?
-
no setterinherited
- canonicalLibrary → Library?
-
no setteroverride
- canonicalModelElement → ModelElement?
-
latefinal
- characterLocation → CharacterLocation?
-
latefinalinherited
- compilationUnitElement → CompilationUnitElement?
-
no setterinherited
- config → DartdocOptionContext
-
latefinalinherited
- definingCommentReferable → CommentReferable
-
For testing / comparison only, get the comment referable from where this
ElementType was defined. Override where an
Element
is available.no setterinherited - definingEnclosingContainer → Container
-
latefinalinherited
- definingLibrary → Library
-
no setterinherited
-
displayedCategories
→ Iterable<
Category?> -
no setterinherited
-
displayedLanguageFeatures
→ Iterable<
LanguageFeature> -
A list of language features that both apply to this ModelElement and
make sense to display in context.
no setterinherited
- documentation → String
-
Returns the docs, stripped of their leading comments syntax.
no setterinherited
- documentationAsHtml → String?
-
latefinalinherited
- documentationComment → String
-
The rawest form of the documentation comment, including comment delimiters
like
///
,//
,/*
,*/
.no setterinherited -
documentationFrom
→ List<
DocumentationComment> -
The ModelElement from which we will get documentation.
no setterinherited
- documentationIsLocal → bool
-
True if documentationFrom contains only one item,
this
.no setterinherited - documentationLocal → String?
-
no setterinherited
- element → Element?
-
no setterinherited
- elementDocumentation → Documentation
-
latefinalinherited
- enclosingElement → ModelElement?
-
no setterinherited
-
exportedInLibraries
→ Set<
Library> ? -
no setterinherited
-
features
→ Set<
Feature> -
Usually a superset of annotations except where
_specialFeatures
replace them, a list of annotations as well as tags applied by Dartdoc itself when it notices characteristics of an element that need to be documented. SeeFeature
for a list.no setteroverride - featuresAsString → String
-
no setterinherited
- fileName → String
-
no setterinherited
- filePath → String?
-
no setterinherited
- fileType → String
-
no setterinherited
- fullyQualifiedName → String
-
Returns the fully qualified name.
latefinalinherited
- fullyQualifiedNameWithoutLibrary → String
-
no setterinherited
- hasAnnotations → bool
-
no setterinherited
- hasCategoryNames → bool
-
no setterinherited
- hasDocumentation → bool
-
no setterinherited
- hasDocumentationComment → bool
-
True if
this
has a synthetic/inherited or local documentation comment. False otherwise.no setterinherited - hasFeatures → bool
-
no setterinherited
- hasFeatureSet → bool
-
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasNodoc → bool
-
Returns true if the raw documentation comment has a 'nodoc' indication.
latefinalinherited
- hasParameters → bool
-
no setterinherited
- hasSourceCode → bool
-
no setterinherited
- hasSourceHref → bool
-
no setterinherited
- href → String?
-
If canonicalLibrary (or canonicalEnclosingElement, for Inheritable
subclasses) is null, href should be null.
no setterinherited
- htmlId → String
-
no setterinherited
-
inheritance
→ List<
InheritingContainer?> -
no setter
- isAsynchronous → bool
-
no setterinherited
- isCallable → bool
-
no setterinherited
- isCanonical → bool
-
no setterinherited
- isConst → bool
-
no setterinherited
- isCovariant → bool
-
True if this Inheritable has a parameter whose type is overridden
by a subtype.
no setter
- isDeprecated → bool
-
no setterinherited
- isDocumented → bool
-
no setterinherited
- isEnumValue → bool
-
Whether this element is an enum value.
no setterinherited
- isExecutable → bool
-
no setterinherited
- isExtended → bool
-
True if this ContainerMember is from an applicable Extension.
False otherwise, including if this ContainerMember's enclosingElement
is the extension it was declared in.
no setterinherited
- isFinal → bool
-
no setterinherited
- isInherited → bool
-
True if this Inheritable is inherited from a different class.
no setter
- isLate → bool
-
no setterinherited
- isLocalElement → bool
-
no setterinherited
- isNullSafety → bool
-
no setterinherited
- isOverride → bool?
-
True if this Inheritable is overriding a superclass.
no setter
- isPropertyAccessor → bool
-
no setterinherited
- isPropertyInducer → bool
-
no setterinherited
- isPublic → bool
-
latefinalinherited
- isPublicAndPackageDocumented → bool
-
no setterinherited
- isStatic → bool
-
no setterinherited
- kind → String
-
A human-friendly name for the kind of element this is.
no setterinherited
- library → Library?
-
no setterinherited
- linkedName → String
-
latefinalinherited
- linkedObjectType → String
-
no setterinherited
- linkedParams → String
-
no setterinherited
- linkedParamsLines → String
-
no setterinherited
- linkedParamsNoMetadata → String?
-
no setterinherited
- linkedParamsNoMetadataOrNames → String
-
no setterinherited
- location → String
-
A string indicating the URI of this Locatable, usually derived from
Element.location
.no setterinherited -
locationPieces
→ Set<
String> -
Pieces of the location, split to remove 'package:' and slashes.
latefinalinherited
- modelBuilder → ModelObjectBuilder
-
Override implementations in unit tests to avoid requiring literal
ModelElements.
latefinalinherited
- modelElementRenderer → ModelElementRenderer
-
no setterinherited
- modelNode → ModelNode?
-
latefinalinherited
- name → String
-
no setterinherited
- namePart → String
-
Utility getter/cache for
_MarkdownCommentReference._getResultsForClass
.latefinalinherited -
namePieces
→ Set<
String> -
latefinalinherited
- needsPrecache → bool
-
no setterinherited
- oneLineDoc → String?
-
no setterinherited
- originalMember → Member?
-
no setterinherited
- overriddenDepth → int
-
latefinal
- overriddenElement → Inheritable?
-
no setter
- package → Package?
-
no setterinherited
- packageGraph → PackageGraph
-
no setterinherited
-
parameters
→ List<
Parameter> -
latefinalinherited
- pathContext → Context
-
no setterinherited
-
referenceChildren
→ Map<
String, CommentReferable> -
Map of
referenceName
to the elements that are a member ofthis
, but not this model element itself. Can be cached.no setterinherited -
referenceGrandparentOverrides
→ Iterable<
Library> -
Replace the parents of parents. referenceBy ignores whatever might
otherwise be implied by the referenceParents of referenceParents,
replacing them with this.
no setterinherited
- referenceName → String
-
no setterinherited
-
referenceParents
→ Iterable<
Container> -
Iterable of immediate "parents" to try resolving component parts.
referenceBy stops at the first parent where a part is found.
Can be cached.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scope → Scope?
-
For any
CommentReferable
where an analyzerScope
exists (or can be constructed), implement this. This will take priority over lookups viareferenceChildren
. Can be cached.no setterinherited - sourceCode → String
-
latefinalinherited
- sourceFileName → String
-
no setterinherited
- sourceHref → String
-
latefinalinherited
Methods
-
buildDocumentationAddition(
String docs) → String -
Override this to add more features to the documentation builder in a
subclass.
inherited
-
childLookups(
List< String> reference) → Iterable<ReferenceChildrenLookup> -
A list of lookups that should be attempted on children based on
reference
. This allows us to deal with libraries that may have separators in them.referenceBy
stops at the first one found.inherited -
compareTo(
dynamic other) → int -
Compares this object to another object.
inherited
-
computeCanonicalEnclosingContainer(
) → Container? -
override
-
injectMacros(
String rawDocs) → String -
Replace {@macro ...} in API comments with the contents of the macro
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
precacheLocalDocs(
) → Future< void> -
Unconditionally precache local documentation.
inherited
-
processComment(
String documentationComment) → Future< String> -
Process
documentationComment
, performing various actions based on{@}
-style directives, returning the processed result.inherited -
processCommentDirectives(
String docs) → String -
inherited
-
referenceBy(
List< String> reference, {required bool filter(CommentReferable?), required bool allowTree(CommentReferable?), bool tryParents = true, Iterable<CommentReferable> ? parentOverrides}) → CommentReferable? -
Look up a comment reference by its component parts.
inherited
-
scoreCanonicalCandidates(
Iterable< Library> libraries) → List<ScoredCandidate> -
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
warn(
PackageWarning kind, {String? message, Iterable< Locatable> referredFrom = const [], Iterable<String> extendedDebug = const []}) → void -
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited