Scaladoc无法为方法和类签名中的内部类生成链接

Ama*_*any 6 scala sbt scaladoc cake-pattern

我有一个顶级特征,包含许多类和特征,如:

trait Trees { self: Types =>
  trait Tree
  trait IdentifiedTree extends Tree
  trait Empty extends Tree

  /** The factory for [[TypeUse]] instances */
  trait TypeUse extends Tree
  /** AST tree to represent erroneous trees */
  object BadTree extends IdentifiedTree
  /** AST tree for empty statements and trees */
  val Empty: Empty = new Empty {}
}

trait Types
Run Code Online (Sandbox Code Playgroud)

当我为它生成文档时,使用scaladoc我可以使用[[CLASS_NAME]]链接到内部类,但是scaladoc无法在签名和扩展中为树创建链接.

我使用sbt生成scaladoc,我使用以下标志:

scalacOptions in (Compile, doc) ++= Seq("-groups", "-implicits",
     "-diagrams", "-no-prefixes", "-author", "-explaintypes",
     "-language:implicitConversions,higherKinds")
Run Code Online (Sandbox Code Playgroud)

为了给你一个更好的主意,上面定义的api如下(请注意缺少的链接):

在此输入图像描述

你能告诉我我做错了吗?

mar*_*ios 3

我认为嵌套特征的问题在于,内部特征甚至不存在于顶级特征的实例化之外。这篇文章可能会有所帮助。

将顶层树更改为对象解决了我的问题。但是,我不确定这对您的用例是否有意义。

object Trees {
    trait Tree
    trait IdentifiedTree extends Tree
    trait Empty extends Tree
    ...
}
Run Code Online (Sandbox Code Playgroud)