gpt4 book ai didi

java - 解析Java源代码时如何解析标识符的类型?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:31 24 4
gpt4 key购买 nike

我正在解析 Java 源文件,我需要提取类型信息以猜测被调用方法的签名。

例如我有 foo.x(bar),我需要弄清楚 foo 和 bar 的类型。

我正在使用一个 java 解析器,它给我一个完整的 AST ,但我遇到了范围界定问题。我可以使用其他解析器来解决这个问题吗?

由于反射,这无法完美解决,但我希望一个好的解析器能够至少处理作用域和类型转换问题。

编辑:我不能假设其他源文件会存在,所以我不能简单地跟随方法调用到它的源并从方法声明中读取签名

最佳答案

Java 的可插入注释处理框架(及其 associated APIs )旨在按照您所说的方式对 Java 代码进行建模。您可以在运行时调用 Java 编译器,从而使用 javax.lang.model 包中的 API 访问源模型。介绍性文章可用here .

关于java - 解析Java源代码时如何解析标识符的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6527286/

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