永远在Groovy循环中的枚举中枚举,为什么?

永远在Groovy循环中的枚举中枚举,为什么?,groovy,enums,Groovy,Enums,假设以下代码: enum Color { RED, GREEN, BLUE enum Type { RGBA, RGB, BGR } String getHex() { //something here return "#F00" } Type getType() { //something here return Typ

假设以下代码:

enum Color {
    RED,
    GREEN,
    BLUE
    enum Type {
        RGBA,
        RGB,
        BGR
    }
    String getHex() {
        //something here
        return "#F00"
    }
    Type getType() {
        //something here
        return Type.RGB
    }
}
println Color.RED.type.name()
我认为嵌套的
enum
是可能的,但是如果您尝试使用groovy(使用2.4.13)运行这段代码,它似乎会永远循环,并且永远不会执行或编译它

如果我将enum
Type
放在外部,它可以正常工作

为什么会这样?是否有任何参考资料可以解释它失败的原因?

这是一个已知的错误


如果您使用Groovy 2.6+中可选的、Groovy 3中默认启用的新“parrot”解析器,则此问题已得到修复。

parrot是否仅在2.6中可用(默认情况下关闭)?很高兴知道。谢谢