diff options
Diffstat (limited to 'doc-tool/src/dotty/tools/dottydoc/model')
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/model/entities.scala | 18 | ||||
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/model/internal.scala | 12 | ||||
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/model/java.scala | 16 |
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 } |