Programming languages 如何解析和列出java文件或代码块中使用的类、字段、构造函数和方法?

Programming languages 如何解析和列出java文件或代码块中使用的类、字段、构造函数和方法?,programming-languages,java,syntax,Programming Languages,Java,Syntax,我需要编写一个爬虫来查找示例java类、方法和字段用法。所以我需要一个解析器来解析java源文件(当然,解析不完整形式的源代码要好得多!)并返回其中使用的类、方法和字段 public void methodName() { String s = new String("Test"); int x = s.lastIndexOf("st"); } public void methodName(){ 字符串s=新字符串(“测试”); int x=s.lastIndexOf(“st”

我需要编写一个爬虫来查找示例java类、方法和字段用法。所以我需要一个解析器来解析java源文件(当然,解析不完整形式的源代码要好得多!)并返回其中使用的类、方法和字段

public void methodName() { String s = new String("Test"); int x = s.lastIndexOf("st"); } public void methodName(){ 字符串s=新字符串(“测试”); int x=s.lastIndexOf(“st”); }
在本例中,我希望使用
String
类,调用它的
String(String)
构造函数及其
lastIndexOf(String)
方法。

考虑编写一个Javadoc doclet,它可以满足您的需要吗


我认为JavadocAPI没有我需要的主要组件。最重要的是找到调用方法或字段的变量类,如
s.split(b)
。所有需要做的工作就是找到s和b的类型。然而,当我们遇到
s.trim().split(x.getName())
时,它会变得更加困难。注意:对于我来说,只分析
s.split(b)
语句类型就足够了。如果javadoc不足以满足您的需要,那么您可能需要一个完整的Java编译器,在解析后可以挂接到结果中。