Value
enum Value : Equatable, Sendable
extension AbstractObject.Value: CustomStringConvertible
The value of an abstract object.
-
An object whose parts all have the same value.
Declaration
Swift
case full(Domain) -
An object whose parts may have different values.
Requires
The payload is not empty.Declaration
Swift
case partial([Value]) -
The canonical form of
self.Declaration
Swift
var canonical: Value { get } -
Returns
lhsmerged withrhs.Declaration
Swift
static func && (lhs: Value, rhs: Value) -> Value -
trueifselfis uniformly initialized or deinitialzed.Declaration
Swift
private var isUniform: Bool { get } -
Declaration
Swift
var description: String { get }
-
If
selfis.partial, the paths toself‘s parts; otherwise,nil.Declaration
Swift
fileprivate var subfields: SubfieldsByInitializationState? { get } -
The initialized subfields.
Declaration
Swift
fileprivate var initializedSubfields: [RecordPath] { get } -
If
selfis.partial, inserts the paths to its parts intopaths, prefixing each inserted element byprefix.Requires
selfis canonical.Declaration
Swift
private func gatherSubobjectPaths( prefixedBy prefix: RecordPath, into paths: inout SubfieldsByInitializationState ) -
The consumers of the object.
Declaration
Swift
fileprivate var consumers: State.Consumers { get } -
Reports a diagnostic to
logatsiteifself != .full(.initialized).Declaration
Swift
fileprivate func checkInitialized( at site: SourceRange, reportingDiagnosticsTo log: inout DiagnosticSet ) -
Returns
lhsmerged withrhs.Declaration
Swift
fileprivate static func && (lhs: `Self`, rhs: `Self`) -> AbstractObject<Domain>.Value -
Returns the paths of the parts that are initialized in
land either uninitialized or consumed inr.Requires
landrare canonical and have the same layoutDeclaration
Swift
static func - (l: `Self`, r: `Self`) -> [RecordPath] -
The set of instructions borrowing the object or a part thereof.
Declaration
Swift
fileprivate var borrowers: Set<InstructionID> { get } -
Inserts
bto the object’s borrowers, returningtrueiffbwasn’t already included.Declaration
Swift
@discardableResult fileprivate mutating func insertBorrower(_ b: InstructionID) -> Bool -
Removes
bfrom the object’s borrowers, returningtrueiffbwas present.Declaration
Swift
@discardableResult fileprivate mutating func removeBorrower(_ b: InstructionID) -> Bool
View on GitHub