2

我们如何找到现有 PsiElement 的所有引用。具体来说一个SwiftFunctionDeclaration. 我试过了

ReferencesSearch.search(functionDeclaration, ProjectScope.getProjectScope(functionDeclaration.getProject())).findAll();

但是如果方法是接口方法,它就不起作用了,它是通过协议引用而不是具体类来访问的。

例子:

protocol Test {
func calculate()
}

class TestingClass : Test {
func calculate() {
 }
}

所以如果我使用类似的东西,let s = TestingClass(), s.calculate()它会发现该calculate方法有引用。但是,如果我软化引用let s: Test = TestingClass(), s.calculate(),它会告诉我calculate内部的方法TestClass没有任何引用。

问题是:即使通过协议使用,是否有一个 API 可以为我提供参考。如果不是,是否有可能找到 aSwiftFunctionDeclaration是否是特定协议的实现方法?

4

0 回答 0