gpt4 book ai didi

JavaParser提取注释参数值

转载 作者:行者123 更新时间:2023-12-02 03:09:22 24 4
gpt4 key购买 nike

我正在开发一个项目来解析基于 Jersey 的注释,以从 java 源代码构建项目之间的请求交互图。

当每个人都这样想时,很容易解析和获取信息

@GET    
@Path("/parameter/{param}")
public Response getParam(@PathParam("param") String prm) {

String output = "Jersey say : " + prm;
return Response.status(200).entity(output).build();

}

我可以提取诸如{Method:"GET", Path:"parameter/{param}"}

之类的值

其他情况是

private static final PARAMETER_PATH="/parameter/{param}";

@GET
@Path(PARAMETER_PATH)
public Response getParam(@PathParam("param") String prm) {

String output = "Jersey say : " + prm;
return Response.status(200).entity(output).build();

}

private static String PATH_VARIABLE_STR = "{param}";
private static PARAMETER_PATH = "/parameter/"+PATH_VARIABLE_STR;

@GET
@Path(PARAMETER_PATH)
public Response getParam(@PathParam("param") String prm) {

String output = "Jersey say : " + prm;
return Response.status(200).entity(output).build();

}

在最后两种情况下,我无法提取真实值。

当我使用 javaparser、ast 等处理静态源代码时,如何获取变量的值

我正在等待您的建议。谢谢。

最佳答案

JavaParser 或其他解析器生成的 AST 不计算值。如果您的代码中有 3 + 5,这是一个添加,解析器将没有逻辑来解释它并得出结论,这相当于 8。您需要自己实现该逻辑。您基本上想要为 Java 创建一个解释器。我想说,对于几个基本运算,您可以轻松做到这一点:考虑文字、基本的 4 种数学运算,仅此而已。当然,如果您尝试考虑整个 Java 语言,事情很快就会失控。

免责声明:我是 JavaParser 贡献者

关于JavaParser提取注释参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41279203/

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