Как мы можем найти все ссылки на существующий 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, который даст мнессылки, даже если используются через протокол.Если нет, то можно ли найти, если SwiftFunctionDeclaration
является методом реализации конкретного протокола?