如何在JavaParser中更改对象类型

时间:2017-12-16 03:26:53

标签: javaparser

我正在使用JavaParser。

例如,我有以下方法

void checkCall()
{
    Blabla.test();
}

Blabla.test();是一个静态调用。我想将Blabla.test()更改为ABCD.test()而不更改任何其他内容。我从methodCall.getScope().get()得到了Blabla。但是如何使用methodCall.setScope()?它期望将Expression作为参数。

1 个答案:

答案 0 :(得分:0)

要了解发生了什么,您必须考虑 JavaParser 解析器。所以这意味着它构建了一个抽象语法树,它不解析符号(这是由JavaSymbolSolver完成的)。因此,从JavaParser的角度来看,这里的范围不是类。它取而代之的是名称,以后有人会解析并弄明白是一个类。

所有这些都表示你应该使用 NameExpr 作为传递给 setScope 的范围。

来源:我是 JavaParser

的撰稿人