如何在不调用 reolve() 的情况下从 methodCallExpr 获取类名

问题描述 投票:0回答:1

使用Java中的javaparser库,我有一个提取methodCallExpr的Visitor类。现在我想获取调用它们的对象的类名。例如:

a.sayHi();

当我在“sayHi”方法上调用 getScope() 时,我得到“a”。如何在java解析器中获取“a”对象的类名而不解析它?因为对methodCallExpr调用resolve()看起来很耗内存,所以我想用另一种方式提取它。

java scope abstract-syntax-tree javaparser
1个回答
0
投票

除了使用符号解析之外,您无法获得它。符号解析实际上是相对昂贵的,因为处理特别复杂并且取决于你的项目的配置。例如,如果您的项目使用大量库,则第一次解析符号时解析成本可能会很高。

© www.soinside.com 2019 - 2024. All rights reserved.