使用Java中的javaparser库,我有一个提取methodCallExpr的Visitor类。现在我想获取调用它们的对象的类名。例如:
a.sayHi();
当我在“sayHi”方法上调用 getScope() 时,我得到“a”。如何在java解析器中获取“a”对象的类名而不解析它?因为对methodCallExpr调用resolve()看起来很耗内存,所以我想用另一种方式提取它。
除了使用符号解析之外,您无法获得它。符号解析实际上是相对昂贵的,因为处理特别复杂并且取决于你的项目的配置。例如,如果您的项目使用大量库,则第一次解析符号时解析成本可能会很高。