aboutsummaryrefslogtreecommitdiff
path: root/doc-tool/src/dotty/tools/dottydoc/model
diff options
context:
space:
mode:
Diffstat (limited to 'doc-tool/src/dotty/tools/dottydoc/model')
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/model/entities.scala18
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/model/internal.scala12
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/model/java.scala16
3 files changed, 34 insertions, 12 deletions
diff --git a/doc-tool/src/dotty/tools/dottydoc/model/entities.scala b/doc-tool/src/dotty/tools/dottydoc/model/entities.scala
index 613788964..7027a72eb 100644
--- a/doc-tool/src/dotty/tools/dottydoc/model/entities.scala
+++ b/doc-tool/src/dotty/tools/dottydoc/model/entities.scala
@@ -80,6 +80,14 @@ trait Constructors {
def constructors: List[List[ParamList]]
}
+trait Companion extends Entity {
+ def hasCompanion: Boolean = companionPath ne Nil
+
+ def companionPath: List[String]
+
+ def companionPath_=(xs: List[String]): Unit
+}
+
trait ImplicitlyAddedEntity extends Entity {
def implicitlyAddedFrom: Option[Reference]
}
@@ -94,20 +102,20 @@ trait TypeAlias extends Entity with Modifiers {
def isAbstract: Boolean = !alias.isDefined
}
-trait Class extends Entity with Modifiers with TypeParams with Constructors with SuperTypes with Members {
+trait Class extends Entity with Modifiers with TypeParams with Constructors with SuperTypes with Members with Companion {
val kind = "class"
}
-trait CaseClass extends Entity with Modifiers with TypeParams with Constructors with SuperTypes with Members {
+trait CaseClass extends Entity with Modifiers with TypeParams with Constructors with SuperTypes with Members with Companion {
override val kind = "case class"
}
-trait Trait extends Entity with Modifiers with TypeParams with SuperTypes with Members {
+trait Trait extends Entity with Modifiers with TypeParams with SuperTypes with Members with Companion {
def traitParams: List[ParamList]
override val kind = "trait"
}
-trait Object extends Entity with Modifiers with SuperTypes with Members {
+trait Object extends Entity with Modifiers with SuperTypes with Members with Companion {
override val kind = "object"
}
@@ -137,6 +145,8 @@ sealed trait NonEntity extends Package with TypeAlias with Class with CaseClass
val typeParams = Nil
val traitParams = Nil
val alias = None
+ val companionPath = Nil
+ def companionPath_=(xs: List[String]) = ()
}
final case object NonEntity extends NonEntity
diff --git a/doc-tool/src/dotty/tools/dottydoc/model/internal.scala b/doc-tool/src/dotty/tools/dottydoc/model/internal.scala
index ac789f29f..fe21a0a0a 100644
--- a/doc-tool/src/dotty/tools/dottydoc/model/internal.scala
+++ b/doc-tool/src/dotty/tools/dottydoc/model/internal.scala
@@ -41,7 +41,8 @@ object internal {
typeParams: List[String] = Nil,
constructors: List[List[ParamList]] = Nil,
superTypes: List[MaterializableLink] = Nil,
- var comment: Option[Comment] = None
+ var comment: Option[Comment] = None,
+ var companionPath: List[String] = Nil
) extends Class with Impl
final case class CaseClassImpl(
@@ -54,7 +55,8 @@ object internal {
typeParams: List[String] = Nil,
constructors: List[List[ParamList]] = Nil,
superTypes: List[MaterializableLink] = Nil,
- var comment: Option[Comment] = None
+ var comment: Option[Comment] = None,
+ var companionPath: List[String] = Nil
) extends CaseClass with Impl
final case class TraitImpl(
@@ -67,7 +69,8 @@ object internal {
typeParams: List[String] = Nil,
traitParams: List[ParamList] = Nil,
superTypes: List[MaterializableLink] = Nil,
- var comment: Option[Comment] = None
+ var comment: Option[Comment] = None,
+ var companionPath: List[String] = Nil
) extends Trait with Impl
final case class ObjectImpl(
@@ -78,7 +81,8 @@ object internal {
modifiers: List[String],
path: List[String],
superTypes: List[MaterializableLink] = Nil,
- var comment: Option[Comment] = None
+ var comment: Option[Comment] = None,
+ var companionPath: List[String] = Nil
) extends Object with Impl
final case class DefImpl(
diff --git a/doc-tool/src/dotty/tools/dottydoc/model/java.scala b/doc-tool/src/dotty/tools/dottydoc/model/java.scala
index a9ae0dbee..6b4e8b06d 100644
--- a/doc-tool/src/dotty/tools/dottydoc/model/java.scala
+++ b/doc-tool/src/dotty/tools/dottydoc/model/java.scala
@@ -71,7 +71,9 @@ object java {
"comment" -> ent.comment.map(_.asJava).asJava,
"isPrivate" -> ent.isPrivate,
"isProtected" -> ent.isProtected,
- "hasVisibleMembers" -> ent.hasVisibleMembers
+ "hasVisibleMembers" -> ent.hasVisibleMembers,
+ "hasCompanion" -> ent.hasCompanion,
+ "companionPath" -> ent.companionPath.asJava
) ++ extras).asJava
}
@@ -88,7 +90,9 @@ object java {
"comment" -> ent.comment.map(_.asJava).asJava,
"isPrivate" -> ent.isPrivate,
"isProtected" -> ent.isProtected,
- "hasVisibleMembers" -> ent.hasVisibleMembers
+ "hasVisibleMembers" -> ent.hasVisibleMembers,
+ "hasCompanion" -> ent.hasCompanion,
+ "companionPath" -> ent.companionPath.asJava
) ++ extras).asJava
}
@@ -105,7 +109,9 @@ object java {
"comment" -> ent.comment.map(_.asJava).asJava,
"isPrivate" -> ent.isPrivate,
"isProtected" -> ent.isProtected,
- "hasVisibleMembers" -> ent.hasVisibleMembers
+ "hasVisibleMembers" -> ent.hasVisibleMembers,
+ "hasCompanion" -> ent.hasCompanion,
+ "companionPath" -> ent.companionPath.asJava
) ++ extras).asJava
}
@@ -121,7 +127,9 @@ object java {
"comment" -> ent.comment.map(_.asJava).asJava,
"isPrivate" -> ent.isPrivate,
"isProtected" -> ent.isProtected,
- "hasVisibleMembers" -> ent.hasVisibleMembers
+ "hasVisibleMembers" -> ent.hasVisibleMembers,
+ "hasCompanion" -> ent.hasCompanion,
+ "companionPath" -> ent.companionPath.asJava
) ++ extras).asJava
}