trait DocComments extends AnyRef
- Alphabetic
- By Inheritance
- DocComments
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- case class DocComment(raw: String, pos: Global.Position = NoPosition, codePos: Global.Position = NoPosition) extends Product with Serializable
- class ExpansionLimitExceeded extends Exception
- case class UseCase(comment: Global.DocComment, body: String, pos: Global.Position) extends Product with Serializable
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from DocComments toany2stringadd[DocComments] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (DocComments, B)
- Implicit
- This member is added by an implicit conversion from DocComments toArrowAssoc[DocComments] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clearDocComments(): Unit
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def cookedDocComment(sym: Global.Symbol, docStr: String = ""): String
The raw doc comment of symbol
sym
, minus usecase and define sections, augmented by missing sections of an inherited doc comment.The raw doc comment of symbol
sym
, minus usecase and define sections, augmented by missing sections of an inherited doc comment. If a symbol does not have a doc comment but some overridden version of it does, the doc comment of the overridden version is copied instead. - val cookedDocComments: HashMap[Global.Symbol, String]
- def docCommentPos(sym: Global.Symbol): Global.Position
The position of the raw doc comment of symbol
sym
, or NoPosition if missing If a symbol does not have a doc comment but some overridden version of it does, the position of the doc comment of the overridden version is returned instead. - val docComments: WeakHashMap[Global.Symbol, Global.DocComment]
The raw doc comment map
The raw doc comment map
In IDE, background compilation runs get interrupted by reloading new sourcefiles. This is weak to avoid memleaks due to the doc of their cached symbols (e.g. in baseTypeSeq) between periodic doc reloads.
- def ensuring(cond: (DocComments) => Boolean, msg: => Any): DocComments
- Implicit
- This member is added by an implicit conversion from DocComments toEnsuring[DocComments] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (DocComments) => Boolean): DocComments
- Implicit
- This member is added by an implicit conversion from DocComments toEnsuring[DocComments] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): DocComments
- Implicit
- This member is added by an implicit conversion from DocComments toEnsuring[DocComments] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): DocComments
- Implicit
- This member is added by an implicit conversion from DocComments toEnsuring[DocComments] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def expandInheritdoc(parent: String, child: String, sym: Global.Symbol): String
Expand inheritdoc tags
Expand inheritdoc tags
- for the main comment we transform the inheritdoc into the super variable, and the variable expansion can expand it further
- for the param, tparam and throws sections we must replace comments on the spot
This is done separately, for two reasons: 1. It takes longer to run compared to merge 2. The inheritdoc annotation should not be used very often, as building the comment from pieces severely impacts performance
- parent
The source (or parent) comment
- child
The child (overriding member or usecase) comment
- sym
The child symbol
- returns
The child comment with the inheritdoc sections expanded
- def expandVariables(initialStr: String, sym: Global.Symbol, site: Global.Symbol): String
Expand variable occurrences in string
str
, until a fix point is reached or an expandLimit is exceeded.Expand variable occurrences in string
str
, until a fix point is reached or an expandLimit is exceeded.- initialStr
The string to be expanded
- sym
The symbol for which doc comments are generated
- site
The class for which doc comments are generated
- returns
Expanded string
- Attributes
- protected
- def expandedDocComment(sym: Global.Symbol, site: Global.Symbol, docStr: String = ""): String
The cooked doc comment of symbol
sym
after variable expansion, or "" if missing.The cooked doc comment of symbol
sym
after variable expansion, or "" if missing.- sym
The symbol for which doc comment is returned
- site
The class for which doc comments are generated
- Exceptions thrown
ExpansionLimitExceeded
when more than 10 successive expansions of the same string are done, which is interpreted as a recursive variable definition.
- def fillDocComment(sym: Global.Symbol, comment: Global.DocComment): Unit
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def lookupVariable(vble: String, site: Global.Symbol): Option[String]
Lookup definition of variable.
Lookup definition of variable.
- vble
The variable for which a definition is searched
- site
The class for which doc comments are generated
- Annotations
- @tailrec()
- def merge(src: String, dst: String, sym: Global.Symbol, copyFirstPara: Boolean = false): String
Merge elements of doccomment
src
into doc commentdst
for symbolsym
.Merge elements of doccomment
src
into doc commentdst
for symbolsym
. In detail:- If
copyFirstPara
is true, copy first paragraph 2. For all parameters ofsym
if there is no @param section indst
for that parameter name, but there is one onsrc
, copy that section. 3. If there is no @return section indst
but there is one insrc
, copy it.
- If
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def rawDocComment(sym: Global.Symbol): String
The raw doc comment of symbol
sym
, as it appears in the source text, "" if missing. - def replaceInheritDocToInheritdoc(docStr: String): String
- def superComment(sym: Global.Symbol): Option[String]
The cooked doc comment of an overridden symbol
The cooked doc comment of an overridden symbol
- Attributes
- protected
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def useCases(sym: Global.Symbol, site: Global.Symbol): List[(Global.Symbol, String, Global.Position)]
The list of use cases of doc comment of symbol
sym
seen as a member of classsite
.The list of use cases of doc comment of symbol
sym
seen as a member of classsite
. Each use case consists of a synthetic symbol (which is entered nowhere else), of an expanded doc comment string, and of its position.- sym
The symbol for which use cases are returned
- site
The class for which doc comments are generated
- Exceptions thrown
ExpansionLimitExceeded
when more than 10 successive expansions of the same string are done, which is interpreted as a recursive variable definition.
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from DocComments toStringFormat[DocComments] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (DocComments, B)
- Implicit
- This member is added by an implicit conversion from DocComments toArrowAssoc[DocComments] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
The Scala compiler and reflection APIs.