trait DocComments extends AnyRef
- Alphabetic
- By Inheritance
- DocComments
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
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 to any2stringadd[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 to ArrowAssoc[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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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 to Ensuring[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 to Ensuring[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 to Ensuring[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 to Ensuring[DocComments] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): 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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from DocComments to StringFormat[DocComments] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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
-
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
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (DocComments, B)
- Implicit
- This member is added by an implicit conversion from DocComments to ArrowAssoc[DocComments] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
The Scala compiler API.
The following resources are useful for Scala plugin/compiler development: