我用AST
写了一个groovy项目@TupleConstructor(includeSuperProperties=true)
然后我使用了像new Child(baseP1,baseP2,childP1,childP2)
当运行代码时,eclipse以这种方式为 所有 构造函数说“无法匹配构造函数”。
然后我切换到IDEA intellij。
可笑地 某些 构造函数匹配,而 某些 则没有。
最后,我找到了一种让每件事都有效的方法,点击IDEA中的编译模块。
所以,我想知道
为什么相同的groovy代码在编译之前和之后都有不同的行为。
BUG或BY DESIGN或限制ide? p>
答案 0 :(得分:0)
@TupleConstructor
是compile-time meta-programming的一个例子。
它在程序的编译阶段创建代码。没有编译步骤,它就没有机会执行。