目前,我正在编写一个代码检查,其中我需要确定某些方法的使用。为此,我使用visitCallExpression(expression: PsiCallExpression)
,它工作正常。然而,我需要了解在某些情况下为了跳过检查而调用了哪个方法PsiCallExpression
。例如,我希望在测试类和一些特定的方法中跳过我的检查。我已经试过使用getUseScope
,但完全不清楚如何处理结果并从中获得完全限定的方法名称。
目前,我正在编写一个代码检查,其中我需要确定某些方法的使用。为此,我使用visitCallExpression(expression: PsiCallExpression)
,它工作正常。然而,我需要了解在某些情况下为了跳过检查而调用了哪个方法PsiCallExpression
。例如,我希望在测试类和一些特定的方法中跳过我的检查。我已经试过使用getUseScope
,但完全不清楚如何处理结果并从中获得完全限定的方法名称。
1条答案
按热度按时间8xiog9wr1#
最后在intelij支持处得到了回答:https://intellij-support.jetbrains.com/hc/en-us/community/posts/11522817858834-Get-method-in-which-PsiMethodCallExpression-is-used总而言之,没有简单的方法可以做到这一点,但是可以迭代元素树中的元素,直到找到
PsiMethod
,通常应该是这样。下面是代码片段,它可以做到这一点: