groovy – 如果使用“字符串”声明方法,则告诉

前端之家收集整理的这篇文章主要介绍了groovy – 如果使用“字符串”声明方法,则告诉前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
出于DSL目的,我想检测如下定义的方法

def "methodName"() {}

要么

def "This is another method name"() {}

有没有办法用反射做到这一点?

解决方法

此信息在运行时不可用.即使使用AST转换,您也无法确定该方法是使用字符串定义的.

为此,您必须编写自己的AntlrParserPlugin并使用自定义CompilerConfiguration来使用它.然后在AntlrParserPlugin的methodDef中,当解析方法名称时,您可以检查名称前面的字符是否为双引号.如果找到双引号,则向生成的MethodNode添加自定义注释,以便在运行时可以获得该信息…

猜你在找的Groovy相关文章