gpt4 book ai didi

Java MethodDeclaration ClassOrInterfaceDeclaration 查找类名

转载 作者:行者123 更新时间:2023-11-30 11:12:59 28 4
gpt4 key购买 nike

我正在为读取源代码的 Java 解析器使用 MethodDeclaration,但我遇到了一些问题。我看不到任何给我所属类的方法。是否存在用于此的方法,或者我是否需要查看 java 解析器以尝试创建一种将每个 MethodDeclaration 附加到它的 ClassOrInterfaceDeclaration 的方法。

我要么需要一种方法来检测 MethodDeclaration 是否属于某个类,要么我需要一种方法来获取 ClassOrInterfaceDeclaration 中的所有方法。

编辑以使其更清楚:

MethodDeclaration m = oldMethodDeclaration ; //where oldMethodDeclaration is already defined method declaration

我需要一种方法来找到“m”所属的类。在下面的示例中,它将返回“ClassName”

    public class ClassName{
public void oldMethodDeclaration (){
}

}

或者如果我有

ClassOrInterfaceDeclaration ClassName;

我可以找到附加的方法名称列表吗?

最佳答案

看来您正在使用 JavaParser。

因此要获取 MethodDeclaration 的封闭类:

TypeDeclaration t = (TypeDeclaration) m.getParentNode();

访问 ClassOrInterfaceDeclaration 的方法:

c.accept(new VoidVisitorAdapter<Void>() {
@Override
public void visit(MethodDeclaration n, Void arg) {
System.out.println("Method name: " + n.getName());
}
}, null);

我只是打印了方法名称。我假设这会为您提供必要的信息,让访问者使用 MethodDeclarations 做其他事情。

关于Java MethodDeclaration ClassOrInterfaceDeclaration 查找类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26610174/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com