diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2017-01-16 19:08:57 +0100 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2017-01-31 14:32:37 +0100 |
commit | ab09530d350a2a7b2576d06a870082b975cf6c4f (patch) | |
tree | e4f3785d1584a9a4febde3616eb0a540783f0877 /doc-tool/src/dotty/tools/dottydoc/core | |
parent | 6f6dc9767badd4bcacd8f00ef0ed467bcabc6296 (diff) | |
download | dotty-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.scala | 5 | ||||
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala | 14 |
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) |