我正在开发一个插件,我在其中搜索特定的方法。现在我想要显示声明和使用的所有变量及其类型。我怎么能这样做?方法名称是IMethod类型。帮助< / p>
答案 0 :(得分:1)
您需要的是Java反射API。看看这个:link text
答案 1 :(得分:1)
如果您拥有该IMethod的CompilationUnit,则可以使用ASTParser
作为illustrated here):
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setSource(compilationUnit);
parser.setSourceRange(method.getSourceRange().getOffset(), method.getSourceRange().getLength());
parser.setResolveBindings(true);
CompilationUnit cu = (CompilationUnit)parser.createAST(null);
cu.accept(new ASTMethodVisitor());
然后您可以使用 ASTVisitor
cu.accept(new ASTVisitor() {
public boolean visit(SimpleName node) {
System.out.println(node); // print all simple names in compilation unit. in our example it would be A, i, j (class name, and then variables)
// filter the variables here
return true;
}
});
答案 2 :(得分:0)
您可以使用反射来获取方法所需的所有参数的类型。
首先使用Class反映方法,然后使用`Method.getParameterTypes()'。