3

我想知道是否有一种方法可以像 Doxygen 为 Java 等那样为 Groovy 程序生成协作图。我尝试运行 Doxygen,但它似乎无法解析 Groovy 文件(或者我得到了错了吗?)。

4

2 回答 2

0

您可以从 IntelliJ 内部生成图表。它们看起来像这样:

在此处输入图像描述


编辑

我认为在 groovy 中创建正确的协作图非常困难(也许是不可能的),因为它是一种带有鸭子类型的动态语言。

如何在协作图中说明这些类:

class Cage {
    private def bird

    Cage(bird) {
        this.bird = bird
    }

    def shake() {
        bird.sing()
    }
}

class Dog {
    def sing() {
        println 'Woof'
    }
}


class Main {
    static void main(String[] args) {
        Cage cage = new Cage(new Dog())
        cage.shake()
    }
}
于 2012-08-30T12:45:57.153 回答
0

根据doxygen 手册,支持Groovy (支持的语言有 C、C++、C#、Objective-C、IDL、Java、VHDL、PHP、Python、Tcl、Fortran 和 D)。根据常见问题解答的问题 12,如果您尝试记录不受支持的语言,则必须修改 doxygen 源。

如果 Groovy 类似于其中一种语言(我从未使用过 Groovy),那么您可以尝试使用这些现有的解析器之一来尝试解析 Groovy 源代码。为此,您需要配置 doxygen 以在具有.groovy扩展名的文件上运行正确的解析器(这是 groovy 文件的正确扩展名吗?)。您可以通过将EXTENSION_MAPPINGdoxygen 配置文件中的配置选项设置为

EXTENSION_MAPPING += groovy=Java

这告诉 doxygen 对任何带有扩展名的文件使用 Java 解析器.groovy

于 2012-08-30T09:12:30.267 回答