diff options
Diffstat (limited to 'doc-tool/src/dotty/tools/dottydoc/model')
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/model/entities.scala | 9 | ||||
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/model/internal.scala | 62 | ||||
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/model/java.scala | 24 |
3 files changed, 61 insertions, 34 deletions
diff --git a/doc-tool/src/dotty/tools/dottydoc/model/entities.scala b/doc-tool/src/dotty/tools/dottydoc/model/entities.scala index 7027a72eb..9cbd1f6c8 100644 --- a/doc-tool/src/dotty/tools/dottydoc/model/entities.scala +++ b/doc-tool/src/dotty/tools/dottydoc/model/entities.scala @@ -21,6 +21,13 @@ trait Entity { entity => def annotations: List[String] + def signature: String = + entity.name + (entity match { + case o: Object => "$" + case d: Def => d.paramLists.mkString + case _ => "" + }) + def children: List[Entity with Members] = entity match { case e: Entity with Members => e.members.collect { case e: Entity with Members if e.kind != "package" => e } @@ -74,6 +81,8 @@ trait ReturnValue { trait ParamList { def list: List[NamedReference] def isImplicit: Boolean + + override def toString = list.map(_.title).mkString("(", ",", ")") } trait Constructors { diff --git a/doc-tool/src/dotty/tools/dottydoc/model/internal.scala b/doc-tool/src/dotty/tools/dottydoc/model/internal.scala index fe21a0a0a..bf50c0232 100644 --- a/doc-tool/src/dotty/tools/dottydoc/model/internal.scala +++ b/doc-tool/src/dotty/tools/dottydoc/model/internal.scala @@ -3,23 +3,26 @@ package model import comment.Comment import references._ -import dotty.tools.dotc.core.Symbols.Symbol +import dotty.tools.dotc.core.Symbols.{ Symbol, NoSymbol } object internal { - trait Impl { - var parent: Entity = NonEntity - } - final case class PackageImpl( - symbol: Symbol, - annotations: List[String], - name: String, + var symbol: Symbol, + var annotations: List[String], + var name: String, var members: List[Entity], - path: List[String], - superTypes: List[MaterializableLink] = Nil, - var comment: Option[Comment] = None - ) extends Package with Impl + var path: List[String], + var superTypes: List[MaterializableLink] = Nil, + var comment: Option[Comment] = None, + var parent: Entity = NonEntity + ) extends Package + + object EmptyPackage { + def apply(path: List[String], name: String): PackageImpl = { + PackageImpl(NoSymbol, Nil, name, Nil, path) + } + } final case class TypeAliasImpl ( symbol: Symbol, @@ -28,8 +31,9 @@ object internal { name: String, path: List[String], alias: Option[Reference], - var comment: Option[Comment] = None - ) extends TypeAlias with Impl + var comment: Option[Comment] = None, + var parent: Entity = NonEntity + ) extends TypeAlias final case class ClassImpl( symbol: Symbol, @@ -42,8 +46,9 @@ object internal { constructors: List[List[ParamList]] = Nil, superTypes: List[MaterializableLink] = Nil, var comment: Option[Comment] = None, - var companionPath: List[String] = Nil - ) extends Class with Impl + var companionPath: List[String] = Nil, + var parent: Entity = NonEntity + ) extends Class final case class CaseClassImpl( symbol: Symbol, @@ -56,8 +61,9 @@ object internal { constructors: List[List[ParamList]] = Nil, superTypes: List[MaterializableLink] = Nil, var comment: Option[Comment] = None, - var companionPath: List[String] = Nil - ) extends CaseClass with Impl + var companionPath: List[String] = Nil, + var parent: Entity = NonEntity + ) extends CaseClass final case class TraitImpl( symbol: Symbol, @@ -70,8 +76,9 @@ object internal { traitParams: List[ParamList] = Nil, superTypes: List[MaterializableLink] = Nil, var comment: Option[Comment] = None, - var companionPath: List[String] = Nil - ) extends Trait with Impl + var companionPath: List[String] = Nil, + var parent: Entity = NonEntity + ) extends Trait final case class ObjectImpl( symbol: Symbol, @@ -82,8 +89,9 @@ object internal { path: List[String], superTypes: List[MaterializableLink] = Nil, var comment: Option[Comment] = None, - var companionPath: List[String] = Nil - ) extends Object with Impl + var companionPath: List[String] = Nil, + var parent: Entity = NonEntity + ) extends Object final case class DefImpl( symbol: Symbol, @@ -95,8 +103,9 @@ object internal { typeParams: List[String] = Nil, paramLists: List[ParamList] = Nil, var comment: Option[Comment] = None, - implicitlyAddedFrom: Option[Reference] = None - ) extends Def with Impl + implicitlyAddedFrom: Option[Reference] = None, + var parent: Entity = NonEntity + ) extends Def final case class ValImpl( symbol: Symbol, @@ -107,8 +116,9 @@ object internal { returnValue: Reference, kind: String, var comment: Option[Comment] = None, - implicitlyAddedFrom: Option[Reference] = None - ) extends Val with Impl + implicitlyAddedFrom: Option[Reference] = None, + var parent: Entity = NonEntity + ) extends Val final case class ParamListImpl( list: List[NamedReference], diff --git a/doc-tool/src/dotty/tools/dottydoc/model/java.scala b/doc-tool/src/dotty/tools/dottydoc/model/java.scala index 6b4e8b06d..b30c10734 100644 --- a/doc-tool/src/dotty/tools/dottydoc/model/java.scala +++ b/doc-tool/src/dotty/tools/dottydoc/model/java.scala @@ -54,7 +54,8 @@ object java { "children" -> ent.children.map(_.asJava()).asJava, "comment" -> ent.comment.map(_.asJava).asJava, "superTypes" -> ent.superTypes, - "hasVisibleMembers" -> ent.hasVisibleMembers + "hasVisibleMembers" -> ent.hasVisibleMembers, + "signature" -> ent.signature ) ++ extras).asJava } @@ -73,7 +74,8 @@ object java { "isProtected" -> ent.isProtected, "hasVisibleMembers" -> ent.hasVisibleMembers, "hasCompanion" -> ent.hasCompanion, - "companionPath" -> ent.companionPath.asJava + "companionPath" -> ent.companionPath.asJava, + "signature" -> ent.signature ) ++ extras).asJava } @@ -92,7 +94,8 @@ object java { "isProtected" -> ent.isProtected, "hasVisibleMembers" -> ent.hasVisibleMembers, "hasCompanion" -> ent.hasCompanion, - "companionPath" -> ent.companionPath.asJava + "companionPath" -> ent.companionPath.asJava, + "signature" -> ent.signature ) ++ extras).asJava } @@ -111,7 +114,8 @@ object java { "isProtected" -> ent.isProtected, "hasVisibleMembers" -> ent.hasVisibleMembers, "hasCompanion" -> ent.hasCompanion, - "companionPath" -> ent.companionPath.asJava + "companionPath" -> ent.companionPath.asJava, + "signature" -> ent.signature ) ++ extras).asJava } @@ -129,7 +133,8 @@ object java { "isProtected" -> ent.isProtected, "hasVisibleMembers" -> ent.hasVisibleMembers, "hasCompanion" -> ent.hasCompanion, - "companionPath" -> ent.companionPath.asJava + "companionPath" -> ent.companionPath.asJava, + "signature" -> ent.signature ) ++ extras).asJava } @@ -146,7 +151,8 @@ object java { "comment" -> ent.comment.map(_.asJava).asJava, "implicitlyAddedFrom" -> ent.implicitlyAddedFrom.map(_.asJava).asJava, "isPrivate" -> ent.isPrivate, - "isProtected" -> ent.isProtected + "isProtected" -> ent.isProtected, + "signature" -> ent.signature ).asJava } @@ -161,7 +167,8 @@ object java { "comment" -> ent.comment.map(_.asJava).asJava, "implicitlyAddedFrom" -> ent.implicitlyAddedFrom.map(_.asJava).asJava, "isPrivate" -> ent.isPrivate, - "isProtected" -> ent.isProtected + "isProtected" -> ent.isProtected, + "signature" -> ent.signature ).asJava } @@ -175,7 +182,8 @@ object java { "alias" -> ent.alias.map(_.asJava).asJava, "comment" -> ent.comment.map(_.asJava).asJava, "isPrivate" -> ent.isPrivate, - "isProtected" -> ent.isProtected + "isProtected" -> ent.isProtected, + "signature" -> ent.signature ).asJava } |