问题描述
有一个协议
protocol MyTest {
var isCorrect: Bool { get }
}
还有一个实现协议的类
class Super: MyTest {
var isCorrect: Bool = false
}
如何在 PSI 模式下找到 isCorrect
属性的声明?
我在分析 SwiftvariableDeclaration
类时确实有对 Super
的引用,但我想获得对 isCorrect
中 MyTest
的实际声明的引用协议。
我已经尝试过 SwiftvariableDeclaration.swiftSymbol
,但我不确定如何获得对声明的引用。
解决方法
您已经拥有该属性的声明。 您正在寻找的是其祖先的声明。
SwiftHierarchySearch.getAllSuperProperties(variable)
(注意一个变量声明可以包含多个变量,所以你需要选择一个。)