The instantiation of TemplateImpl
triggers the creation of the following entities:
All ancestors of the template and all non-package members.
An inherited template that was not documented in its original owner - example: in classpath: trait T { class C } -- T (and implicitly C) are not documented in the source: trait U extends T -- C appears in U as a MemberTemplateImpl -- that is, U has a member for it but C doesn't get its own page
A template that is not documented at all.
Filter '@bridge' methods only if *they don't override non-bridge methods*.
Filter '@bridge' methods only if *they don't override non-bridge methods*. See SI-5373 for details
Get the types of the parents of the current class, ignoring the refinements
Get the root package
These are all model construction methods.
This method makes it easier to work with the different kinds of symbols created by scalac by stripping down the package object abstraction and placing members directly in the package.
This method makes it easier to work with the different kinds of symbols created by scalac by stripping down the package object abstraction and placing members directly in the package.
Here's the explanation of what we do. The code:
package foo {
object package
{
class Bar
}
}
will yield this Symbol structure: +---------+ (2) | | +---------------+ +---------- v ------- | ---+ +--------+ (2) | package foo#1 <---(1)---- module class foo#2 | | | | +---------------+ | +------------------ | -+ | +------------------- v ---+ | | | package object foo#3 <-----(1)---- module class package#4 | | | +----------------------+ | | +---------------------+ | | +--------------------------+ | | class package$Bar#5 | | | | +----------------- | -+ | | +------------------- | ---+ | | | +--------+ (1) sourceModule (2) you get out of owners with .owner
and normalizeTemplate(Bar.owner) will get us the package, instead of the module class of the package object.
(modelFactory: StringAdd).self
(modelFactory: StringFormat).self
(Since version 2.10.0) Use findLinkTarget
instead.
(modelFactory: ArrowAssoc[ModelFactory]).x
(Since version 2.10.0) Use leftOfArrow
instead
(modelFactory: Ensuring[ModelFactory]).x
(Since version 2.10.0) Use resultOfEnsuring
instead
This trait extracts all required information for documentation from compilation units