【问题标题】:How do I add a warning with Groovy AST transformations?如何使用 Groovy AST 转换添加警告?
【发布时间】:2026-01-10 18:00:01
【问题描述】:

我在SourceUnit 对象上看到我可以addError(SyntaxException),但是如何添加警告?

编辑:任何人都知道我如何在CompilePhase.SEMANTIC_ANALYSIS 中获得CSTNode,或者我如何只需知道行号和列号就可以简单地添加警告(就像addError 函数一样)?

编辑 2:我尝试自己创建一个 CSTNode,但它似乎不起作用,因为 eclipse 没有显示警告。

【问题讨论】:

    标签: groovy abstract-syntax-tree


    【解决方案1】:

    您可以在SourceUnit 上调用getErrorCollector(),然后使用addWarning(...) 方法之一将警告添加到其中吗?

    【讨论】:

    • 你知道我怎样才能得到一个CSTNode 来传递给addWarning 方法吗?我只知道如何获取ASTNodes.
    • @Kyle 在SourceUnit 中有一个getCST() 方法。这没有帮助吗?
    • 返回空值。我怀疑如果设置了CompilePhase.PARSING,它将返回 null 以外的其他内容,但这只能在全局 AST 转换中设置,而不是在本地 AST 转换中。
    • 大约 9 年前有人问过这个问题,有没有人知道这一点?我可以调用 addWarning ,但似乎什么也没发生。
    • 我也遇到了这个问题(2021 年),我也想不通……有人吗?