gpt4 book ai didi

java - 如何区分一个方法中MethodCallExpr中的两个方法?

转载 作者:行者123 更新时间:2023-11-30 10:19:08 26 4
gpt4 key购买 nike

public class A{
void methodA(){
add(1, 2);
add(1.2, 2.5);
}

void add(int a, int b){
// add two integers
}

void add(double a, double b){
// add two double numbers
}
}

现在我已经使用下面的代码来提取方法内部的方法调用

   new VoidVisitorAdapter<Object>() {
@Override
public void visit(MethodCallExpr n, Object arg) {
super.visit(n, arg);

System.out.println(n.getNameAsString());
}
}.visit(JavaParser.parse(code), null);

现在,我如何在 methodA 中区分这两个方法调用 add(1, 2)add(1.2, 2.5) 使用MethodCallExpr ?

最佳答案

如果您使用符号解析功能,则可以。配置符号解析后,您只需调用 resolveInvokedMethod 即可获得 ResolvedMethodDeclaration 的实例。在该对象上,您可以调用 getQualifiedSignature() 或根据需要检查参数。

要了解如何配置符号解析,请参阅文档。

注意:我是 JavaParser 贡献者

关于java - 如何区分一个方法中MethodCallExpr中的两个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48809660/

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