我如何获得 PsiMethodCallExpression 对象类型?

How do i get the PsiMethodCallExpression object type?

如何获取 PsiMethodCallExpression 引用的对象类型?

例如

对象 x = 新对象; x.hashCode();

我可以使用访问者并获取PsiMethodCallExpression,我可以获取"hashCode",但是如何获取"Object"?

你可以从javadocs中了解到有问题的API,你可以通过调用PsiMethodCallExpression.resolveMethod()获取被调用的方法,然后你可以获得声明方法的class通过调用 PsiMethod.getContainingClass().

编辑 - 刚刚添加了一些代码以使其对所有人都显而易见,使用具有以下内容的 "accept" 方法:

public void visitMethodCallExpression(PsiMethodCallExpression expression) {
       super.visitCallExpression(expression);
       PsiUtil.getMemberQualifiedName(expression.resolveMethod());
       expression.resolveMethod().getContainingClass().getName();
       expression.resolveMethod().getContainingClass().getQualifiedName();
}