获取给定ANTLR java语法的java源方法名称列表?

时间:2009-11-24 09:28:57

标签: java parsing antlr

鉴于ANTLR Java语法 - 我将编写哪些java源代码来获取java源列表中的方法名列表?

例如以下

public class HelloWorld {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        new HelloWorld().printHelloWorld();
    }

    private void printHelloWorld() {
        // TODO Auto-generated method stub
        System.out.println("Hello World");
    }

}

将返回

main
printHelloWorld

1 个答案:

答案 0 :(得分:1)

基本上,您需要编辑语法文件以添加该功能。找到检测方法的规则,并在那里添加一些代码,将方法的名称添加到解析器正在收集的列表中。然后,在实例化解析器之后,您可以访问方法名称。

你可以看到一个完整的例子here(用于JUnitConverter(无耻插件)的Java的编辑语法文件),特别是addMethod方法。