aboutsummaryrefslogtreecommitdiff
path: root/doc-tool/src/dotty/tools/dottydoc/core
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2017-01-16 19:08:57 +0100
committerFelix Mulder <felix.mulder@gmail.com>2017-01-31 14:32:37 +0100
commitab09530d350a2a7b2576d06a870082b975cf6c4f (patch)
treee4f3785d1584a9a4febde3616eb0a540783f0877 /doc-tool/src/dotty/tools/dottydoc/core
parent6f6dc9767badd4bcacd8f00ef0ed467bcabc6296 (diff)
downloaddotty-ab09530d350a2a7b2576d06a870082b975cf6c4f.tar.gz
dotty-ab09530d350a2a7b2576d06a870082b975cf6c4f.tar.bz2
dotty-ab09530d350a2a7b2576d06a870082b975cf6c4f.zip
Add `TypeAlias` to docs
Diffstat (limited to 'doc-tool/src/dotty/tools/dottydoc/core')
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/core/DocASTPhase.scala5
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala14
2 files changed, 18 insertions, 1 deletions
diff --git a/doc-tool/src/dotty/tools/dottydoc/core/DocASTPhase.scala b/doc-tool/src/dotty/tools/dottydoc/core/DocASTPhase.scala
index 0ad199ca2..ed31eeb05 100644
--- a/doc-tool/src/dotty/tools/dottydoc/core/DocASTPhase.scala
+++ b/doc-tool/src/dotty/tools/dottydoc/core/DocASTPhase.scala
@@ -85,6 +85,11 @@ class DocASTPhase extends Phase {
val pkgPath = path(pd.symbol)
addEntity(PackageImpl(pd.symbol, annotations(pd.symbol), pd.symbol.showFullName, collectEntityMembers(st, pkgPath), pkgPath))
+ /** type alias */
+ case t: TypeDef if !t.isClassDef =>
+ val sym = t.symbol
+ TypeAliasImpl(sym, annotations(sym), flags(t), t.name.show, path(sym), None)
+
/** trait */
case t @ TypeDef(n, rhs) if t.symbol.is(Flags.Trait) =>
//TODO: should not `collectMember` from `rhs` - instead: get from symbol, will get inherited members as well
diff --git a/doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala b/doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala
index 100e0af6b..80e2929f7 100644
--- a/doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala
+++ b/doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala
@@ -92,6 +92,17 @@ object transform {
newPackage
}
+ case t: TypeAlias => transformEntity(t, _.typeAliasTransformation) { t =>
+ TypeAliasImpl(
+ t.symbol,
+ t.annotations,
+ t.modifiers,
+ t.name,
+ t.path,
+ t.alias,
+ t.comment
+ )
+ }
case c: Class => transformEntity(c, _.classTransformation) { cls =>
ClassImpl(
cls.symbol,
@@ -195,8 +206,8 @@ object transform {
case id => id
}
- // Partial functions instead????
def transformPackage(implicit ctx: Context): PartialFunction[Package, Package] = identity
+ def transformTypeAlias(implicit ctx: Context): PartialFunction[TypeAlias, TypeAlias] = identity
def transformClass(implicit ctx: Context): PartialFunction[Class, Class] = identity
def transformCaseClass(implicit ctx: Context): PartialFunction[CaseClass, CaseClass] = identity
def transformTrait(implicit ctx: Context): PartialFunction[Trait, Trait] = identity
@@ -205,6 +216,7 @@ object transform {
def transformVal(implicit ctx: Context): PartialFunction[Val, Val] = identity
private[transform] def packageTransformation(p: Package)(implicit ctx: Context) = (transformPackage orElse identity)(p)
+ private[transform] def typeAliasTransformation(alias: TypeAlias)(implicit ctx: Context) = (transformTypeAlias orElse identity)(alias)
private[transform] def classTransformation(cls: Class)(implicit ctx: Context) = (transformClass orElse identity)(cls)
private[transform] def caseClassTransformation(cc: CaseClass)(implicit ctx: Context) = (transformCaseClass orElse identity)(cc)
private[transform] def traitTransformation(trt: Trait)(implicit ctx: Context) = (transformTrait orElse identity)(trt)