16 lines
462 B
Swift
16 lines
462 B
Swift
protocol HasAccessibility: Token {
|
|
var accessibility: Accessibility { get set }
|
|
}
|
|
|
|
extension HasAccessibility {
|
|
var areAllHierarchiesAccessible: Bool {
|
|
guard accessibility.isAccessible else { return false }
|
|
var parent: Token? = parent?.value
|
|
while let p = parent as? HasAccessibility {
|
|
guard p.accessibility.isAccessible else { return false }
|
|
parent = p.parent?.value
|
|
}
|
|
return true
|
|
}
|
|
}
|