为什么我需要编译以使groovy代码有效?

时间:2015-09-12 07:22:40

标签: java eclipse intellij-idea groovy

我用AST

写了一个groovy项目
@TupleConstructor(includeSuperProperties=true)

然后我使用了像new Child(baseP1,baseP2,childP1,childP2)

这样的新构造函数

当运行代码时,eclipse以这种方式为 所有 构造函数说“无法匹配构造函数”。

然后我切换到IDEA intellij。

可笑地 某些 构造函数匹配,而 某些 则没有。

最后,我找到了一种让每件事都有效的方法,点击IDEA中的编译模块。

所以,我想知道

  

为什么相同的groovy代码在编译之前和之后都有不同的行为。

BUG或BY DESIGN或限制ide?

1 个答案:

答案 0 :(得分:0)

@TupleConstructorcompile-time meta-programming的一个例子。

它在程序的编译阶段创建代码。没有编译步骤,它就没有机会执行。