From 4f647e09b1081765d3b3560235506025adc05886 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 6 Apr 2026 17:19:40 +0800 Subject: [PATCH 1/4] Add generate_swiftinterface.sh for GF framework Script compiles DeviceSwiftShims sources against the Gestures xcframework to produce template.swiftinterface, matching the real module's compiler flags. Removes spurious leading blank line from template. --- .../arm64-apple-ios-simulator.swiftinterface | 1 - .../x86_64-apple-ios-simulator.swiftinterface | 1 - .../arm64-apple-macos.swiftinterface | 1 - .../arm64e-apple-macos.swiftinterface | 1 - .../x86_64-apple-macos.swiftinterface | 1 - .../template.swiftinterface | 1 - GF/generate_swiftinterface.sh | 57 +++++++++++++++++++ 7 files changed, 57 insertions(+), 6 deletions(-) create mode 100755 GF/generate_swiftinterface.sh diff --git a/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/arm64-apple-ios-simulator.swiftinterface index 80e4218..e274090 100644 --- a/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/arm64-apple-ios-simulator.swiftinterface +++ b/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/arm64-apple-ios-simulator.swiftinterface @@ -2,7 +2,6 @@ // swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.16.112 clang-1800.1.29) // swift-module-flags: -target arm64-apple-ios26.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -Osize -enable-upcoming-feature InternalImportsByDefault -enable-experimental-feature Extern -module-name Gestures // swift-module-flags-ignorable: -interface-compiler-version 6.2 - @_exported public import Gestures public import Swift public import _Concurrency diff --git a/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/x86_64-apple-ios-simulator.swiftinterface index 8f32bad..43fc32d 100644 --- a/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +++ b/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/x86_64-apple-ios-simulator.swiftinterface @@ -2,7 +2,6 @@ // swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.16.112 clang-1800.1.29) // swift-module-flags: -target x86_64-apple-ios26.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -Osize -enable-upcoming-feature InternalImportsByDefault -enable-experimental-feature Extern -module-name Gestures // swift-module-flags-ignorable: -interface-compiler-version 6.2 - @_exported public import Gestures public import Swift public import _Concurrency diff --git a/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64-apple-macos.swiftinterface b/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64-apple-macos.swiftinterface index 4326133..383cee2 100644 --- a/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64-apple-macos.swiftinterface +++ b/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64-apple-macos.swiftinterface @@ -2,7 +2,6 @@ // swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.16.112 clang-1800.1.29) // swift-module-flags: -target arm64-apple-macos26.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -Osize -enable-upcoming-feature InternalImportsByDefault -enable-experimental-feature Extern -module-name Gestures // swift-module-flags-ignorable: -interface-compiler-version 6.2 - @_exported public import Gestures public import Swift public import _Concurrency diff --git a/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64e-apple-macos.swiftinterface b/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64e-apple-macos.swiftinterface index e537553..e9550b7 100644 --- a/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64e-apple-macos.swiftinterface +++ b/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64e-apple-macos.swiftinterface @@ -2,7 +2,6 @@ // swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.16.112 clang-1800.1.29) // swift-module-flags: -target arm64e-apple-macos26.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -Osize -enable-upcoming-feature InternalImportsByDefault -enable-experimental-feature Extern -module-name Gestures // swift-module-flags-ignorable: -interface-compiler-version 6.2 - @_exported public import Gestures public import Swift public import _Concurrency diff --git a/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/x86_64-apple-macos.swiftinterface b/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/x86_64-apple-macos.swiftinterface index 34902ab..aa2babf 100644 --- a/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/x86_64-apple-macos.swiftinterface +++ b/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/x86_64-apple-macos.swiftinterface @@ -2,7 +2,6 @@ // swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.16.112 clang-1800.1.29) // swift-module-flags: -target x86_64-apple-macos26.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -Osize -enable-upcoming-feature InternalImportsByDefault -enable-experimental-feature Extern -module-name Gestures // swift-module-flags-ignorable: -interface-compiler-version 6.2 - @_exported public import Gestures public import Swift public import _Concurrency diff --git a/GF/2025/Sources/Modules/Gestures.swiftmodule/template.swiftinterface b/GF/2025/Sources/Modules/Gestures.swiftmodule/template.swiftinterface index f17071f..750b397 100644 --- a/GF/2025/Sources/Modules/Gestures.swiftmodule/template.swiftinterface +++ b/GF/2025/Sources/Modules/Gestures.swiftmodule/template.swiftinterface @@ -1,4 +1,3 @@ - @_exported public import Gestures public import Swift public import _Concurrency diff --git a/GF/generate_swiftinterface.sh b/GF/generate_swiftinterface.sh new file mode 100755 index 0000000..1e7ec36 --- /dev/null +++ b/GF/generate_swiftinterface.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +## Generate template.swiftinterface from DeviceSwiftShims sources. +## +## This compiles the DeviceSwiftShims Swift files against the Gestures xcframework +## to produce a .swiftinterface, then transforms it into the template used by update.sh: +## 1. Strip the compiler header comments (update.sh generates per-platform headers) +## 2. Remove `Gestures.` module prefix from extension type names + +# A `realpath` alternative using the default C implementation. +filepath() { + [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}" +} + +SCRIPT_DIR="$(dirname "$(filepath "$0")")" +VERSION=${DARWINPRIVATEFRAMEWORKS_TARGET_RELEASE:-2025} +FRAMEWORK_ROOT="${SCRIPT_DIR}/${VERSION}" +SHIMS_DIR="${SCRIPT_DIR}/DeviceSwiftShims" +TEMPLATE_PATH="${FRAMEWORK_ROOT}/Sources/Modules/Gestures.swiftmodule/template.swiftinterface" + +TMPDIR_WORK=$(mktemp -d) +trap "rm -rf ${TMPDIR_WORK}" EXIT + +GENERATED="${TMPDIR_WORK}/generated.swiftinterface" + +# Resolve the iOS Simulator SDK version for the -target flag +IOS_SDK_VERSION=$(xcrun --sdk iphonesimulator --show-sdk-version) + +# Compile DeviceSwiftShims against the simulator xcframework to emit a swiftinterface +xcrun --sdk iphonesimulator swiftc \ + -emit-module-interface-path "${GENERATED}" \ + -emit-module-path "${TMPDIR_WORK}/module.swiftmodule" \ + -module-name Gestures \ + -enable-library-evolution \ + -swift-version 5 \ + -Osize \ + -enable-upcoming-feature InternalImportsByDefault \ + -enable-experimental-feature Extern \ + -target "arm64-apple-ios${IOS_SDK_VERSION}-simulator" \ + -F "${FRAMEWORK_ROOT}/Gestures.xcframework/ios-arm64-x86_64-simulator/" \ + "${SHIMS_DIR}/Export.swift" \ + $(find "${SHIMS_DIR}/Extension" -name '*.swift' 2>/dev/null) \ + 2>/dev/null + +if [ ! -f "${GENERATED}" ]; then + echo "Error: failed to generate swiftinterface" + exit 1 +fi + +# Transform: +# 1. Strip the compiler header comments (update.sh generates per-platform headers) +# 2. Remove `Gestures.` module prefix from extension declarations +sed -e '/^\/\/ swift-/d' \ + -e 's/extension Gestures\./extension /g' \ + "${GENERATED}" > "${TEMPLATE_PATH}" + +echo "Generated: ${TEMPLATE_PATH}" From 8a1ade1fdf057f0b7908e680da9b8e33864a507a Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 6 Apr 2026 17:40:13 +0800 Subject: [PATCH 2/4] Add generate_swiftinterface.sh for AG framework (2024) Script compiles DeviceSwiftShims sources against the AttributeGraph xcframework to produce template.swiftinterface with matching module flags. Generated output uses fully-qualified type names and includes compiler feature guards, matching native compiler emit format. --- .../arm64-apple-ios-simulator.swiftinterface | 646 ++++++++++-------- .../x86_64-apple-ios-simulator.swiftinterface | 646 ++++++++++-------- .../arm64-apple-macos.swiftinterface | 646 ++++++++++-------- .../arm64e-apple-macos.swiftinterface | 646 ++++++++++-------- .../x86_64-apple-macos.swiftinterface | 646 ++++++++++-------- .../arm64-apple-xros-simulator.swiftinterface | 646 ++++++++++-------- ...x86_64-apple-xros-simulator.swiftinterface | 646 ++++++++++-------- .../template.swiftinterface | 646 ++++++++++-------- AG/generate_swiftinterface.sh | 52 ++ 9 files changed, 2940 insertions(+), 2280 deletions(-) create mode 100755 AG/generate_swiftinterface.sh diff --git a/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-ios-simulator.swiftinterface index 66222f8..69746b9 100644 --- a/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-ios-simulator.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-ios-simulator.swiftinterface @@ -7,19 +7,21 @@ public import Swift public import _Concurrency public import _StringProcessing public import _SwiftConcurrencyShims -extension AnyAttribute { +extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - public static var current: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public static var current: AttributeGraph.AnyAttribute? { get } - public func unsafeOffset(at offset: Swift.Int) -> AnyAttribute - public func setFlags(_ newFlags: AnyAttribute.Flags, mask: AnyAttribute.Flags) - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) + #endif + public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute + public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: Value.Type, invalidating: Swift.Bool, _ body: (inout Value) -> Swift.Void) - public func breadthFirstSearch(options _: SearchOptions = [], _: (AnyAttribute) -> Swift.Bool) -> Swift.Bool + public func breadthFirstSearch(options _: AttributeGraph.SearchOptions = [], _: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool public var _bodyType: any Any.Type { get } @@ -29,24 +31,73 @@ extension AnyAttribute { public var valueType: any Any.Type { get } - public var indirectDependency: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } + #endif } -extension AnyAttribute : Swift.CustomStringConvertible { +extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { get { "#\(rawValue)" } } } -public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void +public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void +@frozen public struct PointerOffset { + public var byteOffset: Swift.Int + public init(byteOffset: Swift.Int) +} +extension AttributeGraph.PointerOffset { + public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset { + public static func invalidScenePointer() -> Swift.UnsafeMutablePointer + public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset + public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset where Base == Member { + public init() +} +extension Swift.UnsafePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + } + public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer +} +extension Swift.UnsafeMutablePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + nonmutating unsafeMutableAddress + } + public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer +} +@frozen public struct External { + public init() +} +extension AttributeGraph.External : AttributeGraph._AttributeBody { + public static var comparisonMode: AttributeGraph.ComparisonMode { + get + } + public static var flags: AttributeGraph.External.Flags { + get + } + public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) +} +extension AttributeGraph.External : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} @frozen @propertyWrapper @dynamicMemberLookup public struct Attribute { - public var identifier: AnyAttribute - public init(identifier: AnyAttribute) + public var identifier: AttributeGraph.AnyAttribute + public init(identifier: AttributeGraph.AnyAttribute) public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: _AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #if compiler(>=5.3) && $NonescapableTypes + public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -69,22 +120,22 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func applying(offset: AttributeGraph.PointerOffset) -> AttributeGraph.Attribute public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: V.Type, invalidating: Swift.Bool, _ body: (inout V) -> Swift.Void) - public func breadthFirstSearch(options: SearchOptions = [], _ body: (AnyAttribute) -> Swift.Bool) -> Swift.Bool - public var graph: Graph { + public func breadthFirstSearch(options: AttributeGraph.SearchOptions = [], _ body: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool + public var graph: AttributeGraph.Graph { get } - public var subgraph: Subgraph { + public var subgraph: AttributeGraph.Subgraph { get } public var value: Value { unsafeAddress nonmutating set } - public var valueState: ValueState { + public var valueState: AttributeGraph.ValueState { get } - public func valueAndFlags(options: AGValueOptions = []) -> (value: Value, flags: AGChangedValueFlags) - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public func valueAndFlags(options: AttributeGraph.AGValueOptions = []) -> (value: Value, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) public func setValue(_ value: Value) -> Swift.Bool public var hasValue: Swift.Bool { get @@ -93,9 +144,9 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func prefetchValue() public func invalidateValue() public func validate() - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) - public typealias Flags = AnyAttribute.Flags + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public typealias Flags = AttributeGraph.AnyAttribute.Flags public var flags: AttributeGraph.Attribute.Flags { get nonmutating set @@ -118,63 +169,32 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } +#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") -@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AnyAttribute +@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute +#endif @_silgen_name("AGGraphGetValue") -@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") -@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool -@frozen public struct External { - public init() +@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AttributeGraph.AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool +public protocol AttributeBodyVisitor { + func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody } -extension AttributeGraph.External : AttributeGraph._AttributeBody { - public static var comparisonMode: ComparisonMode { - get - } - public static var flags: AttributeGraph.External.Flags { - get - } - public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) +public protocol ObservedAttribute : AttributeGraph._AttributeBody { + mutating func destroy() } -extension AttributeGraph.External : Swift.CustomStringConvertible { - public var description: Swift.String { +extension AttributeGraph.ObservedAttribute { + public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) + public static var _hasDestroySelf: Swift.Bool { get } } -@frozen public struct PointerOffset { - public var byteOffset: Swift.Int - public init(byteOffset: Swift.Int) -} -extension AttributeGraph.PointerOffset { - public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset { - public static func invalidScenePointer() -> Swift.UnsafeMutablePointer - public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset - public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset where Base == Member { - public init() -} -extension Swift.UnsafePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - } - public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer -} -extension Swift.UnsafeMutablePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - nonmutating unsafeMutableAddress - } - public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer -} public protocol _AttributeBody { static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) static var _hasDestroySelf: Swift.Bool { get } static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - static var comparisonMode: ComparisonMode { get } - typealias Flags = _AttributeType.Flags + static var comparisonMode: AttributeGraph.ComparisonMode { get } + typealias Flags = AttributeGraph._AttributeType.Flags static var flags: Self.Flags { get } } extension AttributeGraph._AttributeBody { @@ -183,85 +203,180 @@ extension AttributeGraph._AttributeBody { get } public static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - public static var comparisonMode: ComparisonMode { + public static var comparisonMode: AttributeGraph.ComparisonMode { get } public static var flags: Self.Flags { get } } -public protocol AttributeBodyVisitor { - func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody -} -public protocol ObservedAttribute : AttributeGraph._AttributeBody { - mutating func destroy() -} -extension AttributeGraph.ObservedAttribute { - public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) - public static var _hasDestroySelf: Swift.Bool { +@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { + internal var base: AttributeGraph.AnyWeakAttribute + public init(base: AttributeGraph.AnyWeakAttribute) + public init() + public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.Attribute?) + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var wrappedValue: Value? { get } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { - public let identifier: AnyAttribute - public init(source: AttributeGraph.Attribute) - public var source: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var projectedValue: AttributeGraph.Attribute? { get - nonmutating set + set + _modify } - public var dependency: AnyAttribute? { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get - nonmutating set } - public var value: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.Attribute? { get - nonmutating set - nonmutating _modify + set } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) - public var wrappedValue: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var value: Value? { get - nonmutating set - nonmutating _modify } - public var projectedValue: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif +} +extension AttributeGraph.WeakAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { +} +extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { + public var description: Swift.String { get } } -extension AttributeGraph.IndirectAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool +extension AttributeGraph.AnyWeakAttribute { + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ weakAttribute: AttributeGraph.WeakAttribute) + public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { + get + set + } + #endif +} +extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { + public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) public var hashValue: Swift.Int { get } } -@frozen public struct AnyOptionalAttribute { - public var identifier: AnyAttribute - public init() - public init(_ attribute: AnyAttribute) - public init(_ attribute: AnyAttribute?) - public init(_ attribute: AttributeGraph.OptionalAttribute) - public static var current: AttributeGraph.AnyOptionalAttribute { +extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { + @_alwaysEmitIntoClient public var description: Swift.String { + get { attribute?.description ?? "nil" } + } +} +public protocol Rule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + var value: Self.Value { get } +} +extension AttributeGraph.Rule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.Rule { + public var attribute: AttributeGraph.Attribute { get } - public var attribute: AnyAttribute? { + public var context: AttributeGraph.RuleContext { get - set } - public func map(_ body: (AnyAttribute) -> Value) -> Value? - public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { +extension AttributeGraph.Rule where Self : Swift.Hashable { + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer + #endif +} +@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var arg: AttributeGraph.Attribute + public let body: (Source) -> Value + public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) + public var value: Value { + get + } + public static var flags: AttributeGraph.Map.Flags { + get + } + public var description: Swift.String { get } } -extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { +public protocol StatefulRule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + mutating func updateValue() +} +extension AttributeGraph.StatefulRule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.StatefulRule { + public var attribute: AttributeGraph.Attribute { + get + } + public var context: AttributeGraph.RuleContext { + get + } + public var value: Self.Value { + unsafeAddress + nonmutating set + } + public var hasValue: Swift.Bool { + get + } +} +@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var root: AttributeGraph.Attribute + public var keyPath: Swift.KeyPath + public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) + public var value: Value { + get + } + public static var flags: AttributeGraph.Focus.Flags { + get + } public var description: Swift.String { get } @@ -271,28 +386,44 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) + #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) + #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? + #endif + #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } + #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -306,101 +437,97 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { get } } -@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var root: AttributeGraph.Attribute - public var keyPath: Swift.KeyPath - public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) - public var value: Value { - get - } - public static var flags: AttributeGraph.Focus.Flags { +@frozen public struct AnyOptionalAttribute { + public var identifier: AttributeGraph.AnyAttribute + public init() + public init(_ attribute: AttributeGraph.AnyAttribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ attribute: AttributeGraph.OptionalAttribute) + public static var current: AttributeGraph.AnyOptionalAttribute { get } - public var description: Swift.String { + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { get + set } + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? + #endif + public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var arg: AttributeGraph.Attribute - public let body: (Source) -> Value - public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) - public var value: Value { - get - } - public static var flags: AttributeGraph.Map.Flags { +extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } +} +extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public var description: Swift.String { get } } -public protocol Rule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - var value: Self.Value { get } -} -extension AttributeGraph.Rule { - public static var initialValue: Self.Value? { +@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { + public let identifier: AttributeGraph.AnyAttribute + public init(source: AttributeGraph.Attribute) + public var source: AttributeGraph.Attribute { get + nonmutating set } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.Rule { - public var attribute: AttributeGraph.Attribute { + #if compiler(>=5.3) && $NonescapableTypes + public var dependency: AttributeGraph.AnyAttribute? { get + nonmutating set } - public var context: AttributeGraph.RuleContext { + #endif + public var value: Value { get + nonmutating set + nonmutating _modify } -} -extension AttributeGraph.Rule where Self : Swift.Hashable { - public func cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value - public func cachedValueIfExists(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value? - public static func _cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer -} -public protocol StatefulRule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - mutating func updateValue() -} -extension AttributeGraph.StatefulRule { - public static var initialValue: Self.Value? { + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public var wrappedValue: Value { get + nonmutating set + nonmutating _modify } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.StatefulRule { - public var attribute: AttributeGraph.Attribute { + public var projectedValue: AttributeGraph.Attribute { get } - public var context: AttributeGraph.RuleContext { + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { get } - public var value: Self.Value { - unsafeAddress - nonmutating set - } - public var hasValue: Swift.Bool { +} +extension AttributeGraph.IndirectAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } } @frozen public struct AnyRuleContext : Swift.Equatable { - public var attribute: AnyAttribute - public init(attribute: AnyAttribute) + public var attribute: AttributeGraph.AnyAttribute + public init(attribute: AttributeGraph.AnyAttribute) public init(_ context: AttributeGraph.RuleContext) public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + #endif + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public func unsafeCast(to _: V.Type) -> AttributeGraph.RuleContext public static func == (a: AttributeGraph.AnyRuleContext, b: AttributeGraph.AnyRuleContext) -> Swift.Bool @@ -411,12 +538,16 @@ extension AttributeGraph.StatefulRule { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } + #endif public var value: Value { unsafeAddress nonmutating set @@ -424,86 +555,41 @@ extension AttributeGraph.StatefulRule { public var hasValue: Swift.Bool { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public static func == (a: AttributeGraph.RuleContext, b: AttributeGraph.RuleContext) -> Swift.Bool } @_silgen_name("AGGraphGetInputValue") -@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AnyAttribute, input: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AttributeGraph.AnyAttribute, input: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphWithUpdate") -@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AnyAttribute, body: () -> Swift.Void) -extension AnyWeakAttribute { - public init(_ attribute: AnyAttribute?) - public init(_ weakAttribute: AttributeGraph.WeakAttribute) - public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - public var attribute: AnyAttribute? { - get - set - } -} -extension AnyWeakAttribute : Swift.Hashable { - public static func == (lhs: AnyWeakAttribute, rhs: AnyWeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -extension AnyWeakAttribute : Swift.CustomStringConvertible { - @_alwaysEmitIntoClient public var description: Swift.String { - get { attribute?.description ?? "nil" } - } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { - internal var base: AnyWeakAttribute - public init(base: AnyWeakAttribute) - public init() - public init(_ attribute: AttributeGraph.Attribute) - public init(_ attribute: AttributeGraph.Attribute?) - public var wrappedValue: Value? { - get - } - public var projectedValue: AttributeGraph.Attribute? { - get - set - _modify - } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { - get - } - public var attribute: AttributeGraph.Attribute? { - get - set - } - public var value: Value? { - get - } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? +@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AttributeGraph.AnyAttribute, body: () -> Swift.Void) +extension AttributeGraph.Subgraph { + public typealias Flags = AttributeGraph.AnyAttribute.Flags + public typealias ChildFlags = AttributeGraph.AnyAttribute.Flags } -extension AttributeGraph.WeakAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } +extension AttributeGraph.Subgraph { + public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int + public func apply(_ body: () -> Value) -> Value + public func forEach(_ flags: AttributeGraph.Subgraph.Flags, _ callback: (AttributeGraph.AnyAttribute) -> Swift.Void) } -extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { - public var description: Swift.String { - get - } +extension AttributeGraph.Subgraph { + public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) + public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) + public static func endTreeElement(value: AttributeGraph.Attribute) } -extension Graph { - public static func typeIndex(ctx: GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: Metadata, flags: _AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.Int +extension AttributeGraph.Graph { + public static func typeIndex(ctx: AttributeGraph.GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: AttributeGraph.Metadata, flags: AttributeGraph._AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.Int } -extension Graph { +extension AttributeGraph.Graph { public static func withoutUpdate(_ body: () -> V) -> V public func withoutSubgraphInvalidation(_ body: () -> V) -> V public func withDeadline(_: Swift.UInt64, _: () -> V) -> V - public func onInvalidation(_ callback: @escaping (AnyAttribute) -> Swift.Void) + public func onInvalidation(_ callback: @escaping (AttributeGraph.AnyAttribute) -> Swift.Void) public func onUpdate(_ callback: @escaping () -> Swift.Void) public func withMainThreadHandler(_: (() -> Swift.Void) -> Swift.Void, do: () -> Swift.Void) } -extension Graph { +extension AttributeGraph.Graph { @_transparent public func startProfiling() { __AGGraphStartProfiling(self) } @@ -517,46 +603,31 @@ extension Graph { public static func stopProfiling() public static func resetProfile() } -extension Graph { +extension AttributeGraph.Graph { @_transparent public var mainUpdates: Swift.Int { @_transparent get { numericCast(counter(for: .mainThreadUpdates)) } } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? + #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } -extension Graph { - @_transparent public static func anyInputsChanged(excluding excludedInputs: [AnyAttribute]) -> Swift.Bool { +extension AttributeGraph.Graph { + @_transparent public static func anyInputsChanged(excluding excludedInputs: [AttributeGraph.AnyAttribute]) -> Swift.Bool { return __AGGraphAnyInputsChanged(excludedInputs, excludedInputs.count) } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) -} -extension Subgraph { - public typealias Flags = AnyAttribute.Flags - public typealias ChildFlags = AnyAttribute.Flags -} -extension Subgraph { - public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int - public func apply(_ body: () -> Value) -> Value - public func forEach(_ flags: Subgraph.Flags, _ callback: (AnyAttribute) -> Swift.Void) -} -extension Subgraph { - public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) - public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) - public static func endTreeElement(value: AttributeGraph.Attribute) -} -public func compareValues(_ lhs: Value, _ rhs: Value, mode: ComparisonMode = .equatableAlways) -> Swift.Bool -public func compareValues(_ lhs: Value, _ rhs: Value, options: ComparisonOptions) -> Swift.Bool -extension ComparisonOptions { - public init(mode: ComparisonMode) + #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) -extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { +extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { public init(_ type: any Any.Type) public var type: any Any.Type { get @@ -564,16 +635,12 @@ extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { public var description: Swift.String { get } - public func forEachField(options: Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool + public func forEachField(options: AttributeGraph.Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool } -extension Signature : Swift.Equatable { - public static func == (lhs: Signature, rhs: Signature) -> Swift.Bool +extension AttributeGraph.Signature : Swift.Equatable { + public static func == (lhs: AttributeGraph.Signature, rhs: AttributeGraph.Signature) -> Swift.Bool } -@discardableResult -public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool -@discardableResult -public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool -extension TupleType { +extension AttributeGraph.TupleType { @_transparent public init(_ types: [any Any.Type]) { self.init(count: types.count, elements: types.map(Metadata.init)) } @@ -597,16 +664,16 @@ extension TupleType { @_transparent public func offset(at index: Swift.Int, as type: T.Type) -> Swift.Int { elementOffset(at: index, type: Metadata(type)) } - @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: TupleType.CopyOptions) { + @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleSetElement(self, tupleValue, index, srcValue, Metadata(T.self), options) } - @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: TupleType.CopyOptions) { + @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleGetElement(self, tupleValue, index, dstValue, Metadata(T.self), options) } } @_silgen_name("AGTupleWithBuffer") -public func withUnsafeTuple(of type: TupleType, count: Swift.Int, _ body: (UnsafeMutableTuple) -> Swift.Void) -extension UnsafeTuple { +public func withUnsafeTuple(of type: AttributeGraph.TupleType, count: Swift.Int, _ body: (AttributeGraph.UnsafeMutableTuple) -> Swift.Void) +extension AttributeGraph.UnsafeTuple { @_transparent public var count: Swift.Int { @_transparent get { type.count } } @@ -633,8 +700,8 @@ extension UnsafeTuple { @_transparent unsafeAddress { address(of: index, as: T.self) } } } -extension UnsafeMutableTuple { - @_transparent public init(with tupleType: TupleType) { +extension AttributeGraph.UnsafeMutableTuple { + @_transparent public init(with tupleType: AttributeGraph.TupleType) { self.init( type: tupleType, value: UnsafeMutableRawPointer.allocate( @@ -688,21 +755,30 @@ extension UnsafeMutableTuple { @_transparent nonmutating unsafeMutableAddress { address(of: index, as: T.self) } } } -extension AttributeGraph.Attribute : Swift.Sendable {} -extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} -extension AttributeGraph.External : Swift.Sendable {} -extension AttributeGraph.External : Swift.BitwiseCopyable {} +@discardableResult +public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool +@discardableResult +public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, mode: AttributeGraph.ComparisonMode = .equatableAlways) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, options: AttributeGraph.ComparisonOptions) -> Swift.Bool +extension AttributeGraph.ComparisonOptions { + public init(mode: AttributeGraph.ComparisonMode) +} extension AttributeGraph.PointerOffset : Swift.Sendable {} extension AttributeGraph.PointerOffset : Swift.BitwiseCopyable {} -extension AttributeGraph.IndirectAttribute : Swift.Sendable {} -extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.External : Swift.Sendable {} +extension AttributeGraph.External : Swift.BitwiseCopyable {} +extension AttributeGraph.Attribute : Swift.Sendable {} +extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} +extension AttributeGraph.WeakAttribute : Swift.Sendable {} +extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.OptionalAttribute : Swift.Sendable {} extension AttributeGraph.OptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.IndirectAttribute : Swift.Sendable {} +extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.AnyRuleContext : Swift.Sendable {} extension AttributeGraph.AnyRuleContext : Swift.BitwiseCopyable {} extension AttributeGraph.RuleContext : Swift.Sendable {} extension AttributeGraph.RuleContext : Swift.BitwiseCopyable {} -extension AttributeGraph.WeakAttribute : Swift.Sendable {} -extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} diff --git a/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-ios-simulator.swiftinterface index 58eefa0..5cd8c39 100644 --- a/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-ios-simulator.swiftinterface @@ -7,19 +7,21 @@ public import Swift public import _Concurrency public import _StringProcessing public import _SwiftConcurrencyShims -extension AnyAttribute { +extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - public static var current: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public static var current: AttributeGraph.AnyAttribute? { get } - public func unsafeOffset(at offset: Swift.Int) -> AnyAttribute - public func setFlags(_ newFlags: AnyAttribute.Flags, mask: AnyAttribute.Flags) - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) + #endif + public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute + public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: Value.Type, invalidating: Swift.Bool, _ body: (inout Value) -> Swift.Void) - public func breadthFirstSearch(options _: SearchOptions = [], _: (AnyAttribute) -> Swift.Bool) -> Swift.Bool + public func breadthFirstSearch(options _: AttributeGraph.SearchOptions = [], _: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool public var _bodyType: any Any.Type { get } @@ -29,24 +31,73 @@ extension AnyAttribute { public var valueType: any Any.Type { get } - public var indirectDependency: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } + #endif } -extension AnyAttribute : Swift.CustomStringConvertible { +extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { get { "#\(rawValue)" } } } -public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void +public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void +@frozen public struct PointerOffset { + public var byteOffset: Swift.Int + public init(byteOffset: Swift.Int) +} +extension AttributeGraph.PointerOffset { + public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset { + public static func invalidScenePointer() -> Swift.UnsafeMutablePointer + public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset + public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset where Base == Member { + public init() +} +extension Swift.UnsafePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + } + public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer +} +extension Swift.UnsafeMutablePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + nonmutating unsafeMutableAddress + } + public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer +} +@frozen public struct External { + public init() +} +extension AttributeGraph.External : AttributeGraph._AttributeBody { + public static var comparisonMode: AttributeGraph.ComparisonMode { + get + } + public static var flags: AttributeGraph.External.Flags { + get + } + public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) +} +extension AttributeGraph.External : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} @frozen @propertyWrapper @dynamicMemberLookup public struct Attribute { - public var identifier: AnyAttribute - public init(identifier: AnyAttribute) + public var identifier: AttributeGraph.AnyAttribute + public init(identifier: AttributeGraph.AnyAttribute) public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: _AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #if compiler(>=5.3) && $NonescapableTypes + public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -69,22 +120,22 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func applying(offset: AttributeGraph.PointerOffset) -> AttributeGraph.Attribute public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: V.Type, invalidating: Swift.Bool, _ body: (inout V) -> Swift.Void) - public func breadthFirstSearch(options: SearchOptions = [], _ body: (AnyAttribute) -> Swift.Bool) -> Swift.Bool - public var graph: Graph { + public func breadthFirstSearch(options: AttributeGraph.SearchOptions = [], _ body: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool + public var graph: AttributeGraph.Graph { get } - public var subgraph: Subgraph { + public var subgraph: AttributeGraph.Subgraph { get } public var value: Value { unsafeAddress nonmutating set } - public var valueState: ValueState { + public var valueState: AttributeGraph.ValueState { get } - public func valueAndFlags(options: AGValueOptions = []) -> (value: Value, flags: AGChangedValueFlags) - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public func valueAndFlags(options: AttributeGraph.AGValueOptions = []) -> (value: Value, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) public func setValue(_ value: Value) -> Swift.Bool public var hasValue: Swift.Bool { get @@ -93,9 +144,9 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func prefetchValue() public func invalidateValue() public func validate() - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) - public typealias Flags = AnyAttribute.Flags + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public typealias Flags = AttributeGraph.AnyAttribute.Flags public var flags: AttributeGraph.Attribute.Flags { get nonmutating set @@ -118,63 +169,32 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } +#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") -@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AnyAttribute +@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute +#endif @_silgen_name("AGGraphGetValue") -@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") -@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool -@frozen public struct External { - public init() +@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AttributeGraph.AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool +public protocol AttributeBodyVisitor { + func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody } -extension AttributeGraph.External : AttributeGraph._AttributeBody { - public static var comparisonMode: ComparisonMode { - get - } - public static var flags: AttributeGraph.External.Flags { - get - } - public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) +public protocol ObservedAttribute : AttributeGraph._AttributeBody { + mutating func destroy() } -extension AttributeGraph.External : Swift.CustomStringConvertible { - public var description: Swift.String { +extension AttributeGraph.ObservedAttribute { + public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) + public static var _hasDestroySelf: Swift.Bool { get } } -@frozen public struct PointerOffset { - public var byteOffset: Swift.Int - public init(byteOffset: Swift.Int) -} -extension AttributeGraph.PointerOffset { - public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset { - public static func invalidScenePointer() -> Swift.UnsafeMutablePointer - public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset - public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset where Base == Member { - public init() -} -extension Swift.UnsafePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - } - public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer -} -extension Swift.UnsafeMutablePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - nonmutating unsafeMutableAddress - } - public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer -} public protocol _AttributeBody { static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) static var _hasDestroySelf: Swift.Bool { get } static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - static var comparisonMode: ComparisonMode { get } - typealias Flags = _AttributeType.Flags + static var comparisonMode: AttributeGraph.ComparisonMode { get } + typealias Flags = AttributeGraph._AttributeType.Flags static var flags: Self.Flags { get } } extension AttributeGraph._AttributeBody { @@ -183,85 +203,180 @@ extension AttributeGraph._AttributeBody { get } public static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - public static var comparisonMode: ComparisonMode { + public static var comparisonMode: AttributeGraph.ComparisonMode { get } public static var flags: Self.Flags { get } } -public protocol AttributeBodyVisitor { - func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody -} -public protocol ObservedAttribute : AttributeGraph._AttributeBody { - mutating func destroy() -} -extension AttributeGraph.ObservedAttribute { - public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) - public static var _hasDestroySelf: Swift.Bool { +@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { + internal var base: AttributeGraph.AnyWeakAttribute + public init(base: AttributeGraph.AnyWeakAttribute) + public init() + public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.Attribute?) + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var wrappedValue: Value? { get } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { - public let identifier: AnyAttribute - public init(source: AttributeGraph.Attribute) - public var source: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var projectedValue: AttributeGraph.Attribute? { get - nonmutating set + set + _modify } - public var dependency: AnyAttribute? { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get - nonmutating set } - public var value: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.Attribute? { get - nonmutating set - nonmutating _modify + set } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) - public var wrappedValue: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var value: Value? { get - nonmutating set - nonmutating _modify } - public var projectedValue: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif +} +extension AttributeGraph.WeakAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { +} +extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { + public var description: Swift.String { get } } -extension AttributeGraph.IndirectAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool +extension AttributeGraph.AnyWeakAttribute { + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ weakAttribute: AttributeGraph.WeakAttribute) + public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { + get + set + } + #endif +} +extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { + public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) public var hashValue: Swift.Int { get } } -@frozen public struct AnyOptionalAttribute { - public var identifier: AnyAttribute - public init() - public init(_ attribute: AnyAttribute) - public init(_ attribute: AnyAttribute?) - public init(_ attribute: AttributeGraph.OptionalAttribute) - public static var current: AttributeGraph.AnyOptionalAttribute { +extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { + @_alwaysEmitIntoClient public var description: Swift.String { + get { attribute?.description ?? "nil" } + } +} +public protocol Rule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + var value: Self.Value { get } +} +extension AttributeGraph.Rule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.Rule { + public var attribute: AttributeGraph.Attribute { get } - public var attribute: AnyAttribute? { + public var context: AttributeGraph.RuleContext { get - set } - public func map(_ body: (AnyAttribute) -> Value) -> Value? - public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { +extension AttributeGraph.Rule where Self : Swift.Hashable { + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer + #endif +} +@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var arg: AttributeGraph.Attribute + public let body: (Source) -> Value + public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) + public var value: Value { + get + } + public static var flags: AttributeGraph.Map.Flags { + get + } + public var description: Swift.String { get } } -extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { +public protocol StatefulRule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + mutating func updateValue() +} +extension AttributeGraph.StatefulRule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.StatefulRule { + public var attribute: AttributeGraph.Attribute { + get + } + public var context: AttributeGraph.RuleContext { + get + } + public var value: Self.Value { + unsafeAddress + nonmutating set + } + public var hasValue: Swift.Bool { + get + } +} +@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var root: AttributeGraph.Attribute + public var keyPath: Swift.KeyPath + public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) + public var value: Value { + get + } + public static var flags: AttributeGraph.Focus.Flags { + get + } public var description: Swift.String { get } @@ -271,28 +386,44 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) + #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) + #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? + #endif + #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } + #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -306,101 +437,97 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { get } } -@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var root: AttributeGraph.Attribute - public var keyPath: Swift.KeyPath - public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) - public var value: Value { - get - } - public static var flags: AttributeGraph.Focus.Flags { +@frozen public struct AnyOptionalAttribute { + public var identifier: AttributeGraph.AnyAttribute + public init() + public init(_ attribute: AttributeGraph.AnyAttribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ attribute: AttributeGraph.OptionalAttribute) + public static var current: AttributeGraph.AnyOptionalAttribute { get } - public var description: Swift.String { + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { get + set } + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? + #endif + public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var arg: AttributeGraph.Attribute - public let body: (Source) -> Value - public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) - public var value: Value { - get - } - public static var flags: AttributeGraph.Map.Flags { +extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } +} +extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public var description: Swift.String { get } } -public protocol Rule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - var value: Self.Value { get } -} -extension AttributeGraph.Rule { - public static var initialValue: Self.Value? { +@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { + public let identifier: AttributeGraph.AnyAttribute + public init(source: AttributeGraph.Attribute) + public var source: AttributeGraph.Attribute { get + nonmutating set } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.Rule { - public var attribute: AttributeGraph.Attribute { + #if compiler(>=5.3) && $NonescapableTypes + public var dependency: AttributeGraph.AnyAttribute? { get + nonmutating set } - public var context: AttributeGraph.RuleContext { + #endif + public var value: Value { get + nonmutating set + nonmutating _modify } -} -extension AttributeGraph.Rule where Self : Swift.Hashable { - public func cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value - public func cachedValueIfExists(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value? - public static func _cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer -} -public protocol StatefulRule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - mutating func updateValue() -} -extension AttributeGraph.StatefulRule { - public static var initialValue: Self.Value? { + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public var wrappedValue: Value { get + nonmutating set + nonmutating _modify } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.StatefulRule { - public var attribute: AttributeGraph.Attribute { + public var projectedValue: AttributeGraph.Attribute { get } - public var context: AttributeGraph.RuleContext { + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { get } - public var value: Self.Value { - unsafeAddress - nonmutating set - } - public var hasValue: Swift.Bool { +} +extension AttributeGraph.IndirectAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } } @frozen public struct AnyRuleContext : Swift.Equatable { - public var attribute: AnyAttribute - public init(attribute: AnyAttribute) + public var attribute: AttributeGraph.AnyAttribute + public init(attribute: AttributeGraph.AnyAttribute) public init(_ context: AttributeGraph.RuleContext) public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + #endif + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public func unsafeCast(to _: V.Type) -> AttributeGraph.RuleContext public static func == (a: AttributeGraph.AnyRuleContext, b: AttributeGraph.AnyRuleContext) -> Swift.Bool @@ -411,12 +538,16 @@ extension AttributeGraph.StatefulRule { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } + #endif public var value: Value { unsafeAddress nonmutating set @@ -424,86 +555,41 @@ extension AttributeGraph.StatefulRule { public var hasValue: Swift.Bool { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public static func == (a: AttributeGraph.RuleContext, b: AttributeGraph.RuleContext) -> Swift.Bool } @_silgen_name("AGGraphGetInputValue") -@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AnyAttribute, input: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AttributeGraph.AnyAttribute, input: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphWithUpdate") -@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AnyAttribute, body: () -> Swift.Void) -extension AnyWeakAttribute { - public init(_ attribute: AnyAttribute?) - public init(_ weakAttribute: AttributeGraph.WeakAttribute) - public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - public var attribute: AnyAttribute? { - get - set - } -} -extension AnyWeakAttribute : Swift.Hashable { - public static func == (lhs: AnyWeakAttribute, rhs: AnyWeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -extension AnyWeakAttribute : Swift.CustomStringConvertible { - @_alwaysEmitIntoClient public var description: Swift.String { - get { attribute?.description ?? "nil" } - } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { - internal var base: AnyWeakAttribute - public init(base: AnyWeakAttribute) - public init() - public init(_ attribute: AttributeGraph.Attribute) - public init(_ attribute: AttributeGraph.Attribute?) - public var wrappedValue: Value? { - get - } - public var projectedValue: AttributeGraph.Attribute? { - get - set - _modify - } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { - get - } - public var attribute: AttributeGraph.Attribute? { - get - set - } - public var value: Value? { - get - } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? +@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AttributeGraph.AnyAttribute, body: () -> Swift.Void) +extension AttributeGraph.Subgraph { + public typealias Flags = AttributeGraph.AnyAttribute.Flags + public typealias ChildFlags = AttributeGraph.AnyAttribute.Flags } -extension AttributeGraph.WeakAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } +extension AttributeGraph.Subgraph { + public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int + public func apply(_ body: () -> Value) -> Value + public func forEach(_ flags: AttributeGraph.Subgraph.Flags, _ callback: (AttributeGraph.AnyAttribute) -> Swift.Void) } -extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { - public var description: Swift.String { - get - } +extension AttributeGraph.Subgraph { + public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) + public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) + public static func endTreeElement(value: AttributeGraph.Attribute) } -extension Graph { - public static func typeIndex(ctx: GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: Metadata, flags: _AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.Int +extension AttributeGraph.Graph { + public static func typeIndex(ctx: AttributeGraph.GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: AttributeGraph.Metadata, flags: AttributeGraph._AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.Int } -extension Graph { +extension AttributeGraph.Graph { public static func withoutUpdate(_ body: () -> V) -> V public func withoutSubgraphInvalidation(_ body: () -> V) -> V public func withDeadline(_: Swift.UInt64, _: () -> V) -> V - public func onInvalidation(_ callback: @escaping (AnyAttribute) -> Swift.Void) + public func onInvalidation(_ callback: @escaping (AttributeGraph.AnyAttribute) -> Swift.Void) public func onUpdate(_ callback: @escaping () -> Swift.Void) public func withMainThreadHandler(_: (() -> Swift.Void) -> Swift.Void, do: () -> Swift.Void) } -extension Graph { +extension AttributeGraph.Graph { @_transparent public func startProfiling() { __AGGraphStartProfiling(self) } @@ -517,46 +603,31 @@ extension Graph { public static func stopProfiling() public static func resetProfile() } -extension Graph { +extension AttributeGraph.Graph { @_transparent public var mainUpdates: Swift.Int { @_transparent get { numericCast(counter(for: .mainThreadUpdates)) } } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? + #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } -extension Graph { - @_transparent public static func anyInputsChanged(excluding excludedInputs: [AnyAttribute]) -> Swift.Bool { +extension AttributeGraph.Graph { + @_transparent public static func anyInputsChanged(excluding excludedInputs: [AttributeGraph.AnyAttribute]) -> Swift.Bool { return __AGGraphAnyInputsChanged(excludedInputs, excludedInputs.count) } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) -} -extension Subgraph { - public typealias Flags = AnyAttribute.Flags - public typealias ChildFlags = AnyAttribute.Flags -} -extension Subgraph { - public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int - public func apply(_ body: () -> Value) -> Value - public func forEach(_ flags: Subgraph.Flags, _ callback: (AnyAttribute) -> Swift.Void) -} -extension Subgraph { - public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) - public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) - public static func endTreeElement(value: AttributeGraph.Attribute) -} -public func compareValues(_ lhs: Value, _ rhs: Value, mode: ComparisonMode = .equatableAlways) -> Swift.Bool -public func compareValues(_ lhs: Value, _ rhs: Value, options: ComparisonOptions) -> Swift.Bool -extension ComparisonOptions { - public init(mode: ComparisonMode) + #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) -extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { +extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { public init(_ type: any Any.Type) public var type: any Any.Type { get @@ -564,16 +635,12 @@ extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { public var description: Swift.String { get } - public func forEachField(options: Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool + public func forEachField(options: AttributeGraph.Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool } -extension Signature : Swift.Equatable { - public static func == (lhs: Signature, rhs: Signature) -> Swift.Bool +extension AttributeGraph.Signature : Swift.Equatable { + public static func == (lhs: AttributeGraph.Signature, rhs: AttributeGraph.Signature) -> Swift.Bool } -@discardableResult -public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool -@discardableResult -public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool -extension TupleType { +extension AttributeGraph.TupleType { @_transparent public init(_ types: [any Any.Type]) { self.init(count: types.count, elements: types.map(Metadata.init)) } @@ -597,16 +664,16 @@ extension TupleType { @_transparent public func offset(at index: Swift.Int, as type: T.Type) -> Swift.Int { elementOffset(at: index, type: Metadata(type)) } - @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: TupleType.CopyOptions) { + @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleSetElement(self, tupleValue, index, srcValue, Metadata(T.self), options) } - @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: TupleType.CopyOptions) { + @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleGetElement(self, tupleValue, index, dstValue, Metadata(T.self), options) } } @_silgen_name("AGTupleWithBuffer") -public func withUnsafeTuple(of type: TupleType, count: Swift.Int, _ body: (UnsafeMutableTuple) -> Swift.Void) -extension UnsafeTuple { +public func withUnsafeTuple(of type: AttributeGraph.TupleType, count: Swift.Int, _ body: (AttributeGraph.UnsafeMutableTuple) -> Swift.Void) +extension AttributeGraph.UnsafeTuple { @_transparent public var count: Swift.Int { @_transparent get { type.count } } @@ -633,8 +700,8 @@ extension UnsafeTuple { @_transparent unsafeAddress { address(of: index, as: T.self) } } } -extension UnsafeMutableTuple { - @_transparent public init(with tupleType: TupleType) { +extension AttributeGraph.UnsafeMutableTuple { + @_transparent public init(with tupleType: AttributeGraph.TupleType) { self.init( type: tupleType, value: UnsafeMutableRawPointer.allocate( @@ -688,21 +755,30 @@ extension UnsafeMutableTuple { @_transparent nonmutating unsafeMutableAddress { address(of: index, as: T.self) } } } -extension AttributeGraph.Attribute : Swift.Sendable {} -extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} -extension AttributeGraph.External : Swift.Sendable {} -extension AttributeGraph.External : Swift.BitwiseCopyable {} +@discardableResult +public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool +@discardableResult +public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, mode: AttributeGraph.ComparisonMode = .equatableAlways) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, options: AttributeGraph.ComparisonOptions) -> Swift.Bool +extension AttributeGraph.ComparisonOptions { + public init(mode: AttributeGraph.ComparisonMode) +} extension AttributeGraph.PointerOffset : Swift.Sendable {} extension AttributeGraph.PointerOffset : Swift.BitwiseCopyable {} -extension AttributeGraph.IndirectAttribute : Swift.Sendable {} -extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.External : Swift.Sendable {} +extension AttributeGraph.External : Swift.BitwiseCopyable {} +extension AttributeGraph.Attribute : Swift.Sendable {} +extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} +extension AttributeGraph.WeakAttribute : Swift.Sendable {} +extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.OptionalAttribute : Swift.Sendable {} extension AttributeGraph.OptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.IndirectAttribute : Swift.Sendable {} +extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.AnyRuleContext : Swift.Sendable {} extension AttributeGraph.AnyRuleContext : Swift.BitwiseCopyable {} extension AttributeGraph.RuleContext : Swift.Sendable {} extension AttributeGraph.RuleContext : Swift.BitwiseCopyable {} -extension AttributeGraph.WeakAttribute : Swift.Sendable {} -extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} diff --git a/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-macos.swiftinterface b/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-macos.swiftinterface index ded90b2..f9e0c1b 100644 --- a/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-macos.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-macos.swiftinterface @@ -7,19 +7,21 @@ public import Swift public import _Concurrency public import _StringProcessing public import _SwiftConcurrencyShims -extension AnyAttribute { +extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - public static var current: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public static var current: AttributeGraph.AnyAttribute? { get } - public func unsafeOffset(at offset: Swift.Int) -> AnyAttribute - public func setFlags(_ newFlags: AnyAttribute.Flags, mask: AnyAttribute.Flags) - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) + #endif + public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute + public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: Value.Type, invalidating: Swift.Bool, _ body: (inout Value) -> Swift.Void) - public func breadthFirstSearch(options _: SearchOptions = [], _: (AnyAttribute) -> Swift.Bool) -> Swift.Bool + public func breadthFirstSearch(options _: AttributeGraph.SearchOptions = [], _: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool public var _bodyType: any Any.Type { get } @@ -29,24 +31,73 @@ extension AnyAttribute { public var valueType: any Any.Type { get } - public var indirectDependency: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } + #endif } -extension AnyAttribute : Swift.CustomStringConvertible { +extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { get { "#\(rawValue)" } } } -public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void +public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void +@frozen public struct PointerOffset { + public var byteOffset: Swift.Int + public init(byteOffset: Swift.Int) +} +extension AttributeGraph.PointerOffset { + public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset { + public static func invalidScenePointer() -> Swift.UnsafeMutablePointer + public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset + public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset where Base == Member { + public init() +} +extension Swift.UnsafePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + } + public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer +} +extension Swift.UnsafeMutablePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + nonmutating unsafeMutableAddress + } + public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer +} +@frozen public struct External { + public init() +} +extension AttributeGraph.External : AttributeGraph._AttributeBody { + public static var comparisonMode: AttributeGraph.ComparisonMode { + get + } + public static var flags: AttributeGraph.External.Flags { + get + } + public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) +} +extension AttributeGraph.External : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} @frozen @propertyWrapper @dynamicMemberLookup public struct Attribute { - public var identifier: AnyAttribute - public init(identifier: AnyAttribute) + public var identifier: AttributeGraph.AnyAttribute + public init(identifier: AttributeGraph.AnyAttribute) public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: _AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #if compiler(>=5.3) && $NonescapableTypes + public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -69,22 +120,22 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func applying(offset: AttributeGraph.PointerOffset) -> AttributeGraph.Attribute public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: V.Type, invalidating: Swift.Bool, _ body: (inout V) -> Swift.Void) - public func breadthFirstSearch(options: SearchOptions = [], _ body: (AnyAttribute) -> Swift.Bool) -> Swift.Bool - public var graph: Graph { + public func breadthFirstSearch(options: AttributeGraph.SearchOptions = [], _ body: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool + public var graph: AttributeGraph.Graph { get } - public var subgraph: Subgraph { + public var subgraph: AttributeGraph.Subgraph { get } public var value: Value { unsafeAddress nonmutating set } - public var valueState: ValueState { + public var valueState: AttributeGraph.ValueState { get } - public func valueAndFlags(options: AGValueOptions = []) -> (value: Value, flags: AGChangedValueFlags) - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public func valueAndFlags(options: AttributeGraph.AGValueOptions = []) -> (value: Value, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) public func setValue(_ value: Value) -> Swift.Bool public var hasValue: Swift.Bool { get @@ -93,9 +144,9 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func prefetchValue() public func invalidateValue() public func validate() - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) - public typealias Flags = AnyAttribute.Flags + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public typealias Flags = AttributeGraph.AnyAttribute.Flags public var flags: AttributeGraph.Attribute.Flags { get nonmutating set @@ -118,63 +169,32 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } +#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") -@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AnyAttribute +@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute +#endif @_silgen_name("AGGraphGetValue") -@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") -@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool -@frozen public struct External { - public init() +@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AttributeGraph.AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool +public protocol AttributeBodyVisitor { + func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody } -extension AttributeGraph.External : AttributeGraph._AttributeBody { - public static var comparisonMode: ComparisonMode { - get - } - public static var flags: AttributeGraph.External.Flags { - get - } - public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) +public protocol ObservedAttribute : AttributeGraph._AttributeBody { + mutating func destroy() } -extension AttributeGraph.External : Swift.CustomStringConvertible { - public var description: Swift.String { +extension AttributeGraph.ObservedAttribute { + public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) + public static var _hasDestroySelf: Swift.Bool { get } } -@frozen public struct PointerOffset { - public var byteOffset: Swift.Int - public init(byteOffset: Swift.Int) -} -extension AttributeGraph.PointerOffset { - public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset { - public static func invalidScenePointer() -> Swift.UnsafeMutablePointer - public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset - public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset where Base == Member { - public init() -} -extension Swift.UnsafePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - } - public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer -} -extension Swift.UnsafeMutablePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - nonmutating unsafeMutableAddress - } - public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer -} public protocol _AttributeBody { static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) static var _hasDestroySelf: Swift.Bool { get } static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - static var comparisonMode: ComparisonMode { get } - typealias Flags = _AttributeType.Flags + static var comparisonMode: AttributeGraph.ComparisonMode { get } + typealias Flags = AttributeGraph._AttributeType.Flags static var flags: Self.Flags { get } } extension AttributeGraph._AttributeBody { @@ -183,85 +203,180 @@ extension AttributeGraph._AttributeBody { get } public static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - public static var comparisonMode: ComparisonMode { + public static var comparisonMode: AttributeGraph.ComparisonMode { get } public static var flags: Self.Flags { get } } -public protocol AttributeBodyVisitor { - func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody -} -public protocol ObservedAttribute : AttributeGraph._AttributeBody { - mutating func destroy() -} -extension AttributeGraph.ObservedAttribute { - public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) - public static var _hasDestroySelf: Swift.Bool { +@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { + internal var base: AttributeGraph.AnyWeakAttribute + public init(base: AttributeGraph.AnyWeakAttribute) + public init() + public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.Attribute?) + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var wrappedValue: Value? { get } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { - public let identifier: AnyAttribute - public init(source: AttributeGraph.Attribute) - public var source: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var projectedValue: AttributeGraph.Attribute? { get - nonmutating set + set + _modify } - public var dependency: AnyAttribute? { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get - nonmutating set } - public var value: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.Attribute? { get - nonmutating set - nonmutating _modify + set } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) - public var wrappedValue: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var value: Value? { get - nonmutating set - nonmutating _modify } - public var projectedValue: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif +} +extension AttributeGraph.WeakAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { +} +extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { + public var description: Swift.String { get } } -extension AttributeGraph.IndirectAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool +extension AttributeGraph.AnyWeakAttribute { + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ weakAttribute: AttributeGraph.WeakAttribute) + public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { + get + set + } + #endif +} +extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { + public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) public var hashValue: Swift.Int { get } } -@frozen public struct AnyOptionalAttribute { - public var identifier: AnyAttribute - public init() - public init(_ attribute: AnyAttribute) - public init(_ attribute: AnyAttribute?) - public init(_ attribute: AttributeGraph.OptionalAttribute) - public static var current: AttributeGraph.AnyOptionalAttribute { +extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { + @_alwaysEmitIntoClient public var description: Swift.String { + get { attribute?.description ?? "nil" } + } +} +public protocol Rule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + var value: Self.Value { get } +} +extension AttributeGraph.Rule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.Rule { + public var attribute: AttributeGraph.Attribute { get } - public var attribute: AnyAttribute? { + public var context: AttributeGraph.RuleContext { get - set } - public func map(_ body: (AnyAttribute) -> Value) -> Value? - public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { +extension AttributeGraph.Rule where Self : Swift.Hashable { + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer + #endif +} +@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var arg: AttributeGraph.Attribute + public let body: (Source) -> Value + public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) + public var value: Value { + get + } + public static var flags: AttributeGraph.Map.Flags { + get + } + public var description: Swift.String { get } } -extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { +public protocol StatefulRule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + mutating func updateValue() +} +extension AttributeGraph.StatefulRule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.StatefulRule { + public var attribute: AttributeGraph.Attribute { + get + } + public var context: AttributeGraph.RuleContext { + get + } + public var value: Self.Value { + unsafeAddress + nonmutating set + } + public var hasValue: Swift.Bool { + get + } +} +@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var root: AttributeGraph.Attribute + public var keyPath: Swift.KeyPath + public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) + public var value: Value { + get + } + public static var flags: AttributeGraph.Focus.Flags { + get + } public var description: Swift.String { get } @@ -271,28 +386,44 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) + #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) + #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? + #endif + #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } + #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -306,101 +437,97 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { get } } -@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var root: AttributeGraph.Attribute - public var keyPath: Swift.KeyPath - public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) - public var value: Value { - get - } - public static var flags: AttributeGraph.Focus.Flags { +@frozen public struct AnyOptionalAttribute { + public var identifier: AttributeGraph.AnyAttribute + public init() + public init(_ attribute: AttributeGraph.AnyAttribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ attribute: AttributeGraph.OptionalAttribute) + public static var current: AttributeGraph.AnyOptionalAttribute { get } - public var description: Swift.String { + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { get + set } + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? + #endif + public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var arg: AttributeGraph.Attribute - public let body: (Source) -> Value - public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) - public var value: Value { - get - } - public static var flags: AttributeGraph.Map.Flags { +extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } +} +extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public var description: Swift.String { get } } -public protocol Rule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - var value: Self.Value { get } -} -extension AttributeGraph.Rule { - public static var initialValue: Self.Value? { +@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { + public let identifier: AttributeGraph.AnyAttribute + public init(source: AttributeGraph.Attribute) + public var source: AttributeGraph.Attribute { get + nonmutating set } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.Rule { - public var attribute: AttributeGraph.Attribute { + #if compiler(>=5.3) && $NonescapableTypes + public var dependency: AttributeGraph.AnyAttribute? { get + nonmutating set } - public var context: AttributeGraph.RuleContext { + #endif + public var value: Value { get + nonmutating set + nonmutating _modify } -} -extension AttributeGraph.Rule where Self : Swift.Hashable { - public func cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value - public func cachedValueIfExists(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value? - public static func _cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer -} -public protocol StatefulRule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - mutating func updateValue() -} -extension AttributeGraph.StatefulRule { - public static var initialValue: Self.Value? { + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public var wrappedValue: Value { get + nonmutating set + nonmutating _modify } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.StatefulRule { - public var attribute: AttributeGraph.Attribute { + public var projectedValue: AttributeGraph.Attribute { get } - public var context: AttributeGraph.RuleContext { + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { get } - public var value: Self.Value { - unsafeAddress - nonmutating set - } - public var hasValue: Swift.Bool { +} +extension AttributeGraph.IndirectAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } } @frozen public struct AnyRuleContext : Swift.Equatable { - public var attribute: AnyAttribute - public init(attribute: AnyAttribute) + public var attribute: AttributeGraph.AnyAttribute + public init(attribute: AttributeGraph.AnyAttribute) public init(_ context: AttributeGraph.RuleContext) public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + #endif + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public func unsafeCast(to _: V.Type) -> AttributeGraph.RuleContext public static func == (a: AttributeGraph.AnyRuleContext, b: AttributeGraph.AnyRuleContext) -> Swift.Bool @@ -411,12 +538,16 @@ extension AttributeGraph.StatefulRule { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } + #endif public var value: Value { unsafeAddress nonmutating set @@ -424,86 +555,41 @@ extension AttributeGraph.StatefulRule { public var hasValue: Swift.Bool { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public static func == (a: AttributeGraph.RuleContext, b: AttributeGraph.RuleContext) -> Swift.Bool } @_silgen_name("AGGraphGetInputValue") -@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AnyAttribute, input: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AttributeGraph.AnyAttribute, input: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphWithUpdate") -@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AnyAttribute, body: () -> Swift.Void) -extension AnyWeakAttribute { - public init(_ attribute: AnyAttribute?) - public init(_ weakAttribute: AttributeGraph.WeakAttribute) - public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - public var attribute: AnyAttribute? { - get - set - } -} -extension AnyWeakAttribute : Swift.Hashable { - public static func == (lhs: AnyWeakAttribute, rhs: AnyWeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -extension AnyWeakAttribute : Swift.CustomStringConvertible { - @_alwaysEmitIntoClient public var description: Swift.String { - get { attribute?.description ?? "nil" } - } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { - internal var base: AnyWeakAttribute - public init(base: AnyWeakAttribute) - public init() - public init(_ attribute: AttributeGraph.Attribute) - public init(_ attribute: AttributeGraph.Attribute?) - public var wrappedValue: Value? { - get - } - public var projectedValue: AttributeGraph.Attribute? { - get - set - _modify - } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { - get - } - public var attribute: AttributeGraph.Attribute? { - get - set - } - public var value: Value? { - get - } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? +@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AttributeGraph.AnyAttribute, body: () -> Swift.Void) +extension AttributeGraph.Subgraph { + public typealias Flags = AttributeGraph.AnyAttribute.Flags + public typealias ChildFlags = AttributeGraph.AnyAttribute.Flags } -extension AttributeGraph.WeakAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } +extension AttributeGraph.Subgraph { + public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int + public func apply(_ body: () -> Value) -> Value + public func forEach(_ flags: AttributeGraph.Subgraph.Flags, _ callback: (AttributeGraph.AnyAttribute) -> Swift.Void) } -extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { - public var description: Swift.String { - get - } +extension AttributeGraph.Subgraph { + public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) + public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) + public static func endTreeElement(value: AttributeGraph.Attribute) } -extension Graph { - public static func typeIndex(ctx: GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: Metadata, flags: _AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.Int +extension AttributeGraph.Graph { + public static func typeIndex(ctx: AttributeGraph.GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: AttributeGraph.Metadata, flags: AttributeGraph._AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.Int } -extension Graph { +extension AttributeGraph.Graph { public static func withoutUpdate(_ body: () -> V) -> V public func withoutSubgraphInvalidation(_ body: () -> V) -> V public func withDeadline(_: Swift.UInt64, _: () -> V) -> V - public func onInvalidation(_ callback: @escaping (AnyAttribute) -> Swift.Void) + public func onInvalidation(_ callback: @escaping (AttributeGraph.AnyAttribute) -> Swift.Void) public func onUpdate(_ callback: @escaping () -> Swift.Void) public func withMainThreadHandler(_: (() -> Swift.Void) -> Swift.Void, do: () -> Swift.Void) } -extension Graph { +extension AttributeGraph.Graph { @_transparent public func startProfiling() { __AGGraphStartProfiling(self) } @@ -517,46 +603,31 @@ extension Graph { public static func stopProfiling() public static func resetProfile() } -extension Graph { +extension AttributeGraph.Graph { @_transparent public var mainUpdates: Swift.Int { @_transparent get { numericCast(counter(for: .mainThreadUpdates)) } } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? + #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } -extension Graph { - @_transparent public static func anyInputsChanged(excluding excludedInputs: [AnyAttribute]) -> Swift.Bool { +extension AttributeGraph.Graph { + @_transparent public static func anyInputsChanged(excluding excludedInputs: [AttributeGraph.AnyAttribute]) -> Swift.Bool { return __AGGraphAnyInputsChanged(excludedInputs, excludedInputs.count) } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) -} -extension Subgraph { - public typealias Flags = AnyAttribute.Flags - public typealias ChildFlags = AnyAttribute.Flags -} -extension Subgraph { - public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int - public func apply(_ body: () -> Value) -> Value - public func forEach(_ flags: Subgraph.Flags, _ callback: (AnyAttribute) -> Swift.Void) -} -extension Subgraph { - public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) - public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) - public static func endTreeElement(value: AttributeGraph.Attribute) -} -public func compareValues(_ lhs: Value, _ rhs: Value, mode: ComparisonMode = .equatableAlways) -> Swift.Bool -public func compareValues(_ lhs: Value, _ rhs: Value, options: ComparisonOptions) -> Swift.Bool -extension ComparisonOptions { - public init(mode: ComparisonMode) + #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) -extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { +extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { public init(_ type: any Any.Type) public var type: any Any.Type { get @@ -564,16 +635,12 @@ extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { public var description: Swift.String { get } - public func forEachField(options: Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool + public func forEachField(options: AttributeGraph.Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool } -extension Signature : Swift.Equatable { - public static func == (lhs: Signature, rhs: Signature) -> Swift.Bool +extension AttributeGraph.Signature : Swift.Equatable { + public static func == (lhs: AttributeGraph.Signature, rhs: AttributeGraph.Signature) -> Swift.Bool } -@discardableResult -public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool -@discardableResult -public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool -extension TupleType { +extension AttributeGraph.TupleType { @_transparent public init(_ types: [any Any.Type]) { self.init(count: types.count, elements: types.map(Metadata.init)) } @@ -597,16 +664,16 @@ extension TupleType { @_transparent public func offset(at index: Swift.Int, as type: T.Type) -> Swift.Int { elementOffset(at: index, type: Metadata(type)) } - @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: TupleType.CopyOptions) { + @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleSetElement(self, tupleValue, index, srcValue, Metadata(T.self), options) } - @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: TupleType.CopyOptions) { + @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleGetElement(self, tupleValue, index, dstValue, Metadata(T.self), options) } } @_silgen_name("AGTupleWithBuffer") -public func withUnsafeTuple(of type: TupleType, count: Swift.Int, _ body: (UnsafeMutableTuple) -> Swift.Void) -extension UnsafeTuple { +public func withUnsafeTuple(of type: AttributeGraph.TupleType, count: Swift.Int, _ body: (AttributeGraph.UnsafeMutableTuple) -> Swift.Void) +extension AttributeGraph.UnsafeTuple { @_transparent public var count: Swift.Int { @_transparent get { type.count } } @@ -633,8 +700,8 @@ extension UnsafeTuple { @_transparent unsafeAddress { address(of: index, as: T.self) } } } -extension UnsafeMutableTuple { - @_transparent public init(with tupleType: TupleType) { +extension AttributeGraph.UnsafeMutableTuple { + @_transparent public init(with tupleType: AttributeGraph.TupleType) { self.init( type: tupleType, value: UnsafeMutableRawPointer.allocate( @@ -688,21 +755,30 @@ extension UnsafeMutableTuple { @_transparent nonmutating unsafeMutableAddress { address(of: index, as: T.self) } } } -extension AttributeGraph.Attribute : Swift.Sendable {} -extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} -extension AttributeGraph.External : Swift.Sendable {} -extension AttributeGraph.External : Swift.BitwiseCopyable {} +@discardableResult +public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool +@discardableResult +public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, mode: AttributeGraph.ComparisonMode = .equatableAlways) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, options: AttributeGraph.ComparisonOptions) -> Swift.Bool +extension AttributeGraph.ComparisonOptions { + public init(mode: AttributeGraph.ComparisonMode) +} extension AttributeGraph.PointerOffset : Swift.Sendable {} extension AttributeGraph.PointerOffset : Swift.BitwiseCopyable {} -extension AttributeGraph.IndirectAttribute : Swift.Sendable {} -extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.External : Swift.Sendable {} +extension AttributeGraph.External : Swift.BitwiseCopyable {} +extension AttributeGraph.Attribute : Swift.Sendable {} +extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} +extension AttributeGraph.WeakAttribute : Swift.Sendable {} +extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.OptionalAttribute : Swift.Sendable {} extension AttributeGraph.OptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.IndirectAttribute : Swift.Sendable {} +extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.AnyRuleContext : Swift.Sendable {} extension AttributeGraph.AnyRuleContext : Swift.BitwiseCopyable {} extension AttributeGraph.RuleContext : Swift.Sendable {} extension AttributeGraph.RuleContext : Swift.BitwiseCopyable {} -extension AttributeGraph.WeakAttribute : Swift.Sendable {} -extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} diff --git a/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64e-apple-macos.swiftinterface b/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64e-apple-macos.swiftinterface index 6324bb9..09b4892 100644 --- a/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64e-apple-macos.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64e-apple-macos.swiftinterface @@ -7,19 +7,21 @@ public import Swift public import _Concurrency public import _StringProcessing public import _SwiftConcurrencyShims -extension AnyAttribute { +extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - public static var current: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public static var current: AttributeGraph.AnyAttribute? { get } - public func unsafeOffset(at offset: Swift.Int) -> AnyAttribute - public func setFlags(_ newFlags: AnyAttribute.Flags, mask: AnyAttribute.Flags) - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) + #endif + public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute + public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: Value.Type, invalidating: Swift.Bool, _ body: (inout Value) -> Swift.Void) - public func breadthFirstSearch(options _: SearchOptions = [], _: (AnyAttribute) -> Swift.Bool) -> Swift.Bool + public func breadthFirstSearch(options _: AttributeGraph.SearchOptions = [], _: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool public var _bodyType: any Any.Type { get } @@ -29,24 +31,73 @@ extension AnyAttribute { public var valueType: any Any.Type { get } - public var indirectDependency: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } + #endif } -extension AnyAttribute : Swift.CustomStringConvertible { +extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { get { "#\(rawValue)" } } } -public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void +public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void +@frozen public struct PointerOffset { + public var byteOffset: Swift.Int + public init(byteOffset: Swift.Int) +} +extension AttributeGraph.PointerOffset { + public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset { + public static func invalidScenePointer() -> Swift.UnsafeMutablePointer + public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset + public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset where Base == Member { + public init() +} +extension Swift.UnsafePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + } + public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer +} +extension Swift.UnsafeMutablePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + nonmutating unsafeMutableAddress + } + public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer +} +@frozen public struct External { + public init() +} +extension AttributeGraph.External : AttributeGraph._AttributeBody { + public static var comparisonMode: AttributeGraph.ComparisonMode { + get + } + public static var flags: AttributeGraph.External.Flags { + get + } + public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) +} +extension AttributeGraph.External : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} @frozen @propertyWrapper @dynamicMemberLookup public struct Attribute { - public var identifier: AnyAttribute - public init(identifier: AnyAttribute) + public var identifier: AttributeGraph.AnyAttribute + public init(identifier: AttributeGraph.AnyAttribute) public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: _AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #if compiler(>=5.3) && $NonescapableTypes + public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -69,22 +120,22 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func applying(offset: AttributeGraph.PointerOffset) -> AttributeGraph.Attribute public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: V.Type, invalidating: Swift.Bool, _ body: (inout V) -> Swift.Void) - public func breadthFirstSearch(options: SearchOptions = [], _ body: (AnyAttribute) -> Swift.Bool) -> Swift.Bool - public var graph: Graph { + public func breadthFirstSearch(options: AttributeGraph.SearchOptions = [], _ body: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool + public var graph: AttributeGraph.Graph { get } - public var subgraph: Subgraph { + public var subgraph: AttributeGraph.Subgraph { get } public var value: Value { unsafeAddress nonmutating set } - public var valueState: ValueState { + public var valueState: AttributeGraph.ValueState { get } - public func valueAndFlags(options: AGValueOptions = []) -> (value: Value, flags: AGChangedValueFlags) - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public func valueAndFlags(options: AttributeGraph.AGValueOptions = []) -> (value: Value, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) public func setValue(_ value: Value) -> Swift.Bool public var hasValue: Swift.Bool { get @@ -93,9 +144,9 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func prefetchValue() public func invalidateValue() public func validate() - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) - public typealias Flags = AnyAttribute.Flags + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public typealias Flags = AttributeGraph.AnyAttribute.Flags public var flags: AttributeGraph.Attribute.Flags { get nonmutating set @@ -118,63 +169,32 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } +#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") -@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AnyAttribute +@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute +#endif @_silgen_name("AGGraphGetValue") -@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") -@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool -@frozen public struct External { - public init() +@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AttributeGraph.AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool +public protocol AttributeBodyVisitor { + func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody } -extension AttributeGraph.External : AttributeGraph._AttributeBody { - public static var comparisonMode: ComparisonMode { - get - } - public static var flags: AttributeGraph.External.Flags { - get - } - public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) +public protocol ObservedAttribute : AttributeGraph._AttributeBody { + mutating func destroy() } -extension AttributeGraph.External : Swift.CustomStringConvertible { - public var description: Swift.String { +extension AttributeGraph.ObservedAttribute { + public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) + public static var _hasDestroySelf: Swift.Bool { get } } -@frozen public struct PointerOffset { - public var byteOffset: Swift.Int - public init(byteOffset: Swift.Int) -} -extension AttributeGraph.PointerOffset { - public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset { - public static func invalidScenePointer() -> Swift.UnsafeMutablePointer - public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset - public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset where Base == Member { - public init() -} -extension Swift.UnsafePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - } - public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer -} -extension Swift.UnsafeMutablePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - nonmutating unsafeMutableAddress - } - public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer -} public protocol _AttributeBody { static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) static var _hasDestroySelf: Swift.Bool { get } static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - static var comparisonMode: ComparisonMode { get } - typealias Flags = _AttributeType.Flags + static var comparisonMode: AttributeGraph.ComparisonMode { get } + typealias Flags = AttributeGraph._AttributeType.Flags static var flags: Self.Flags { get } } extension AttributeGraph._AttributeBody { @@ -183,85 +203,180 @@ extension AttributeGraph._AttributeBody { get } public static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - public static var comparisonMode: ComparisonMode { + public static var comparisonMode: AttributeGraph.ComparisonMode { get } public static var flags: Self.Flags { get } } -public protocol AttributeBodyVisitor { - func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody -} -public protocol ObservedAttribute : AttributeGraph._AttributeBody { - mutating func destroy() -} -extension AttributeGraph.ObservedAttribute { - public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) - public static var _hasDestroySelf: Swift.Bool { +@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { + internal var base: AttributeGraph.AnyWeakAttribute + public init(base: AttributeGraph.AnyWeakAttribute) + public init() + public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.Attribute?) + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var wrappedValue: Value? { get } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { - public let identifier: AnyAttribute - public init(source: AttributeGraph.Attribute) - public var source: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var projectedValue: AttributeGraph.Attribute? { get - nonmutating set + set + _modify } - public var dependency: AnyAttribute? { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get - nonmutating set } - public var value: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.Attribute? { get - nonmutating set - nonmutating _modify + set } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) - public var wrappedValue: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var value: Value? { get - nonmutating set - nonmutating _modify } - public var projectedValue: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif +} +extension AttributeGraph.WeakAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { +} +extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { + public var description: Swift.String { get } } -extension AttributeGraph.IndirectAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool +extension AttributeGraph.AnyWeakAttribute { + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ weakAttribute: AttributeGraph.WeakAttribute) + public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { + get + set + } + #endif +} +extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { + public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) public var hashValue: Swift.Int { get } } -@frozen public struct AnyOptionalAttribute { - public var identifier: AnyAttribute - public init() - public init(_ attribute: AnyAttribute) - public init(_ attribute: AnyAttribute?) - public init(_ attribute: AttributeGraph.OptionalAttribute) - public static var current: AttributeGraph.AnyOptionalAttribute { +extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { + @_alwaysEmitIntoClient public var description: Swift.String { + get { attribute?.description ?? "nil" } + } +} +public protocol Rule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + var value: Self.Value { get } +} +extension AttributeGraph.Rule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.Rule { + public var attribute: AttributeGraph.Attribute { get } - public var attribute: AnyAttribute? { + public var context: AttributeGraph.RuleContext { get - set } - public func map(_ body: (AnyAttribute) -> Value) -> Value? - public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { +extension AttributeGraph.Rule where Self : Swift.Hashable { + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer + #endif +} +@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var arg: AttributeGraph.Attribute + public let body: (Source) -> Value + public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) + public var value: Value { + get + } + public static var flags: AttributeGraph.Map.Flags { + get + } + public var description: Swift.String { get } } -extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { +public protocol StatefulRule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + mutating func updateValue() +} +extension AttributeGraph.StatefulRule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.StatefulRule { + public var attribute: AttributeGraph.Attribute { + get + } + public var context: AttributeGraph.RuleContext { + get + } + public var value: Self.Value { + unsafeAddress + nonmutating set + } + public var hasValue: Swift.Bool { + get + } +} +@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var root: AttributeGraph.Attribute + public var keyPath: Swift.KeyPath + public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) + public var value: Value { + get + } + public static var flags: AttributeGraph.Focus.Flags { + get + } public var description: Swift.String { get } @@ -271,28 +386,44 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) + #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) + #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? + #endif + #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } + #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -306,101 +437,97 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { get } } -@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var root: AttributeGraph.Attribute - public var keyPath: Swift.KeyPath - public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) - public var value: Value { - get - } - public static var flags: AttributeGraph.Focus.Flags { +@frozen public struct AnyOptionalAttribute { + public var identifier: AttributeGraph.AnyAttribute + public init() + public init(_ attribute: AttributeGraph.AnyAttribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ attribute: AttributeGraph.OptionalAttribute) + public static var current: AttributeGraph.AnyOptionalAttribute { get } - public var description: Swift.String { + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { get + set } + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? + #endif + public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var arg: AttributeGraph.Attribute - public let body: (Source) -> Value - public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) - public var value: Value { - get - } - public static var flags: AttributeGraph.Map.Flags { +extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } +} +extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public var description: Swift.String { get } } -public protocol Rule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - var value: Self.Value { get } -} -extension AttributeGraph.Rule { - public static var initialValue: Self.Value? { +@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { + public let identifier: AttributeGraph.AnyAttribute + public init(source: AttributeGraph.Attribute) + public var source: AttributeGraph.Attribute { get + nonmutating set } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.Rule { - public var attribute: AttributeGraph.Attribute { + #if compiler(>=5.3) && $NonescapableTypes + public var dependency: AttributeGraph.AnyAttribute? { get + nonmutating set } - public var context: AttributeGraph.RuleContext { + #endif + public var value: Value { get + nonmutating set + nonmutating _modify } -} -extension AttributeGraph.Rule where Self : Swift.Hashable { - public func cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value - public func cachedValueIfExists(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value? - public static func _cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer -} -public protocol StatefulRule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - mutating func updateValue() -} -extension AttributeGraph.StatefulRule { - public static var initialValue: Self.Value? { + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public var wrappedValue: Value { get + nonmutating set + nonmutating _modify } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.StatefulRule { - public var attribute: AttributeGraph.Attribute { + public var projectedValue: AttributeGraph.Attribute { get } - public var context: AttributeGraph.RuleContext { + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { get } - public var value: Self.Value { - unsafeAddress - nonmutating set - } - public var hasValue: Swift.Bool { +} +extension AttributeGraph.IndirectAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } } @frozen public struct AnyRuleContext : Swift.Equatable { - public var attribute: AnyAttribute - public init(attribute: AnyAttribute) + public var attribute: AttributeGraph.AnyAttribute + public init(attribute: AttributeGraph.AnyAttribute) public init(_ context: AttributeGraph.RuleContext) public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + #endif + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public func unsafeCast(to _: V.Type) -> AttributeGraph.RuleContext public static func == (a: AttributeGraph.AnyRuleContext, b: AttributeGraph.AnyRuleContext) -> Swift.Bool @@ -411,12 +538,16 @@ extension AttributeGraph.StatefulRule { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } + #endif public var value: Value { unsafeAddress nonmutating set @@ -424,86 +555,41 @@ extension AttributeGraph.StatefulRule { public var hasValue: Swift.Bool { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public static func == (a: AttributeGraph.RuleContext, b: AttributeGraph.RuleContext) -> Swift.Bool } @_silgen_name("AGGraphGetInputValue") -@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AnyAttribute, input: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AttributeGraph.AnyAttribute, input: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphWithUpdate") -@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AnyAttribute, body: () -> Swift.Void) -extension AnyWeakAttribute { - public init(_ attribute: AnyAttribute?) - public init(_ weakAttribute: AttributeGraph.WeakAttribute) - public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - public var attribute: AnyAttribute? { - get - set - } -} -extension AnyWeakAttribute : Swift.Hashable { - public static func == (lhs: AnyWeakAttribute, rhs: AnyWeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -extension AnyWeakAttribute : Swift.CustomStringConvertible { - @_alwaysEmitIntoClient public var description: Swift.String { - get { attribute?.description ?? "nil" } - } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { - internal var base: AnyWeakAttribute - public init(base: AnyWeakAttribute) - public init() - public init(_ attribute: AttributeGraph.Attribute) - public init(_ attribute: AttributeGraph.Attribute?) - public var wrappedValue: Value? { - get - } - public var projectedValue: AttributeGraph.Attribute? { - get - set - _modify - } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { - get - } - public var attribute: AttributeGraph.Attribute? { - get - set - } - public var value: Value? { - get - } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? +@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AttributeGraph.AnyAttribute, body: () -> Swift.Void) +extension AttributeGraph.Subgraph { + public typealias Flags = AttributeGraph.AnyAttribute.Flags + public typealias ChildFlags = AttributeGraph.AnyAttribute.Flags } -extension AttributeGraph.WeakAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } +extension AttributeGraph.Subgraph { + public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int + public func apply(_ body: () -> Value) -> Value + public func forEach(_ flags: AttributeGraph.Subgraph.Flags, _ callback: (AttributeGraph.AnyAttribute) -> Swift.Void) } -extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { - public var description: Swift.String { - get - } +extension AttributeGraph.Subgraph { + public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) + public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) + public static func endTreeElement(value: AttributeGraph.Attribute) } -extension Graph { - public static func typeIndex(ctx: GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: Metadata, flags: _AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.Int +extension AttributeGraph.Graph { + public static func typeIndex(ctx: AttributeGraph.GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: AttributeGraph.Metadata, flags: AttributeGraph._AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.Int } -extension Graph { +extension AttributeGraph.Graph { public static func withoutUpdate(_ body: () -> V) -> V public func withoutSubgraphInvalidation(_ body: () -> V) -> V public func withDeadline(_: Swift.UInt64, _: () -> V) -> V - public func onInvalidation(_ callback: @escaping (AnyAttribute) -> Swift.Void) + public func onInvalidation(_ callback: @escaping (AttributeGraph.AnyAttribute) -> Swift.Void) public func onUpdate(_ callback: @escaping () -> Swift.Void) public func withMainThreadHandler(_: (() -> Swift.Void) -> Swift.Void, do: () -> Swift.Void) } -extension Graph { +extension AttributeGraph.Graph { @_transparent public func startProfiling() { __AGGraphStartProfiling(self) } @@ -517,46 +603,31 @@ extension Graph { public static func stopProfiling() public static func resetProfile() } -extension Graph { +extension AttributeGraph.Graph { @_transparent public var mainUpdates: Swift.Int { @_transparent get { numericCast(counter(for: .mainThreadUpdates)) } } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? + #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } -extension Graph { - @_transparent public static func anyInputsChanged(excluding excludedInputs: [AnyAttribute]) -> Swift.Bool { +extension AttributeGraph.Graph { + @_transparent public static func anyInputsChanged(excluding excludedInputs: [AttributeGraph.AnyAttribute]) -> Swift.Bool { return __AGGraphAnyInputsChanged(excludedInputs, excludedInputs.count) } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) -} -extension Subgraph { - public typealias Flags = AnyAttribute.Flags - public typealias ChildFlags = AnyAttribute.Flags -} -extension Subgraph { - public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int - public func apply(_ body: () -> Value) -> Value - public func forEach(_ flags: Subgraph.Flags, _ callback: (AnyAttribute) -> Swift.Void) -} -extension Subgraph { - public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) - public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) - public static func endTreeElement(value: AttributeGraph.Attribute) -} -public func compareValues(_ lhs: Value, _ rhs: Value, mode: ComparisonMode = .equatableAlways) -> Swift.Bool -public func compareValues(_ lhs: Value, _ rhs: Value, options: ComparisonOptions) -> Swift.Bool -extension ComparisonOptions { - public init(mode: ComparisonMode) + #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) -extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { +extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { public init(_ type: any Any.Type) public var type: any Any.Type { get @@ -564,16 +635,12 @@ extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { public var description: Swift.String { get } - public func forEachField(options: Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool + public func forEachField(options: AttributeGraph.Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool } -extension Signature : Swift.Equatable { - public static func == (lhs: Signature, rhs: Signature) -> Swift.Bool +extension AttributeGraph.Signature : Swift.Equatable { + public static func == (lhs: AttributeGraph.Signature, rhs: AttributeGraph.Signature) -> Swift.Bool } -@discardableResult -public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool -@discardableResult -public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool -extension TupleType { +extension AttributeGraph.TupleType { @_transparent public init(_ types: [any Any.Type]) { self.init(count: types.count, elements: types.map(Metadata.init)) } @@ -597,16 +664,16 @@ extension TupleType { @_transparent public func offset(at index: Swift.Int, as type: T.Type) -> Swift.Int { elementOffset(at: index, type: Metadata(type)) } - @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: TupleType.CopyOptions) { + @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleSetElement(self, tupleValue, index, srcValue, Metadata(T.self), options) } - @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: TupleType.CopyOptions) { + @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleGetElement(self, tupleValue, index, dstValue, Metadata(T.self), options) } } @_silgen_name("AGTupleWithBuffer") -public func withUnsafeTuple(of type: TupleType, count: Swift.Int, _ body: (UnsafeMutableTuple) -> Swift.Void) -extension UnsafeTuple { +public func withUnsafeTuple(of type: AttributeGraph.TupleType, count: Swift.Int, _ body: (AttributeGraph.UnsafeMutableTuple) -> Swift.Void) +extension AttributeGraph.UnsafeTuple { @_transparent public var count: Swift.Int { @_transparent get { type.count } } @@ -633,8 +700,8 @@ extension UnsafeTuple { @_transparent unsafeAddress { address(of: index, as: T.self) } } } -extension UnsafeMutableTuple { - @_transparent public init(with tupleType: TupleType) { +extension AttributeGraph.UnsafeMutableTuple { + @_transparent public init(with tupleType: AttributeGraph.TupleType) { self.init( type: tupleType, value: UnsafeMutableRawPointer.allocate( @@ -688,21 +755,30 @@ extension UnsafeMutableTuple { @_transparent nonmutating unsafeMutableAddress { address(of: index, as: T.self) } } } -extension AttributeGraph.Attribute : Swift.Sendable {} -extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} -extension AttributeGraph.External : Swift.Sendable {} -extension AttributeGraph.External : Swift.BitwiseCopyable {} +@discardableResult +public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool +@discardableResult +public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, mode: AttributeGraph.ComparisonMode = .equatableAlways) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, options: AttributeGraph.ComparisonOptions) -> Swift.Bool +extension AttributeGraph.ComparisonOptions { + public init(mode: AttributeGraph.ComparisonMode) +} extension AttributeGraph.PointerOffset : Swift.Sendable {} extension AttributeGraph.PointerOffset : Swift.BitwiseCopyable {} -extension AttributeGraph.IndirectAttribute : Swift.Sendable {} -extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.External : Swift.Sendable {} +extension AttributeGraph.External : Swift.BitwiseCopyable {} +extension AttributeGraph.Attribute : Swift.Sendable {} +extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} +extension AttributeGraph.WeakAttribute : Swift.Sendable {} +extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.OptionalAttribute : Swift.Sendable {} extension AttributeGraph.OptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.IndirectAttribute : Swift.Sendable {} +extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.AnyRuleContext : Swift.Sendable {} extension AttributeGraph.AnyRuleContext : Swift.BitwiseCopyable {} extension AttributeGraph.RuleContext : Swift.Sendable {} extension AttributeGraph.RuleContext : Swift.BitwiseCopyable {} -extension AttributeGraph.WeakAttribute : Swift.Sendable {} -extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} diff --git a/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-macos.swiftinterface b/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-macos.swiftinterface index 7d095fd..60e44b6 100644 --- a/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-macos.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-macos.swiftinterface @@ -7,19 +7,21 @@ public import Swift public import _Concurrency public import _StringProcessing public import _SwiftConcurrencyShims -extension AnyAttribute { +extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - public static var current: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public static var current: AttributeGraph.AnyAttribute? { get } - public func unsafeOffset(at offset: Swift.Int) -> AnyAttribute - public func setFlags(_ newFlags: AnyAttribute.Flags, mask: AnyAttribute.Flags) - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) + #endif + public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute + public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: Value.Type, invalidating: Swift.Bool, _ body: (inout Value) -> Swift.Void) - public func breadthFirstSearch(options _: SearchOptions = [], _: (AnyAttribute) -> Swift.Bool) -> Swift.Bool + public func breadthFirstSearch(options _: AttributeGraph.SearchOptions = [], _: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool public var _bodyType: any Any.Type { get } @@ -29,24 +31,73 @@ extension AnyAttribute { public var valueType: any Any.Type { get } - public var indirectDependency: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } + #endif } -extension AnyAttribute : Swift.CustomStringConvertible { +extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { get { "#\(rawValue)" } } } -public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void +public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void +@frozen public struct PointerOffset { + public var byteOffset: Swift.Int + public init(byteOffset: Swift.Int) +} +extension AttributeGraph.PointerOffset { + public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset { + public static func invalidScenePointer() -> Swift.UnsafeMutablePointer + public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset + public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset where Base == Member { + public init() +} +extension Swift.UnsafePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + } + public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer +} +extension Swift.UnsafeMutablePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + nonmutating unsafeMutableAddress + } + public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer +} +@frozen public struct External { + public init() +} +extension AttributeGraph.External : AttributeGraph._AttributeBody { + public static var comparisonMode: AttributeGraph.ComparisonMode { + get + } + public static var flags: AttributeGraph.External.Flags { + get + } + public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) +} +extension AttributeGraph.External : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} @frozen @propertyWrapper @dynamicMemberLookup public struct Attribute { - public var identifier: AnyAttribute - public init(identifier: AnyAttribute) + public var identifier: AttributeGraph.AnyAttribute + public init(identifier: AttributeGraph.AnyAttribute) public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: _AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #if compiler(>=5.3) && $NonescapableTypes + public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -69,22 +120,22 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func applying(offset: AttributeGraph.PointerOffset) -> AttributeGraph.Attribute public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: V.Type, invalidating: Swift.Bool, _ body: (inout V) -> Swift.Void) - public func breadthFirstSearch(options: SearchOptions = [], _ body: (AnyAttribute) -> Swift.Bool) -> Swift.Bool - public var graph: Graph { + public func breadthFirstSearch(options: AttributeGraph.SearchOptions = [], _ body: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool + public var graph: AttributeGraph.Graph { get } - public var subgraph: Subgraph { + public var subgraph: AttributeGraph.Subgraph { get } public var value: Value { unsafeAddress nonmutating set } - public var valueState: ValueState { + public var valueState: AttributeGraph.ValueState { get } - public func valueAndFlags(options: AGValueOptions = []) -> (value: Value, flags: AGChangedValueFlags) - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public func valueAndFlags(options: AttributeGraph.AGValueOptions = []) -> (value: Value, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) public func setValue(_ value: Value) -> Swift.Bool public var hasValue: Swift.Bool { get @@ -93,9 +144,9 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func prefetchValue() public func invalidateValue() public func validate() - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) - public typealias Flags = AnyAttribute.Flags + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public typealias Flags = AttributeGraph.AnyAttribute.Flags public var flags: AttributeGraph.Attribute.Flags { get nonmutating set @@ -118,63 +169,32 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } +#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") -@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AnyAttribute +@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute +#endif @_silgen_name("AGGraphGetValue") -@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") -@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool -@frozen public struct External { - public init() +@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AttributeGraph.AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool +public protocol AttributeBodyVisitor { + func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody } -extension AttributeGraph.External : AttributeGraph._AttributeBody { - public static var comparisonMode: ComparisonMode { - get - } - public static var flags: AttributeGraph.External.Flags { - get - } - public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) +public protocol ObservedAttribute : AttributeGraph._AttributeBody { + mutating func destroy() } -extension AttributeGraph.External : Swift.CustomStringConvertible { - public var description: Swift.String { +extension AttributeGraph.ObservedAttribute { + public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) + public static var _hasDestroySelf: Swift.Bool { get } } -@frozen public struct PointerOffset { - public var byteOffset: Swift.Int - public init(byteOffset: Swift.Int) -} -extension AttributeGraph.PointerOffset { - public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset { - public static func invalidScenePointer() -> Swift.UnsafeMutablePointer - public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset - public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset where Base == Member { - public init() -} -extension Swift.UnsafePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - } - public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer -} -extension Swift.UnsafeMutablePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - nonmutating unsafeMutableAddress - } - public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer -} public protocol _AttributeBody { static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) static var _hasDestroySelf: Swift.Bool { get } static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - static var comparisonMode: ComparisonMode { get } - typealias Flags = _AttributeType.Flags + static var comparisonMode: AttributeGraph.ComparisonMode { get } + typealias Flags = AttributeGraph._AttributeType.Flags static var flags: Self.Flags { get } } extension AttributeGraph._AttributeBody { @@ -183,85 +203,180 @@ extension AttributeGraph._AttributeBody { get } public static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - public static var comparisonMode: ComparisonMode { + public static var comparisonMode: AttributeGraph.ComparisonMode { get } public static var flags: Self.Flags { get } } -public protocol AttributeBodyVisitor { - func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody -} -public protocol ObservedAttribute : AttributeGraph._AttributeBody { - mutating func destroy() -} -extension AttributeGraph.ObservedAttribute { - public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) - public static var _hasDestroySelf: Swift.Bool { +@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { + internal var base: AttributeGraph.AnyWeakAttribute + public init(base: AttributeGraph.AnyWeakAttribute) + public init() + public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.Attribute?) + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var wrappedValue: Value? { get } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { - public let identifier: AnyAttribute - public init(source: AttributeGraph.Attribute) - public var source: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var projectedValue: AttributeGraph.Attribute? { get - nonmutating set + set + _modify } - public var dependency: AnyAttribute? { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get - nonmutating set } - public var value: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.Attribute? { get - nonmutating set - nonmutating _modify + set } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) - public var wrappedValue: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var value: Value? { get - nonmutating set - nonmutating _modify } - public var projectedValue: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif +} +extension AttributeGraph.WeakAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { +} +extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { + public var description: Swift.String { get } } -extension AttributeGraph.IndirectAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool +extension AttributeGraph.AnyWeakAttribute { + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ weakAttribute: AttributeGraph.WeakAttribute) + public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { + get + set + } + #endif +} +extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { + public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) public var hashValue: Swift.Int { get } } -@frozen public struct AnyOptionalAttribute { - public var identifier: AnyAttribute - public init() - public init(_ attribute: AnyAttribute) - public init(_ attribute: AnyAttribute?) - public init(_ attribute: AttributeGraph.OptionalAttribute) - public static var current: AttributeGraph.AnyOptionalAttribute { +extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { + @_alwaysEmitIntoClient public var description: Swift.String { + get { attribute?.description ?? "nil" } + } +} +public protocol Rule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + var value: Self.Value { get } +} +extension AttributeGraph.Rule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.Rule { + public var attribute: AttributeGraph.Attribute { get } - public var attribute: AnyAttribute? { + public var context: AttributeGraph.RuleContext { get - set } - public func map(_ body: (AnyAttribute) -> Value) -> Value? - public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { +extension AttributeGraph.Rule where Self : Swift.Hashable { + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer + #endif +} +@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var arg: AttributeGraph.Attribute + public let body: (Source) -> Value + public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) + public var value: Value { + get + } + public static var flags: AttributeGraph.Map.Flags { + get + } + public var description: Swift.String { get } } -extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { +public protocol StatefulRule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + mutating func updateValue() +} +extension AttributeGraph.StatefulRule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.StatefulRule { + public var attribute: AttributeGraph.Attribute { + get + } + public var context: AttributeGraph.RuleContext { + get + } + public var value: Self.Value { + unsafeAddress + nonmutating set + } + public var hasValue: Swift.Bool { + get + } +} +@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var root: AttributeGraph.Attribute + public var keyPath: Swift.KeyPath + public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) + public var value: Value { + get + } + public static var flags: AttributeGraph.Focus.Flags { + get + } public var description: Swift.String { get } @@ -271,28 +386,44 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) + #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) + #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? + #endif + #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } + #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -306,101 +437,97 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { get } } -@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var root: AttributeGraph.Attribute - public var keyPath: Swift.KeyPath - public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) - public var value: Value { - get - } - public static var flags: AttributeGraph.Focus.Flags { +@frozen public struct AnyOptionalAttribute { + public var identifier: AttributeGraph.AnyAttribute + public init() + public init(_ attribute: AttributeGraph.AnyAttribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ attribute: AttributeGraph.OptionalAttribute) + public static var current: AttributeGraph.AnyOptionalAttribute { get } - public var description: Swift.String { + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { get + set } + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? + #endif + public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var arg: AttributeGraph.Attribute - public let body: (Source) -> Value - public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) - public var value: Value { - get - } - public static var flags: AttributeGraph.Map.Flags { +extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } +} +extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public var description: Swift.String { get } } -public protocol Rule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - var value: Self.Value { get } -} -extension AttributeGraph.Rule { - public static var initialValue: Self.Value? { +@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { + public let identifier: AttributeGraph.AnyAttribute + public init(source: AttributeGraph.Attribute) + public var source: AttributeGraph.Attribute { get + nonmutating set } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.Rule { - public var attribute: AttributeGraph.Attribute { + #if compiler(>=5.3) && $NonescapableTypes + public var dependency: AttributeGraph.AnyAttribute? { get + nonmutating set } - public var context: AttributeGraph.RuleContext { + #endif + public var value: Value { get + nonmutating set + nonmutating _modify } -} -extension AttributeGraph.Rule where Self : Swift.Hashable { - public func cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value - public func cachedValueIfExists(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value? - public static func _cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer -} -public protocol StatefulRule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - mutating func updateValue() -} -extension AttributeGraph.StatefulRule { - public static var initialValue: Self.Value? { + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public var wrappedValue: Value { get + nonmutating set + nonmutating _modify } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.StatefulRule { - public var attribute: AttributeGraph.Attribute { + public var projectedValue: AttributeGraph.Attribute { get } - public var context: AttributeGraph.RuleContext { + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { get } - public var value: Self.Value { - unsafeAddress - nonmutating set - } - public var hasValue: Swift.Bool { +} +extension AttributeGraph.IndirectAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } } @frozen public struct AnyRuleContext : Swift.Equatable { - public var attribute: AnyAttribute - public init(attribute: AnyAttribute) + public var attribute: AttributeGraph.AnyAttribute + public init(attribute: AttributeGraph.AnyAttribute) public init(_ context: AttributeGraph.RuleContext) public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + #endif + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public func unsafeCast(to _: V.Type) -> AttributeGraph.RuleContext public static func == (a: AttributeGraph.AnyRuleContext, b: AttributeGraph.AnyRuleContext) -> Swift.Bool @@ -411,12 +538,16 @@ extension AttributeGraph.StatefulRule { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } + #endif public var value: Value { unsafeAddress nonmutating set @@ -424,86 +555,41 @@ extension AttributeGraph.StatefulRule { public var hasValue: Swift.Bool { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public static func == (a: AttributeGraph.RuleContext, b: AttributeGraph.RuleContext) -> Swift.Bool } @_silgen_name("AGGraphGetInputValue") -@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AnyAttribute, input: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AttributeGraph.AnyAttribute, input: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphWithUpdate") -@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AnyAttribute, body: () -> Swift.Void) -extension AnyWeakAttribute { - public init(_ attribute: AnyAttribute?) - public init(_ weakAttribute: AttributeGraph.WeakAttribute) - public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - public var attribute: AnyAttribute? { - get - set - } -} -extension AnyWeakAttribute : Swift.Hashable { - public static func == (lhs: AnyWeakAttribute, rhs: AnyWeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -extension AnyWeakAttribute : Swift.CustomStringConvertible { - @_alwaysEmitIntoClient public var description: Swift.String { - get { attribute?.description ?? "nil" } - } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { - internal var base: AnyWeakAttribute - public init(base: AnyWeakAttribute) - public init() - public init(_ attribute: AttributeGraph.Attribute) - public init(_ attribute: AttributeGraph.Attribute?) - public var wrappedValue: Value? { - get - } - public var projectedValue: AttributeGraph.Attribute? { - get - set - _modify - } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { - get - } - public var attribute: AttributeGraph.Attribute? { - get - set - } - public var value: Value? { - get - } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? +@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AttributeGraph.AnyAttribute, body: () -> Swift.Void) +extension AttributeGraph.Subgraph { + public typealias Flags = AttributeGraph.AnyAttribute.Flags + public typealias ChildFlags = AttributeGraph.AnyAttribute.Flags } -extension AttributeGraph.WeakAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } +extension AttributeGraph.Subgraph { + public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int + public func apply(_ body: () -> Value) -> Value + public func forEach(_ flags: AttributeGraph.Subgraph.Flags, _ callback: (AttributeGraph.AnyAttribute) -> Swift.Void) } -extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { - public var description: Swift.String { - get - } +extension AttributeGraph.Subgraph { + public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) + public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) + public static func endTreeElement(value: AttributeGraph.Attribute) } -extension Graph { - public static func typeIndex(ctx: GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: Metadata, flags: _AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.Int +extension AttributeGraph.Graph { + public static func typeIndex(ctx: AttributeGraph.GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: AttributeGraph.Metadata, flags: AttributeGraph._AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.Int } -extension Graph { +extension AttributeGraph.Graph { public static func withoutUpdate(_ body: () -> V) -> V public func withoutSubgraphInvalidation(_ body: () -> V) -> V public func withDeadline(_: Swift.UInt64, _: () -> V) -> V - public func onInvalidation(_ callback: @escaping (AnyAttribute) -> Swift.Void) + public func onInvalidation(_ callback: @escaping (AttributeGraph.AnyAttribute) -> Swift.Void) public func onUpdate(_ callback: @escaping () -> Swift.Void) public func withMainThreadHandler(_: (() -> Swift.Void) -> Swift.Void, do: () -> Swift.Void) } -extension Graph { +extension AttributeGraph.Graph { @_transparent public func startProfiling() { __AGGraphStartProfiling(self) } @@ -517,46 +603,31 @@ extension Graph { public static func stopProfiling() public static func resetProfile() } -extension Graph { +extension AttributeGraph.Graph { @_transparent public var mainUpdates: Swift.Int { @_transparent get { numericCast(counter(for: .mainThreadUpdates)) } } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? + #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } -extension Graph { - @_transparent public static func anyInputsChanged(excluding excludedInputs: [AnyAttribute]) -> Swift.Bool { +extension AttributeGraph.Graph { + @_transparent public static func anyInputsChanged(excluding excludedInputs: [AttributeGraph.AnyAttribute]) -> Swift.Bool { return __AGGraphAnyInputsChanged(excludedInputs, excludedInputs.count) } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) -} -extension Subgraph { - public typealias Flags = AnyAttribute.Flags - public typealias ChildFlags = AnyAttribute.Flags -} -extension Subgraph { - public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int - public func apply(_ body: () -> Value) -> Value - public func forEach(_ flags: Subgraph.Flags, _ callback: (AnyAttribute) -> Swift.Void) -} -extension Subgraph { - public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) - public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) - public static func endTreeElement(value: AttributeGraph.Attribute) -} -public func compareValues(_ lhs: Value, _ rhs: Value, mode: ComparisonMode = .equatableAlways) -> Swift.Bool -public func compareValues(_ lhs: Value, _ rhs: Value, options: ComparisonOptions) -> Swift.Bool -extension ComparisonOptions { - public init(mode: ComparisonMode) + #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) -extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { +extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { public init(_ type: any Any.Type) public var type: any Any.Type { get @@ -564,16 +635,12 @@ extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { public var description: Swift.String { get } - public func forEachField(options: Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool + public func forEachField(options: AttributeGraph.Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool } -extension Signature : Swift.Equatable { - public static func == (lhs: Signature, rhs: Signature) -> Swift.Bool +extension AttributeGraph.Signature : Swift.Equatable { + public static func == (lhs: AttributeGraph.Signature, rhs: AttributeGraph.Signature) -> Swift.Bool } -@discardableResult -public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool -@discardableResult -public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool -extension TupleType { +extension AttributeGraph.TupleType { @_transparent public init(_ types: [any Any.Type]) { self.init(count: types.count, elements: types.map(Metadata.init)) } @@ -597,16 +664,16 @@ extension TupleType { @_transparent public func offset(at index: Swift.Int, as type: T.Type) -> Swift.Int { elementOffset(at: index, type: Metadata(type)) } - @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: TupleType.CopyOptions) { + @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleSetElement(self, tupleValue, index, srcValue, Metadata(T.self), options) } - @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: TupleType.CopyOptions) { + @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleGetElement(self, tupleValue, index, dstValue, Metadata(T.self), options) } } @_silgen_name("AGTupleWithBuffer") -public func withUnsafeTuple(of type: TupleType, count: Swift.Int, _ body: (UnsafeMutableTuple) -> Swift.Void) -extension UnsafeTuple { +public func withUnsafeTuple(of type: AttributeGraph.TupleType, count: Swift.Int, _ body: (AttributeGraph.UnsafeMutableTuple) -> Swift.Void) +extension AttributeGraph.UnsafeTuple { @_transparent public var count: Swift.Int { @_transparent get { type.count } } @@ -633,8 +700,8 @@ extension UnsafeTuple { @_transparent unsafeAddress { address(of: index, as: T.self) } } } -extension UnsafeMutableTuple { - @_transparent public init(with tupleType: TupleType) { +extension AttributeGraph.UnsafeMutableTuple { + @_transparent public init(with tupleType: AttributeGraph.TupleType) { self.init( type: tupleType, value: UnsafeMutableRawPointer.allocate( @@ -688,21 +755,30 @@ extension UnsafeMutableTuple { @_transparent nonmutating unsafeMutableAddress { address(of: index, as: T.self) } } } -extension AttributeGraph.Attribute : Swift.Sendable {} -extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} -extension AttributeGraph.External : Swift.Sendable {} -extension AttributeGraph.External : Swift.BitwiseCopyable {} +@discardableResult +public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool +@discardableResult +public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, mode: AttributeGraph.ComparisonMode = .equatableAlways) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, options: AttributeGraph.ComparisonOptions) -> Swift.Bool +extension AttributeGraph.ComparisonOptions { + public init(mode: AttributeGraph.ComparisonMode) +} extension AttributeGraph.PointerOffset : Swift.Sendable {} extension AttributeGraph.PointerOffset : Swift.BitwiseCopyable {} -extension AttributeGraph.IndirectAttribute : Swift.Sendable {} -extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.External : Swift.Sendable {} +extension AttributeGraph.External : Swift.BitwiseCopyable {} +extension AttributeGraph.Attribute : Swift.Sendable {} +extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} +extension AttributeGraph.WeakAttribute : Swift.Sendable {} +extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.OptionalAttribute : Swift.Sendable {} extension AttributeGraph.OptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.IndirectAttribute : Swift.Sendable {} +extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.AnyRuleContext : Swift.Sendable {} extension AttributeGraph.AnyRuleContext : Swift.BitwiseCopyable {} extension AttributeGraph.RuleContext : Swift.Sendable {} extension AttributeGraph.RuleContext : Swift.BitwiseCopyable {} -extension AttributeGraph.WeakAttribute : Swift.Sendable {} -extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} diff --git a/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-xros-simulator.swiftinterface b/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-xros-simulator.swiftinterface index 5a73588..2bdb89a 100644 --- a/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-xros-simulator.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-xros-simulator.swiftinterface @@ -7,19 +7,21 @@ public import Swift public import _Concurrency public import _StringProcessing public import _SwiftConcurrencyShims -extension AnyAttribute { +extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - public static var current: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public static var current: AttributeGraph.AnyAttribute? { get } - public func unsafeOffset(at offset: Swift.Int) -> AnyAttribute - public func setFlags(_ newFlags: AnyAttribute.Flags, mask: AnyAttribute.Flags) - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) + #endif + public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute + public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: Value.Type, invalidating: Swift.Bool, _ body: (inout Value) -> Swift.Void) - public func breadthFirstSearch(options _: SearchOptions = [], _: (AnyAttribute) -> Swift.Bool) -> Swift.Bool + public func breadthFirstSearch(options _: AttributeGraph.SearchOptions = [], _: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool public var _bodyType: any Any.Type { get } @@ -29,24 +31,73 @@ extension AnyAttribute { public var valueType: any Any.Type { get } - public var indirectDependency: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } + #endif } -extension AnyAttribute : Swift.CustomStringConvertible { +extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { get { "#\(rawValue)" } } } -public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void +public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void +@frozen public struct PointerOffset { + public var byteOffset: Swift.Int + public init(byteOffset: Swift.Int) +} +extension AttributeGraph.PointerOffset { + public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset { + public static func invalidScenePointer() -> Swift.UnsafeMutablePointer + public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset + public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset where Base == Member { + public init() +} +extension Swift.UnsafePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + } + public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer +} +extension Swift.UnsafeMutablePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + nonmutating unsafeMutableAddress + } + public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer +} +@frozen public struct External { + public init() +} +extension AttributeGraph.External : AttributeGraph._AttributeBody { + public static var comparisonMode: AttributeGraph.ComparisonMode { + get + } + public static var flags: AttributeGraph.External.Flags { + get + } + public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) +} +extension AttributeGraph.External : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} @frozen @propertyWrapper @dynamicMemberLookup public struct Attribute { - public var identifier: AnyAttribute - public init(identifier: AnyAttribute) + public var identifier: AttributeGraph.AnyAttribute + public init(identifier: AttributeGraph.AnyAttribute) public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: _AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #if compiler(>=5.3) && $NonescapableTypes + public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -69,22 +120,22 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func applying(offset: AttributeGraph.PointerOffset) -> AttributeGraph.Attribute public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: V.Type, invalidating: Swift.Bool, _ body: (inout V) -> Swift.Void) - public func breadthFirstSearch(options: SearchOptions = [], _ body: (AnyAttribute) -> Swift.Bool) -> Swift.Bool - public var graph: Graph { + public func breadthFirstSearch(options: AttributeGraph.SearchOptions = [], _ body: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool + public var graph: AttributeGraph.Graph { get } - public var subgraph: Subgraph { + public var subgraph: AttributeGraph.Subgraph { get } public var value: Value { unsafeAddress nonmutating set } - public var valueState: ValueState { + public var valueState: AttributeGraph.ValueState { get } - public func valueAndFlags(options: AGValueOptions = []) -> (value: Value, flags: AGChangedValueFlags) - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public func valueAndFlags(options: AttributeGraph.AGValueOptions = []) -> (value: Value, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) public func setValue(_ value: Value) -> Swift.Bool public var hasValue: Swift.Bool { get @@ -93,9 +144,9 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func prefetchValue() public func invalidateValue() public func validate() - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) - public typealias Flags = AnyAttribute.Flags + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public typealias Flags = AttributeGraph.AnyAttribute.Flags public var flags: AttributeGraph.Attribute.Flags { get nonmutating set @@ -118,63 +169,32 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } +#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") -@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AnyAttribute +@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute +#endif @_silgen_name("AGGraphGetValue") -@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") -@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool -@frozen public struct External { - public init() +@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AttributeGraph.AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool +public protocol AttributeBodyVisitor { + func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody } -extension AttributeGraph.External : AttributeGraph._AttributeBody { - public static var comparisonMode: ComparisonMode { - get - } - public static var flags: AttributeGraph.External.Flags { - get - } - public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) +public protocol ObservedAttribute : AttributeGraph._AttributeBody { + mutating func destroy() } -extension AttributeGraph.External : Swift.CustomStringConvertible { - public var description: Swift.String { +extension AttributeGraph.ObservedAttribute { + public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) + public static var _hasDestroySelf: Swift.Bool { get } } -@frozen public struct PointerOffset { - public var byteOffset: Swift.Int - public init(byteOffset: Swift.Int) -} -extension AttributeGraph.PointerOffset { - public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset { - public static func invalidScenePointer() -> Swift.UnsafeMutablePointer - public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset - public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset where Base == Member { - public init() -} -extension Swift.UnsafePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - } - public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer -} -extension Swift.UnsafeMutablePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - nonmutating unsafeMutableAddress - } - public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer -} public protocol _AttributeBody { static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) static var _hasDestroySelf: Swift.Bool { get } static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - static var comparisonMode: ComparisonMode { get } - typealias Flags = _AttributeType.Flags + static var comparisonMode: AttributeGraph.ComparisonMode { get } + typealias Flags = AttributeGraph._AttributeType.Flags static var flags: Self.Flags { get } } extension AttributeGraph._AttributeBody { @@ -183,85 +203,180 @@ extension AttributeGraph._AttributeBody { get } public static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - public static var comparisonMode: ComparisonMode { + public static var comparisonMode: AttributeGraph.ComparisonMode { get } public static var flags: Self.Flags { get } } -public protocol AttributeBodyVisitor { - func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody -} -public protocol ObservedAttribute : AttributeGraph._AttributeBody { - mutating func destroy() -} -extension AttributeGraph.ObservedAttribute { - public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) - public static var _hasDestroySelf: Swift.Bool { +@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { + internal var base: AttributeGraph.AnyWeakAttribute + public init(base: AttributeGraph.AnyWeakAttribute) + public init() + public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.Attribute?) + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var wrappedValue: Value? { get } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { - public let identifier: AnyAttribute - public init(source: AttributeGraph.Attribute) - public var source: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var projectedValue: AttributeGraph.Attribute? { get - nonmutating set + set + _modify } - public var dependency: AnyAttribute? { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get - nonmutating set } - public var value: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.Attribute? { get - nonmutating set - nonmutating _modify + set } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) - public var wrappedValue: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var value: Value? { get - nonmutating set - nonmutating _modify } - public var projectedValue: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif +} +extension AttributeGraph.WeakAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { +} +extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { + public var description: Swift.String { get } } -extension AttributeGraph.IndirectAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool +extension AttributeGraph.AnyWeakAttribute { + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ weakAttribute: AttributeGraph.WeakAttribute) + public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { + get + set + } + #endif +} +extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { + public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) public var hashValue: Swift.Int { get } } -@frozen public struct AnyOptionalAttribute { - public var identifier: AnyAttribute - public init() - public init(_ attribute: AnyAttribute) - public init(_ attribute: AnyAttribute?) - public init(_ attribute: AttributeGraph.OptionalAttribute) - public static var current: AttributeGraph.AnyOptionalAttribute { +extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { + @_alwaysEmitIntoClient public var description: Swift.String { + get { attribute?.description ?? "nil" } + } +} +public protocol Rule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + var value: Self.Value { get } +} +extension AttributeGraph.Rule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.Rule { + public var attribute: AttributeGraph.Attribute { get } - public var attribute: AnyAttribute? { + public var context: AttributeGraph.RuleContext { get - set } - public func map(_ body: (AnyAttribute) -> Value) -> Value? - public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { +extension AttributeGraph.Rule where Self : Swift.Hashable { + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer + #endif +} +@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var arg: AttributeGraph.Attribute + public let body: (Source) -> Value + public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) + public var value: Value { + get + } + public static var flags: AttributeGraph.Map.Flags { + get + } + public var description: Swift.String { get } } -extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { +public protocol StatefulRule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + mutating func updateValue() +} +extension AttributeGraph.StatefulRule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.StatefulRule { + public var attribute: AttributeGraph.Attribute { + get + } + public var context: AttributeGraph.RuleContext { + get + } + public var value: Self.Value { + unsafeAddress + nonmutating set + } + public var hasValue: Swift.Bool { + get + } +} +@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var root: AttributeGraph.Attribute + public var keyPath: Swift.KeyPath + public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) + public var value: Value { + get + } + public static var flags: AttributeGraph.Focus.Flags { + get + } public var description: Swift.String { get } @@ -271,28 +386,44 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) + #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) + #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? + #endif + #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } + #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -306,101 +437,97 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { get } } -@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var root: AttributeGraph.Attribute - public var keyPath: Swift.KeyPath - public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) - public var value: Value { - get - } - public static var flags: AttributeGraph.Focus.Flags { +@frozen public struct AnyOptionalAttribute { + public var identifier: AttributeGraph.AnyAttribute + public init() + public init(_ attribute: AttributeGraph.AnyAttribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ attribute: AttributeGraph.OptionalAttribute) + public static var current: AttributeGraph.AnyOptionalAttribute { get } - public var description: Swift.String { + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { get + set } + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? + #endif + public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var arg: AttributeGraph.Attribute - public let body: (Source) -> Value - public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) - public var value: Value { - get - } - public static var flags: AttributeGraph.Map.Flags { +extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } +} +extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public var description: Swift.String { get } } -public protocol Rule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - var value: Self.Value { get } -} -extension AttributeGraph.Rule { - public static var initialValue: Self.Value? { +@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { + public let identifier: AttributeGraph.AnyAttribute + public init(source: AttributeGraph.Attribute) + public var source: AttributeGraph.Attribute { get + nonmutating set } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.Rule { - public var attribute: AttributeGraph.Attribute { + #if compiler(>=5.3) && $NonescapableTypes + public var dependency: AttributeGraph.AnyAttribute? { get + nonmutating set } - public var context: AttributeGraph.RuleContext { + #endif + public var value: Value { get + nonmutating set + nonmutating _modify } -} -extension AttributeGraph.Rule where Self : Swift.Hashable { - public func cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value - public func cachedValueIfExists(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value? - public static func _cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer -} -public protocol StatefulRule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - mutating func updateValue() -} -extension AttributeGraph.StatefulRule { - public static var initialValue: Self.Value? { + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public var wrappedValue: Value { get + nonmutating set + nonmutating _modify } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.StatefulRule { - public var attribute: AttributeGraph.Attribute { + public var projectedValue: AttributeGraph.Attribute { get } - public var context: AttributeGraph.RuleContext { + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { get } - public var value: Self.Value { - unsafeAddress - nonmutating set - } - public var hasValue: Swift.Bool { +} +extension AttributeGraph.IndirectAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } } @frozen public struct AnyRuleContext : Swift.Equatable { - public var attribute: AnyAttribute - public init(attribute: AnyAttribute) + public var attribute: AttributeGraph.AnyAttribute + public init(attribute: AttributeGraph.AnyAttribute) public init(_ context: AttributeGraph.RuleContext) public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + #endif + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public func unsafeCast(to _: V.Type) -> AttributeGraph.RuleContext public static func == (a: AttributeGraph.AnyRuleContext, b: AttributeGraph.AnyRuleContext) -> Swift.Bool @@ -411,12 +538,16 @@ extension AttributeGraph.StatefulRule { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } + #endif public var value: Value { unsafeAddress nonmutating set @@ -424,86 +555,41 @@ extension AttributeGraph.StatefulRule { public var hasValue: Swift.Bool { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public static func == (a: AttributeGraph.RuleContext, b: AttributeGraph.RuleContext) -> Swift.Bool } @_silgen_name("AGGraphGetInputValue") -@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AnyAttribute, input: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AttributeGraph.AnyAttribute, input: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphWithUpdate") -@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AnyAttribute, body: () -> Swift.Void) -extension AnyWeakAttribute { - public init(_ attribute: AnyAttribute?) - public init(_ weakAttribute: AttributeGraph.WeakAttribute) - public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - public var attribute: AnyAttribute? { - get - set - } -} -extension AnyWeakAttribute : Swift.Hashable { - public static func == (lhs: AnyWeakAttribute, rhs: AnyWeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -extension AnyWeakAttribute : Swift.CustomStringConvertible { - @_alwaysEmitIntoClient public var description: Swift.String { - get { attribute?.description ?? "nil" } - } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { - internal var base: AnyWeakAttribute - public init(base: AnyWeakAttribute) - public init() - public init(_ attribute: AttributeGraph.Attribute) - public init(_ attribute: AttributeGraph.Attribute?) - public var wrappedValue: Value? { - get - } - public var projectedValue: AttributeGraph.Attribute? { - get - set - _modify - } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { - get - } - public var attribute: AttributeGraph.Attribute? { - get - set - } - public var value: Value? { - get - } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? +@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AttributeGraph.AnyAttribute, body: () -> Swift.Void) +extension AttributeGraph.Subgraph { + public typealias Flags = AttributeGraph.AnyAttribute.Flags + public typealias ChildFlags = AttributeGraph.AnyAttribute.Flags } -extension AttributeGraph.WeakAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } +extension AttributeGraph.Subgraph { + public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int + public func apply(_ body: () -> Value) -> Value + public func forEach(_ flags: AttributeGraph.Subgraph.Flags, _ callback: (AttributeGraph.AnyAttribute) -> Swift.Void) } -extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { - public var description: Swift.String { - get - } +extension AttributeGraph.Subgraph { + public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) + public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) + public static func endTreeElement(value: AttributeGraph.Attribute) } -extension Graph { - public static func typeIndex(ctx: GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: Metadata, flags: _AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.Int +extension AttributeGraph.Graph { + public static func typeIndex(ctx: AttributeGraph.GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: AttributeGraph.Metadata, flags: AttributeGraph._AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.Int } -extension Graph { +extension AttributeGraph.Graph { public static func withoutUpdate(_ body: () -> V) -> V public func withoutSubgraphInvalidation(_ body: () -> V) -> V public func withDeadline(_: Swift.UInt64, _: () -> V) -> V - public func onInvalidation(_ callback: @escaping (AnyAttribute) -> Swift.Void) + public func onInvalidation(_ callback: @escaping (AttributeGraph.AnyAttribute) -> Swift.Void) public func onUpdate(_ callback: @escaping () -> Swift.Void) public func withMainThreadHandler(_: (() -> Swift.Void) -> Swift.Void, do: () -> Swift.Void) } -extension Graph { +extension AttributeGraph.Graph { @_transparent public func startProfiling() { __AGGraphStartProfiling(self) } @@ -517,46 +603,31 @@ extension Graph { public static func stopProfiling() public static func resetProfile() } -extension Graph { +extension AttributeGraph.Graph { @_transparent public var mainUpdates: Swift.Int { @_transparent get { numericCast(counter(for: .mainThreadUpdates)) } } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? + #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } -extension Graph { - @_transparent public static func anyInputsChanged(excluding excludedInputs: [AnyAttribute]) -> Swift.Bool { +extension AttributeGraph.Graph { + @_transparent public static func anyInputsChanged(excluding excludedInputs: [AttributeGraph.AnyAttribute]) -> Swift.Bool { return __AGGraphAnyInputsChanged(excludedInputs, excludedInputs.count) } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) -} -extension Subgraph { - public typealias Flags = AnyAttribute.Flags - public typealias ChildFlags = AnyAttribute.Flags -} -extension Subgraph { - public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int - public func apply(_ body: () -> Value) -> Value - public func forEach(_ flags: Subgraph.Flags, _ callback: (AnyAttribute) -> Swift.Void) -} -extension Subgraph { - public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) - public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) - public static func endTreeElement(value: AttributeGraph.Attribute) -} -public func compareValues(_ lhs: Value, _ rhs: Value, mode: ComparisonMode = .equatableAlways) -> Swift.Bool -public func compareValues(_ lhs: Value, _ rhs: Value, options: ComparisonOptions) -> Swift.Bool -extension ComparisonOptions { - public init(mode: ComparisonMode) + #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) -extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { +extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { public init(_ type: any Any.Type) public var type: any Any.Type { get @@ -564,16 +635,12 @@ extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { public var description: Swift.String { get } - public func forEachField(options: Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool + public func forEachField(options: AttributeGraph.Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool } -extension Signature : Swift.Equatable { - public static func == (lhs: Signature, rhs: Signature) -> Swift.Bool +extension AttributeGraph.Signature : Swift.Equatable { + public static func == (lhs: AttributeGraph.Signature, rhs: AttributeGraph.Signature) -> Swift.Bool } -@discardableResult -public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool -@discardableResult -public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool -extension TupleType { +extension AttributeGraph.TupleType { @_transparent public init(_ types: [any Any.Type]) { self.init(count: types.count, elements: types.map(Metadata.init)) } @@ -597,16 +664,16 @@ extension TupleType { @_transparent public func offset(at index: Swift.Int, as type: T.Type) -> Swift.Int { elementOffset(at: index, type: Metadata(type)) } - @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: TupleType.CopyOptions) { + @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleSetElement(self, tupleValue, index, srcValue, Metadata(T.self), options) } - @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: TupleType.CopyOptions) { + @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleGetElement(self, tupleValue, index, dstValue, Metadata(T.self), options) } } @_silgen_name("AGTupleWithBuffer") -public func withUnsafeTuple(of type: TupleType, count: Swift.Int, _ body: (UnsafeMutableTuple) -> Swift.Void) -extension UnsafeTuple { +public func withUnsafeTuple(of type: AttributeGraph.TupleType, count: Swift.Int, _ body: (AttributeGraph.UnsafeMutableTuple) -> Swift.Void) +extension AttributeGraph.UnsafeTuple { @_transparent public var count: Swift.Int { @_transparent get { type.count } } @@ -633,8 +700,8 @@ extension UnsafeTuple { @_transparent unsafeAddress { address(of: index, as: T.self) } } } -extension UnsafeMutableTuple { - @_transparent public init(with tupleType: TupleType) { +extension AttributeGraph.UnsafeMutableTuple { + @_transparent public init(with tupleType: AttributeGraph.TupleType) { self.init( type: tupleType, value: UnsafeMutableRawPointer.allocate( @@ -688,21 +755,30 @@ extension UnsafeMutableTuple { @_transparent nonmutating unsafeMutableAddress { address(of: index, as: T.self) } } } -extension AttributeGraph.Attribute : Swift.Sendable {} -extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} -extension AttributeGraph.External : Swift.Sendable {} -extension AttributeGraph.External : Swift.BitwiseCopyable {} +@discardableResult +public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool +@discardableResult +public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, mode: AttributeGraph.ComparisonMode = .equatableAlways) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, options: AttributeGraph.ComparisonOptions) -> Swift.Bool +extension AttributeGraph.ComparisonOptions { + public init(mode: AttributeGraph.ComparisonMode) +} extension AttributeGraph.PointerOffset : Swift.Sendable {} extension AttributeGraph.PointerOffset : Swift.BitwiseCopyable {} -extension AttributeGraph.IndirectAttribute : Swift.Sendable {} -extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.External : Swift.Sendable {} +extension AttributeGraph.External : Swift.BitwiseCopyable {} +extension AttributeGraph.Attribute : Swift.Sendable {} +extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} +extension AttributeGraph.WeakAttribute : Swift.Sendable {} +extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.OptionalAttribute : Swift.Sendable {} extension AttributeGraph.OptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.IndirectAttribute : Swift.Sendable {} +extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.AnyRuleContext : Swift.Sendable {} extension AttributeGraph.AnyRuleContext : Swift.BitwiseCopyable {} extension AttributeGraph.RuleContext : Swift.Sendable {} extension AttributeGraph.RuleContext : Swift.BitwiseCopyable {} -extension AttributeGraph.WeakAttribute : Swift.Sendable {} -extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} diff --git a/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-xros-simulator.swiftinterface b/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-xros-simulator.swiftinterface index 8e5f79a..d168982 100644 --- a/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-xros-simulator.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-xros-simulator.swiftinterface @@ -7,19 +7,21 @@ public import Swift public import _Concurrency public import _StringProcessing public import _SwiftConcurrencyShims -extension AnyAttribute { +extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - public static var current: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public static var current: AttributeGraph.AnyAttribute? { get } - public func unsafeOffset(at offset: Swift.Int) -> AnyAttribute - public func setFlags(_ newFlags: AnyAttribute.Flags, mask: AnyAttribute.Flags) - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) + #endif + public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute + public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: Value.Type, invalidating: Swift.Bool, _ body: (inout Value) -> Swift.Void) - public func breadthFirstSearch(options _: SearchOptions = [], _: (AnyAttribute) -> Swift.Bool) -> Swift.Bool + public func breadthFirstSearch(options _: AttributeGraph.SearchOptions = [], _: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool public var _bodyType: any Any.Type { get } @@ -29,24 +31,73 @@ extension AnyAttribute { public var valueType: any Any.Type { get } - public var indirectDependency: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } + #endif } -extension AnyAttribute : Swift.CustomStringConvertible { +extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { get { "#\(rawValue)" } } } -public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void +public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void +@frozen public struct PointerOffset { + public var byteOffset: Swift.Int + public init(byteOffset: Swift.Int) +} +extension AttributeGraph.PointerOffset { + public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset { + public static func invalidScenePointer() -> Swift.UnsafeMutablePointer + public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset + public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset where Base == Member { + public init() +} +extension Swift.UnsafePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + } + public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer +} +extension Swift.UnsafeMutablePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + nonmutating unsafeMutableAddress + } + public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer +} +@frozen public struct External { + public init() +} +extension AttributeGraph.External : AttributeGraph._AttributeBody { + public static var comparisonMode: AttributeGraph.ComparisonMode { + get + } + public static var flags: AttributeGraph.External.Flags { + get + } + public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) +} +extension AttributeGraph.External : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} @frozen @propertyWrapper @dynamicMemberLookup public struct Attribute { - public var identifier: AnyAttribute - public init(identifier: AnyAttribute) + public var identifier: AttributeGraph.AnyAttribute + public init(identifier: AttributeGraph.AnyAttribute) public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: _AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #if compiler(>=5.3) && $NonescapableTypes + public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -69,22 +120,22 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func applying(offset: AttributeGraph.PointerOffset) -> AttributeGraph.Attribute public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: V.Type, invalidating: Swift.Bool, _ body: (inout V) -> Swift.Void) - public func breadthFirstSearch(options: SearchOptions = [], _ body: (AnyAttribute) -> Swift.Bool) -> Swift.Bool - public var graph: Graph { + public func breadthFirstSearch(options: AttributeGraph.SearchOptions = [], _ body: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool + public var graph: AttributeGraph.Graph { get } - public var subgraph: Subgraph { + public var subgraph: AttributeGraph.Subgraph { get } public var value: Value { unsafeAddress nonmutating set } - public var valueState: ValueState { + public var valueState: AttributeGraph.ValueState { get } - public func valueAndFlags(options: AGValueOptions = []) -> (value: Value, flags: AGChangedValueFlags) - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public func valueAndFlags(options: AttributeGraph.AGValueOptions = []) -> (value: Value, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) public func setValue(_ value: Value) -> Swift.Bool public var hasValue: Swift.Bool { get @@ -93,9 +144,9 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func prefetchValue() public func invalidateValue() public func validate() - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) - public typealias Flags = AnyAttribute.Flags + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public typealias Flags = AttributeGraph.AnyAttribute.Flags public var flags: AttributeGraph.Attribute.Flags { get nonmutating set @@ -118,63 +169,32 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } +#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") -@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AnyAttribute +@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute +#endif @_silgen_name("AGGraphGetValue") -@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") -@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool -@frozen public struct External { - public init() +@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AttributeGraph.AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool +public protocol AttributeBodyVisitor { + func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody } -extension AttributeGraph.External : AttributeGraph._AttributeBody { - public static var comparisonMode: ComparisonMode { - get - } - public static var flags: AttributeGraph.External.Flags { - get - } - public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) +public protocol ObservedAttribute : AttributeGraph._AttributeBody { + mutating func destroy() } -extension AttributeGraph.External : Swift.CustomStringConvertible { - public var description: Swift.String { +extension AttributeGraph.ObservedAttribute { + public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) + public static var _hasDestroySelf: Swift.Bool { get } } -@frozen public struct PointerOffset { - public var byteOffset: Swift.Int - public init(byteOffset: Swift.Int) -} -extension AttributeGraph.PointerOffset { - public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset { - public static func invalidScenePointer() -> Swift.UnsafeMutablePointer - public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset - public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset where Base == Member { - public init() -} -extension Swift.UnsafePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - } - public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer -} -extension Swift.UnsafeMutablePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - nonmutating unsafeMutableAddress - } - public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer -} public protocol _AttributeBody { static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) static var _hasDestroySelf: Swift.Bool { get } static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - static var comparisonMode: ComparisonMode { get } - typealias Flags = _AttributeType.Flags + static var comparisonMode: AttributeGraph.ComparisonMode { get } + typealias Flags = AttributeGraph._AttributeType.Flags static var flags: Self.Flags { get } } extension AttributeGraph._AttributeBody { @@ -183,85 +203,180 @@ extension AttributeGraph._AttributeBody { get } public static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - public static var comparisonMode: ComparisonMode { + public static var comparisonMode: AttributeGraph.ComparisonMode { get } public static var flags: Self.Flags { get } } -public protocol AttributeBodyVisitor { - func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody -} -public protocol ObservedAttribute : AttributeGraph._AttributeBody { - mutating func destroy() -} -extension AttributeGraph.ObservedAttribute { - public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) - public static var _hasDestroySelf: Swift.Bool { +@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { + internal var base: AttributeGraph.AnyWeakAttribute + public init(base: AttributeGraph.AnyWeakAttribute) + public init() + public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.Attribute?) + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var wrappedValue: Value? { get } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { - public let identifier: AnyAttribute - public init(source: AttributeGraph.Attribute) - public var source: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var projectedValue: AttributeGraph.Attribute? { get - nonmutating set + set + _modify } - public var dependency: AnyAttribute? { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get - nonmutating set } - public var value: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.Attribute? { get - nonmutating set - nonmutating _modify + set } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) - public var wrappedValue: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var value: Value? { get - nonmutating set - nonmutating _modify } - public var projectedValue: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif +} +extension AttributeGraph.WeakAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { +} +extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { + public var description: Swift.String { get } } -extension AttributeGraph.IndirectAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool +extension AttributeGraph.AnyWeakAttribute { + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ weakAttribute: AttributeGraph.WeakAttribute) + public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { + get + set + } + #endif +} +extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { + public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) public var hashValue: Swift.Int { get } } -@frozen public struct AnyOptionalAttribute { - public var identifier: AnyAttribute - public init() - public init(_ attribute: AnyAttribute) - public init(_ attribute: AnyAttribute?) - public init(_ attribute: AttributeGraph.OptionalAttribute) - public static var current: AttributeGraph.AnyOptionalAttribute { +extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { + @_alwaysEmitIntoClient public var description: Swift.String { + get { attribute?.description ?? "nil" } + } +} +public protocol Rule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + var value: Self.Value { get } +} +extension AttributeGraph.Rule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.Rule { + public var attribute: AttributeGraph.Attribute { get } - public var attribute: AnyAttribute? { + public var context: AttributeGraph.RuleContext { get - set } - public func map(_ body: (AnyAttribute) -> Value) -> Value? - public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { +extension AttributeGraph.Rule where Self : Swift.Hashable { + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer + #endif +} +@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var arg: AttributeGraph.Attribute + public let body: (Source) -> Value + public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) + public var value: Value { + get + } + public static var flags: AttributeGraph.Map.Flags { + get + } + public var description: Swift.String { get } } -extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { +public protocol StatefulRule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + mutating func updateValue() +} +extension AttributeGraph.StatefulRule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.StatefulRule { + public var attribute: AttributeGraph.Attribute { + get + } + public var context: AttributeGraph.RuleContext { + get + } + public var value: Self.Value { + unsafeAddress + nonmutating set + } + public var hasValue: Swift.Bool { + get + } +} +@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var root: AttributeGraph.Attribute + public var keyPath: Swift.KeyPath + public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) + public var value: Value { + get + } + public static var flags: AttributeGraph.Focus.Flags { + get + } public var description: Swift.String { get } @@ -271,28 +386,44 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) + #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) + #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? + #endif + #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } + #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -306,101 +437,97 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { get } } -@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var root: AttributeGraph.Attribute - public var keyPath: Swift.KeyPath - public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) - public var value: Value { - get - } - public static var flags: AttributeGraph.Focus.Flags { +@frozen public struct AnyOptionalAttribute { + public var identifier: AttributeGraph.AnyAttribute + public init() + public init(_ attribute: AttributeGraph.AnyAttribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ attribute: AttributeGraph.OptionalAttribute) + public static var current: AttributeGraph.AnyOptionalAttribute { get } - public var description: Swift.String { + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { get + set } + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? + #endif + public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var arg: AttributeGraph.Attribute - public let body: (Source) -> Value - public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) - public var value: Value { - get - } - public static var flags: AttributeGraph.Map.Flags { +extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } +} +extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public var description: Swift.String { get } } -public protocol Rule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - var value: Self.Value { get } -} -extension AttributeGraph.Rule { - public static var initialValue: Self.Value? { +@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { + public let identifier: AttributeGraph.AnyAttribute + public init(source: AttributeGraph.Attribute) + public var source: AttributeGraph.Attribute { get + nonmutating set } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.Rule { - public var attribute: AttributeGraph.Attribute { + #if compiler(>=5.3) && $NonescapableTypes + public var dependency: AttributeGraph.AnyAttribute? { get + nonmutating set } - public var context: AttributeGraph.RuleContext { + #endif + public var value: Value { get + nonmutating set + nonmutating _modify } -} -extension AttributeGraph.Rule where Self : Swift.Hashable { - public func cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value - public func cachedValueIfExists(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value? - public static func _cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer -} -public protocol StatefulRule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - mutating func updateValue() -} -extension AttributeGraph.StatefulRule { - public static var initialValue: Self.Value? { + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public var wrappedValue: Value { get + nonmutating set + nonmutating _modify } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.StatefulRule { - public var attribute: AttributeGraph.Attribute { + public var projectedValue: AttributeGraph.Attribute { get } - public var context: AttributeGraph.RuleContext { + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { get } - public var value: Self.Value { - unsafeAddress - nonmutating set - } - public var hasValue: Swift.Bool { +} +extension AttributeGraph.IndirectAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } } @frozen public struct AnyRuleContext : Swift.Equatable { - public var attribute: AnyAttribute - public init(attribute: AnyAttribute) + public var attribute: AttributeGraph.AnyAttribute + public init(attribute: AttributeGraph.AnyAttribute) public init(_ context: AttributeGraph.RuleContext) public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + #endif + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public func unsafeCast(to _: V.Type) -> AttributeGraph.RuleContext public static func == (a: AttributeGraph.AnyRuleContext, b: AttributeGraph.AnyRuleContext) -> Swift.Bool @@ -411,12 +538,16 @@ extension AttributeGraph.StatefulRule { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } + #endif public var value: Value { unsafeAddress nonmutating set @@ -424,86 +555,41 @@ extension AttributeGraph.StatefulRule { public var hasValue: Swift.Bool { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public static func == (a: AttributeGraph.RuleContext, b: AttributeGraph.RuleContext) -> Swift.Bool } @_silgen_name("AGGraphGetInputValue") -@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AnyAttribute, input: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AttributeGraph.AnyAttribute, input: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphWithUpdate") -@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AnyAttribute, body: () -> Swift.Void) -extension AnyWeakAttribute { - public init(_ attribute: AnyAttribute?) - public init(_ weakAttribute: AttributeGraph.WeakAttribute) - public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - public var attribute: AnyAttribute? { - get - set - } -} -extension AnyWeakAttribute : Swift.Hashable { - public static func == (lhs: AnyWeakAttribute, rhs: AnyWeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -extension AnyWeakAttribute : Swift.CustomStringConvertible { - @_alwaysEmitIntoClient public var description: Swift.String { - get { attribute?.description ?? "nil" } - } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { - internal var base: AnyWeakAttribute - public init(base: AnyWeakAttribute) - public init() - public init(_ attribute: AttributeGraph.Attribute) - public init(_ attribute: AttributeGraph.Attribute?) - public var wrappedValue: Value? { - get - } - public var projectedValue: AttributeGraph.Attribute? { - get - set - _modify - } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { - get - } - public var attribute: AttributeGraph.Attribute? { - get - set - } - public var value: Value? { - get - } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? +@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AttributeGraph.AnyAttribute, body: () -> Swift.Void) +extension AttributeGraph.Subgraph { + public typealias Flags = AttributeGraph.AnyAttribute.Flags + public typealias ChildFlags = AttributeGraph.AnyAttribute.Flags } -extension AttributeGraph.WeakAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } +extension AttributeGraph.Subgraph { + public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int + public func apply(_ body: () -> Value) -> Value + public func forEach(_ flags: AttributeGraph.Subgraph.Flags, _ callback: (AttributeGraph.AnyAttribute) -> Swift.Void) } -extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { - public var description: Swift.String { - get - } +extension AttributeGraph.Subgraph { + public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) + public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) + public static func endTreeElement(value: AttributeGraph.Attribute) } -extension Graph { - public static func typeIndex(ctx: GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: Metadata, flags: _AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.Int +extension AttributeGraph.Graph { + public static func typeIndex(ctx: AttributeGraph.GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: AttributeGraph.Metadata, flags: AttributeGraph._AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.Int } -extension Graph { +extension AttributeGraph.Graph { public static func withoutUpdate(_ body: () -> V) -> V public func withoutSubgraphInvalidation(_ body: () -> V) -> V public func withDeadline(_: Swift.UInt64, _: () -> V) -> V - public func onInvalidation(_ callback: @escaping (AnyAttribute) -> Swift.Void) + public func onInvalidation(_ callback: @escaping (AttributeGraph.AnyAttribute) -> Swift.Void) public func onUpdate(_ callback: @escaping () -> Swift.Void) public func withMainThreadHandler(_: (() -> Swift.Void) -> Swift.Void, do: () -> Swift.Void) } -extension Graph { +extension AttributeGraph.Graph { @_transparent public func startProfiling() { __AGGraphStartProfiling(self) } @@ -517,46 +603,31 @@ extension Graph { public static func stopProfiling() public static func resetProfile() } -extension Graph { +extension AttributeGraph.Graph { @_transparent public var mainUpdates: Swift.Int { @_transparent get { numericCast(counter(for: .mainThreadUpdates)) } } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? + #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } -extension Graph { - @_transparent public static func anyInputsChanged(excluding excludedInputs: [AnyAttribute]) -> Swift.Bool { +extension AttributeGraph.Graph { + @_transparent public static func anyInputsChanged(excluding excludedInputs: [AttributeGraph.AnyAttribute]) -> Swift.Bool { return __AGGraphAnyInputsChanged(excludedInputs, excludedInputs.count) } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) -} -extension Subgraph { - public typealias Flags = AnyAttribute.Flags - public typealias ChildFlags = AnyAttribute.Flags -} -extension Subgraph { - public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int - public func apply(_ body: () -> Value) -> Value - public func forEach(_ flags: Subgraph.Flags, _ callback: (AnyAttribute) -> Swift.Void) -} -extension Subgraph { - public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) - public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) - public static func endTreeElement(value: AttributeGraph.Attribute) -} -public func compareValues(_ lhs: Value, _ rhs: Value, mode: ComparisonMode = .equatableAlways) -> Swift.Bool -public func compareValues(_ lhs: Value, _ rhs: Value, options: ComparisonOptions) -> Swift.Bool -extension ComparisonOptions { - public init(mode: ComparisonMode) + #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) -extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { +extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { public init(_ type: any Any.Type) public var type: any Any.Type { get @@ -564,16 +635,12 @@ extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { public var description: Swift.String { get } - public func forEachField(options: Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool + public func forEachField(options: AttributeGraph.Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool } -extension Signature : Swift.Equatable { - public static func == (lhs: Signature, rhs: Signature) -> Swift.Bool +extension AttributeGraph.Signature : Swift.Equatable { + public static func == (lhs: AttributeGraph.Signature, rhs: AttributeGraph.Signature) -> Swift.Bool } -@discardableResult -public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool -@discardableResult -public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool -extension TupleType { +extension AttributeGraph.TupleType { @_transparent public init(_ types: [any Any.Type]) { self.init(count: types.count, elements: types.map(Metadata.init)) } @@ -597,16 +664,16 @@ extension TupleType { @_transparent public func offset(at index: Swift.Int, as type: T.Type) -> Swift.Int { elementOffset(at: index, type: Metadata(type)) } - @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: TupleType.CopyOptions) { + @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleSetElement(self, tupleValue, index, srcValue, Metadata(T.self), options) } - @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: TupleType.CopyOptions) { + @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleGetElement(self, tupleValue, index, dstValue, Metadata(T.self), options) } } @_silgen_name("AGTupleWithBuffer") -public func withUnsafeTuple(of type: TupleType, count: Swift.Int, _ body: (UnsafeMutableTuple) -> Swift.Void) -extension UnsafeTuple { +public func withUnsafeTuple(of type: AttributeGraph.TupleType, count: Swift.Int, _ body: (AttributeGraph.UnsafeMutableTuple) -> Swift.Void) +extension AttributeGraph.UnsafeTuple { @_transparent public var count: Swift.Int { @_transparent get { type.count } } @@ -633,8 +700,8 @@ extension UnsafeTuple { @_transparent unsafeAddress { address(of: index, as: T.self) } } } -extension UnsafeMutableTuple { - @_transparent public init(with tupleType: TupleType) { +extension AttributeGraph.UnsafeMutableTuple { + @_transparent public init(with tupleType: AttributeGraph.TupleType) { self.init( type: tupleType, value: UnsafeMutableRawPointer.allocate( @@ -688,21 +755,30 @@ extension UnsafeMutableTuple { @_transparent nonmutating unsafeMutableAddress { address(of: index, as: T.self) } } } -extension AttributeGraph.Attribute : Swift.Sendable {} -extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} -extension AttributeGraph.External : Swift.Sendable {} -extension AttributeGraph.External : Swift.BitwiseCopyable {} +@discardableResult +public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool +@discardableResult +public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, mode: AttributeGraph.ComparisonMode = .equatableAlways) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, options: AttributeGraph.ComparisonOptions) -> Swift.Bool +extension AttributeGraph.ComparisonOptions { + public init(mode: AttributeGraph.ComparisonMode) +} extension AttributeGraph.PointerOffset : Swift.Sendable {} extension AttributeGraph.PointerOffset : Swift.BitwiseCopyable {} -extension AttributeGraph.IndirectAttribute : Swift.Sendable {} -extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.External : Swift.Sendable {} +extension AttributeGraph.External : Swift.BitwiseCopyable {} +extension AttributeGraph.Attribute : Swift.Sendable {} +extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} +extension AttributeGraph.WeakAttribute : Swift.Sendable {} +extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.OptionalAttribute : Swift.Sendable {} extension AttributeGraph.OptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.IndirectAttribute : Swift.Sendable {} +extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.AnyRuleContext : Swift.Sendable {} extension AttributeGraph.AnyRuleContext : Swift.BitwiseCopyable {} extension AttributeGraph.RuleContext : Swift.Sendable {} extension AttributeGraph.RuleContext : Swift.BitwiseCopyable {} -extension AttributeGraph.WeakAttribute : Swift.Sendable {} -extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} diff --git a/AG/2024/Sources/Modules/AttributeGraph.swiftmodule/template.swiftinterface b/AG/2024/Sources/Modules/AttributeGraph.swiftmodule/template.swiftinterface index 4868737..6afe2c5 100644 --- a/AG/2024/Sources/Modules/AttributeGraph.swiftmodule/template.swiftinterface +++ b/AG/2024/Sources/Modules/AttributeGraph.swiftmodule/template.swiftinterface @@ -3,19 +3,21 @@ public import Swift public import _Concurrency public import _StringProcessing public import _SwiftConcurrencyShims -extension AnyAttribute { +extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - public static var current: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public static var current: AttributeGraph.AnyAttribute? { get } - public func unsafeOffset(at offset: Swift.Int) -> AnyAttribute - public func setFlags(_ newFlags: AnyAttribute.Flags, mask: AnyAttribute.Flags) - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) + #endif + public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute + public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: Value.Type, invalidating: Swift.Bool, _ body: (inout Value) -> Swift.Void) - public func breadthFirstSearch(options _: SearchOptions = [], _: (AnyAttribute) -> Swift.Bool) -> Swift.Bool + public func breadthFirstSearch(options _: AttributeGraph.SearchOptions = [], _: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool public var _bodyType: any Any.Type { get } @@ -25,24 +27,73 @@ extension AnyAttribute { public var valueType: any Any.Type { get } - public var indirectDependency: AnyAttribute? { + #if compiler(>=5.3) && $NonescapableTypes + public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } + #endif } -extension AnyAttribute : Swift.CustomStringConvertible { +extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { get { "#\(rawValue)" } } } -public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void +public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void +@frozen public struct PointerOffset { + public var byteOffset: Swift.Int + public init(byteOffset: Swift.Int) +} +extension AttributeGraph.PointerOffset { + public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset { + public static func invalidScenePointer() -> Swift.UnsafeMutablePointer + public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset + public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset +} +extension AttributeGraph.PointerOffset where Base == Member { + public init() +} +extension Swift.UnsafePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + } + public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer +} +extension Swift.UnsafeMutablePointer { + public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { + unsafeAddress + nonmutating unsafeMutableAddress + } + public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer +} +@frozen public struct External { + public init() +} +extension AttributeGraph.External : AttributeGraph._AttributeBody { + public static var comparisonMode: AttributeGraph.ComparisonMode { + get + } + public static var flags: AttributeGraph.External.Flags { + get + } + public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) +} +extension AttributeGraph.External : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} @frozen @propertyWrapper @dynamicMemberLookup public struct Attribute { - public var identifier: AnyAttribute - public init(identifier: AnyAttribute) + public var identifier: AttributeGraph.AnyAttribute + public init(identifier: AttributeGraph.AnyAttribute) public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: _AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #if compiler(>=5.3) && $NonescapableTypes + public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody + #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -65,22 +116,22 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func applying(offset: AttributeGraph.PointerOffset) -> AttributeGraph.Attribute public func visitBody(_ visitor: inout Body) where Body : AttributeGraph.AttributeBodyVisitor public func mutateBody(as type: V.Type, invalidating: Swift.Bool, _ body: (inout V) -> Swift.Void) - public func breadthFirstSearch(options: SearchOptions = [], _ body: (AnyAttribute) -> Swift.Bool) -> Swift.Bool - public var graph: Graph { + public func breadthFirstSearch(options: AttributeGraph.SearchOptions = [], _ body: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool + public var graph: AttributeGraph.Graph { get } - public var subgraph: Subgraph { + public var subgraph: AttributeGraph.Subgraph { get } public var value: Value { unsafeAddress nonmutating set } - public var valueState: ValueState { + public var valueState: AttributeGraph.ValueState { get } - public func valueAndFlags(options: AGValueOptions = []) -> (value: Value, flags: AGChangedValueFlags) - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public func valueAndFlags(options: AttributeGraph.AGValueOptions = []) -> (value: Value, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) public func setValue(_ value: Value) -> Swift.Bool public var hasValue: Swift.Bool { get @@ -89,9 +140,9 @@ public typealias AttributeUpdateBlock = () -> (Swift.UnsafeMutableRawPointer, An public func prefetchValue() public func invalidateValue() public func validate() - public func addInput(_ attribute: AnyAttribute, options: AGInputOptions = [], token: Swift.Int) - public func addInput(_ attribute: AttributeGraph.Attribute, options: AGInputOptions = [], token: Swift.Int) - public typealias Flags = AnyAttribute.Flags + public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public func addInput(_ attribute: AttributeGraph.Attribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) + public typealias Flags = AttributeGraph.AnyAttribute.Flags public var flags: AttributeGraph.Attribute.Flags { get nonmutating set @@ -114,63 +165,32 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } +#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") -@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AnyAttribute +@inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute +#endif @_silgen_name("AGGraphGetValue") -@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") -@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool -@frozen public struct External { - public init() +@inline(__always) @inlinable internal func AGGraphSetValue(_ attribute: AttributeGraph.AnyAttribute, valuePointer: Swift.UnsafePointer) -> Swift.Bool +public protocol AttributeBodyVisitor { + func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody } -extension AttributeGraph.External : AttributeGraph._AttributeBody { - public static var comparisonMode: ComparisonMode { - get - } - public static var flags: AttributeGraph.External.Flags { - get - } - public static func _update(_: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) +public protocol ObservedAttribute : AttributeGraph._AttributeBody { + mutating func destroy() } -extension AttributeGraph.External : Swift.CustomStringConvertible { - public var description: Swift.String { +extension AttributeGraph.ObservedAttribute { + public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) + public static var _hasDestroySelf: Swift.Bool { get } } -@frozen public struct PointerOffset { - public var byteOffset: Swift.Int - public init(byteOffset: Swift.Int) -} -extension AttributeGraph.PointerOffset { - public static func + (lhs: AttributeGraph.PointerOffset, rhs: AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset { - public static func invalidScenePointer() -> Swift.UnsafeMutablePointer - public static func of(_ member: inout Member) -> AttributeGraph.PointerOffset - public static func offset(_ body: (inout Base) -> AttributeGraph.PointerOffset) -> AttributeGraph.PointerOffset -} -extension AttributeGraph.PointerOffset where Base == Member { - public init() -} -extension Swift.UnsafePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - } - public static func + (lhs: Swift.UnsafePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafePointer -} -extension Swift.UnsafeMutablePointer { - public subscript(offset offset: AttributeGraph.PointerOffset) -> Member { - unsafeAddress - nonmutating unsafeMutableAddress - } - public static func + (lhs: Swift.UnsafeMutablePointer, rhs: AttributeGraph.PointerOffset) -> Swift.UnsafeMutablePointer -} public protocol _AttributeBody { static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) static var _hasDestroySelf: Swift.Bool { get } static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - static var comparisonMode: ComparisonMode { get } - typealias Flags = _AttributeType.Flags + static var comparisonMode: AttributeGraph.ComparisonMode { get } + typealias Flags = AttributeGraph._AttributeType.Flags static var flags: Self.Flags { get } } extension AttributeGraph._AttributeBody { @@ -179,85 +199,180 @@ extension AttributeGraph._AttributeBody { get } public static func _updateDefault(_ pointer: Swift.UnsafeMutableRawPointer) - public static var comparisonMode: ComparisonMode { + public static var comparisonMode: AttributeGraph.ComparisonMode { get } public static var flags: Self.Flags { get } } -public protocol AttributeBodyVisitor { - func visit(body: Swift.UnsafePointer) where Body : AttributeGraph._AttributeBody -} -public protocol ObservedAttribute : AttributeGraph._AttributeBody { - mutating func destroy() -} -extension AttributeGraph.ObservedAttribute { - public static func _destroySelf(_ pointer: Swift.UnsafeMutableRawPointer) - public static var _hasDestroySelf: Swift.Bool { +@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { + internal var base: AttributeGraph.AnyWeakAttribute + public init(base: AttributeGraph.AnyWeakAttribute) + public init() + public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.Attribute?) + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var wrappedValue: Value? { get } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { - public let identifier: AnyAttribute - public init(source: AttributeGraph.Attribute) - public var source: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var projectedValue: AttributeGraph.Attribute? { get - nonmutating set + set + _modify } - public var dependency: AnyAttribute? { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get - nonmutating set } - public var value: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.Attribute? { get - nonmutating set - nonmutating _modify + set } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool) - public var wrappedValue: Value { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public var value: Value? { get - nonmutating set - nonmutating _modify } - public var projectedValue: AttributeGraph.Attribute { + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif +} +extension AttributeGraph.WeakAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { +} +extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { + public var description: Swift.String { get } } -extension AttributeGraph.IndirectAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool +extension AttributeGraph.AnyWeakAttribute { + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ weakAttribute: AttributeGraph.WeakAttribute) + public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { + get + set + } + #endif +} +extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { + public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) public var hashValue: Swift.Int { get } } -@frozen public struct AnyOptionalAttribute { - public var identifier: AnyAttribute - public init() - public init(_ attribute: AnyAttribute) - public init(_ attribute: AnyAttribute?) - public init(_ attribute: AttributeGraph.OptionalAttribute) - public static var current: AttributeGraph.AnyOptionalAttribute { +extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { + @_alwaysEmitIntoClient public var description: Swift.String { + get { attribute?.description ?? "nil" } + } +} +public protocol Rule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + var value: Self.Value { get } +} +extension AttributeGraph.Rule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.Rule { + public var attribute: AttributeGraph.Attribute { get } - public var attribute: AnyAttribute? { + public var context: AttributeGraph.RuleContext { get - set } - public func map(_ body: (AnyAttribute) -> Value) -> Value? - public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { +extension AttributeGraph.Rule where Self : Swift.Hashable { + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer + #endif +} +@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var arg: AttributeGraph.Attribute + public let body: (Source) -> Value + public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) + public var value: Value { + get + } + public static var flags: AttributeGraph.Map.Flags { + get + } + public var description: Swift.String { get } } -extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { +public protocol StatefulRule : AttributeGraph._AttributeBody { + associatedtype Value + #if compiler(>=5.3) && $NonescapableTypes + static var initialValue: Self.Value? { get } + #endif + mutating func updateValue() +} +extension AttributeGraph.StatefulRule { + #if compiler(>=5.3) && $NonescapableTypes + public static var initialValue: Self.Value? { + get + } + #endif + public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) + public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) +} +extension AttributeGraph.StatefulRule { + public var attribute: AttributeGraph.Attribute { + get + } + public var context: AttributeGraph.RuleContext { + get + } + public var value: Self.Value { + unsafeAddress + nonmutating set + } + public var hasValue: Swift.Bool { + get + } +} +@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { + public var root: AttributeGraph.Attribute + public var keyPath: Swift.KeyPath + public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) + public var value: Value { + get + } + public static var flags: AttributeGraph.Focus.Flags { + get + } public var description: Swift.String { get } @@ -267,28 +382,44 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) + #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) + #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) + #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? + #endif + #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? + #endif + #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } + #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -302,101 +433,97 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { get } } -@frozen public struct Focus : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var root: AttributeGraph.Attribute - public var keyPath: Swift.KeyPath - public init(root: AttributeGraph.Attribute, keyPath: Swift.KeyPath) - public var value: Value { - get - } - public static var flags: AttributeGraph.Focus.Flags { +@frozen public struct AnyOptionalAttribute { + public var identifier: AttributeGraph.AnyAttribute + public init() + public init(_ attribute: AttributeGraph.AnyAttribute) + #if compiler(>=5.3) && $NonescapableTypes + public init(_ attribute: AttributeGraph.AnyAttribute?) + #endif + public init(_ attribute: AttributeGraph.OptionalAttribute) + public static var current: AttributeGraph.AnyOptionalAttribute { get } - public var description: Swift.String { + #if compiler(>=5.3) && $NonescapableTypes + public var attribute: AttributeGraph.AnyAttribute? { get + set } + #endif + #if compiler(>=5.3) && $NonescapableTypes + public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? + #endif + public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } -@frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { - public var arg: AttributeGraph.Attribute - public let body: (Source) -> Value - public init(_ arg: AttributeGraph.Attribute, _ body: @escaping (Source) -> Value) - public var value: Value { - get - } - public static var flags: AttributeGraph.Map.Flags { +extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.AnyOptionalAttribute, b: AttributeGraph.AnyOptionalAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } +} +extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { public var description: Swift.String { get } } -public protocol Rule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - var value: Self.Value { get } -} -extension AttributeGraph.Rule { - public static var initialValue: Self.Value? { +@frozen @propertyWrapper @dynamicMemberLookup public struct IndirectAttribute { + public let identifier: AttributeGraph.AnyAttribute + public init(source: AttributeGraph.Attribute) + public var source: AttributeGraph.Attribute { get + nonmutating set } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.Rule { - public var attribute: AttributeGraph.Attribute { + #if compiler(>=5.3) && $NonescapableTypes + public var dependency: AttributeGraph.AnyAttribute? { get + nonmutating set } - public var context: AttributeGraph.RuleContext { + #endif + public var value: Value { get + nonmutating set + nonmutating _modify } -} -extension AttributeGraph.Rule where Self : Swift.Hashable { - public func cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value - public func cachedValueIfExists(options: AGCachedValueOptions = [], owner: AnyAttribute?) -> Self.Value? - public static func _cachedValue(options: AGCachedValueOptions = [], owner: AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer -} -public protocol StatefulRule : AttributeGraph._AttributeBody { - associatedtype Value - static var initialValue: Self.Value? { get } - mutating func updateValue() -} -extension AttributeGraph.StatefulRule { - public static var initialValue: Self.Value? { + public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool) + public var wrappedValue: Value { get + nonmutating set + nonmutating _modify } - public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AnyAttribute) - public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) -} -extension AttributeGraph.StatefulRule { - public var attribute: AttributeGraph.Attribute { + public var projectedValue: AttributeGraph.Attribute { get } - public var context: AttributeGraph.RuleContext { + public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute { get } - public var value: Self.Value { - unsafeAddress - nonmutating set - } - public var hasValue: Swift.Bool { +} +extension AttributeGraph.IndirectAttribute : Swift.Hashable { + public static func == (a: AttributeGraph.IndirectAttribute, b: AttributeGraph.IndirectAttribute) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { get } } @frozen public struct AnyRuleContext : Swift.Equatable { - public var attribute: AnyAttribute - public init(attribute: AnyAttribute) + public var attribute: AttributeGraph.AnyAttribute + public init(attribute: AttributeGraph.AnyAttribute) public init(_ context: AttributeGraph.RuleContext) public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + #endif + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public func unsafeCast(to _: V.Type) -> AttributeGraph.RuleContext public static func == (a: AttributeGraph.AnyRuleContext, b: AttributeGraph.AnyRuleContext) -> Swift.Bool @@ -407,12 +534,16 @@ extension AttributeGraph.StatefulRule { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } + #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } + #endif + #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } + #endif public var value: Value { unsafeAddress nonmutating set @@ -420,86 +551,41 @@ extension AttributeGraph.StatefulRule { public var hasValue: Swift.Bool { get } - public func valueAndFlags(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, flags: AGChangedValueFlags) - public func changedValue(of input: AttributeGraph.Attribute, options: AGValueOptions = []) -> (value: V, changed: Swift.Bool) + public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) + public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) public static func == (a: AttributeGraph.RuleContext, b: AttributeGraph.RuleContext) -> Swift.Bool } @_silgen_name("AGGraphGetInputValue") -@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AnyAttribute, input: AnyAttribute, options: AGValueOptions = [], type: Value.Type = Value.self) -> AGValue +@inline(__always) @inlinable internal func AGGraphGetInputValue(_ attribute: AttributeGraph.AnyAttribute, input: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphWithUpdate") -@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AnyAttribute, body: () -> Swift.Void) -extension AnyWeakAttribute { - public init(_ attribute: AnyAttribute?) - public init(_ weakAttribute: AttributeGraph.WeakAttribute) - public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - public var attribute: AnyAttribute? { - get - set - } -} -extension AnyWeakAttribute : Swift.Hashable { - public static func == (lhs: AnyWeakAttribute, rhs: AnyWeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -extension AnyWeakAttribute : Swift.CustomStringConvertible { - @_alwaysEmitIntoClient public var description: Swift.String { - get { attribute?.description ?? "nil" } - } -} -@frozen @propertyWrapper @dynamicMemberLookup public struct WeakAttribute { - internal var base: AnyWeakAttribute - public init(base: AnyWeakAttribute) - public init() - public init(_ attribute: AttributeGraph.Attribute) - public init(_ attribute: AttributeGraph.Attribute?) - public var wrappedValue: Value? { - get - } - public var projectedValue: AttributeGraph.Attribute? { - get - set - _modify - } - public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { - get - } - public var attribute: AttributeGraph.Attribute? { - get - set - } - public var value: Value? { - get - } - public func changedValue(options: AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? +@inline(__always) @inlinable internal func AGGraphWithUpdate(_ attribute: AttributeGraph.AnyAttribute, body: () -> Swift.Void) +extension AttributeGraph.Subgraph { + public typealias Flags = AttributeGraph.AnyAttribute.Flags + public typealias ChildFlags = AttributeGraph.AnyAttribute.Flags } -extension AttributeGraph.WeakAttribute : Swift.Hashable { - public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } +extension AttributeGraph.Subgraph { + public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int + public func apply(_ body: () -> Value) -> Value + public func forEach(_ flags: AttributeGraph.Subgraph.Flags, _ callback: (AttributeGraph.AnyAttribute) -> Swift.Void) } -extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { - public var description: Swift.String { - get - } +extension AttributeGraph.Subgraph { + public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) + public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) + public static func endTreeElement(value: AttributeGraph.Attribute) } -extension Graph { - public static func typeIndex(ctx: GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: Metadata, flags: _AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AnyAttribute) -> Swift.Void) -> Swift.Int +extension AttributeGraph.Graph { + public static func typeIndex(ctx: AttributeGraph.GraphContext, body: any AttributeGraph._AttributeBody.Type, valueType: AttributeGraph.Metadata, flags: AttributeGraph._AttributeType.Flags, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.Int } -extension Graph { +extension AttributeGraph.Graph { public static func withoutUpdate(_ body: () -> V) -> V public func withoutSubgraphInvalidation(_ body: () -> V) -> V public func withDeadline(_: Swift.UInt64, _: () -> V) -> V - public func onInvalidation(_ callback: @escaping (AnyAttribute) -> Swift.Void) + public func onInvalidation(_ callback: @escaping (AttributeGraph.AnyAttribute) -> Swift.Void) public func onUpdate(_ callback: @escaping () -> Swift.Void) public func withMainThreadHandler(_: (() -> Swift.Void) -> Swift.Void, do: () -> Swift.Void) } -extension Graph { +extension AttributeGraph.Graph { @_transparent public func startProfiling() { __AGGraphStartProfiling(self) } @@ -513,46 +599,31 @@ extension Graph { public static func stopProfiling() public static func resetProfile() } -extension Graph { +extension AttributeGraph.Graph { @_transparent public var mainUpdates: Swift.Int { @_transparent get { numericCast(counter(for: .mainThreadUpdates)) } } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? + #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } -extension Graph { - @_transparent public static func anyInputsChanged(excluding excludedInputs: [AnyAttribute]) -> Swift.Bool { +extension AttributeGraph.Graph { + @_transparent public static func anyInputsChanged(excluding excludedInputs: [AttributeGraph.AnyAttribute]) -> Swift.Bool { return __AGGraphAnyInputsChanged(excludedInputs, excludedInputs.count) } } -extension Graph { +extension AttributeGraph.Graph { + #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) -} -extension Subgraph { - public typealias Flags = AnyAttribute.Flags - public typealias ChildFlags = AnyAttribute.Flags -} -extension Subgraph { - public func addObserver(_ observer: @escaping () -> Swift.Void) -> Swift.Int - public func apply(_ body: () -> Value) -> Value - public func forEach(_ flags: Subgraph.Flags, _ callback: (AnyAttribute) -> Swift.Void) -} -extension Subgraph { - public static func beginTreeElement(value: AttributeGraph.Attribute, flags: Swift.UInt32) - public static func addTreeValue(_ value: AttributeGraph.Attribute, forKey key: Swift.UnsafePointer, flags: Swift.UInt32) - public static func endTreeElement(value: AttributeGraph.Attribute) -} -public func compareValues(_ lhs: Value, _ rhs: Value, mode: ComparisonMode = .equatableAlways) -> Swift.Bool -public func compareValues(_ lhs: Value, _ rhs: Value, options: ComparisonOptions) -> Swift.Bool -extension ComparisonOptions { - public init(mode: ComparisonMode) + #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) -extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { +extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { public init(_ type: any Any.Type) public var type: any Any.Type { get @@ -560,16 +631,12 @@ extension Metadata : Swift.Hashable, Swift.CustomStringConvertible { public var description: Swift.String { get } - public func forEachField(options: Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool + public func forEachField(options: AttributeGraph.Metadata.ApplyOptions, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Bool) -> Swift.Bool } -extension Signature : Swift.Equatable { - public static func == (lhs: Signature, rhs: Signature) -> Swift.Bool +extension AttributeGraph.Signature : Swift.Equatable { + public static func == (lhs: AttributeGraph.Signature, rhs: AttributeGraph.Signature) -> Swift.Bool } -@discardableResult -public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool -@discardableResult -public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool -extension TupleType { +extension AttributeGraph.TupleType { @_transparent public init(_ types: [any Any.Type]) { self.init(count: types.count, elements: types.map(Metadata.init)) } @@ -593,16 +660,16 @@ extension TupleType { @_transparent public func offset(at index: Swift.Int, as type: T.Type) -> Swift.Int { elementOffset(at: index, type: Metadata(type)) } - @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: TupleType.CopyOptions) { + @_transparent public func setElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, from srcValue: Swift.UnsafePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleSetElement(self, tupleValue, index, srcValue, Metadata(T.self), options) } - @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: TupleType.CopyOptions) { + @_transparent public func getElement(in tupleValue: Swift.UnsafeMutableRawPointer, at index: Swift.Int, to dstValue: Swift.UnsafeMutablePointer, options: AttributeGraph.TupleType.CopyOptions) { __AGTupleGetElement(self, tupleValue, index, dstValue, Metadata(T.self), options) } } @_silgen_name("AGTupleWithBuffer") -public func withUnsafeTuple(of type: TupleType, count: Swift.Int, _ body: (UnsafeMutableTuple) -> Swift.Void) -extension UnsafeTuple { +public func withUnsafeTuple(of type: AttributeGraph.TupleType, count: Swift.Int, _ body: (AttributeGraph.UnsafeMutableTuple) -> Swift.Void) +extension AttributeGraph.UnsafeTuple { @_transparent public var count: Swift.Int { @_transparent get { type.count } } @@ -629,8 +696,8 @@ extension UnsafeTuple { @_transparent unsafeAddress { address(of: index, as: T.self) } } } -extension UnsafeMutableTuple { - @_transparent public init(with tupleType: TupleType) { +extension AttributeGraph.UnsafeMutableTuple { + @_transparent public init(with tupleType: AttributeGraph.TupleType) { self.init( type: tupleType, value: UnsafeMutableRawPointer.allocate( @@ -684,21 +751,30 @@ extension UnsafeMutableTuple { @_transparent nonmutating unsafeMutableAddress { address(of: index, as: T.self) } } } -extension AttributeGraph.Attribute : Swift.Sendable {} -extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} -extension AttributeGraph.External : Swift.Sendable {} -extension AttributeGraph.External : Swift.BitwiseCopyable {} +@discardableResult +public func withUnsafePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeRawPointer) -> ()) -> Swift.Bool +@discardableResult +public func withUnsafeMutablePointerToEnumCase(of value: Swift.UnsafeMutablePointer, do body: (Swift.Int, any Any.Type, Swift.UnsafeMutableRawPointer) -> ()) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, mode: AttributeGraph.ComparisonMode = .equatableAlways) -> Swift.Bool +public func compareValues(_ lhs: Value, _ rhs: Value, options: AttributeGraph.ComparisonOptions) -> Swift.Bool +extension AttributeGraph.ComparisonOptions { + public init(mode: AttributeGraph.ComparisonMode) +} extension AttributeGraph.PointerOffset : Swift.Sendable {} extension AttributeGraph.PointerOffset : Swift.BitwiseCopyable {} -extension AttributeGraph.IndirectAttribute : Swift.Sendable {} -extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} -extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.External : Swift.Sendable {} +extension AttributeGraph.External : Swift.BitwiseCopyable {} +extension AttributeGraph.Attribute : Swift.Sendable {} +extension AttributeGraph.Attribute : Swift.BitwiseCopyable {} +extension AttributeGraph.WeakAttribute : Swift.Sendable {} +extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.OptionalAttribute : Swift.Sendable {} extension AttributeGraph.OptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.Sendable {} +extension AttributeGraph.AnyOptionalAttribute : Swift.BitwiseCopyable {} +extension AttributeGraph.IndirectAttribute : Swift.Sendable {} +extension AttributeGraph.IndirectAttribute : Swift.BitwiseCopyable {} extension AttributeGraph.AnyRuleContext : Swift.Sendable {} extension AttributeGraph.AnyRuleContext : Swift.BitwiseCopyable {} extension AttributeGraph.RuleContext : Swift.Sendable {} extension AttributeGraph.RuleContext : Swift.BitwiseCopyable {} -extension AttributeGraph.WeakAttribute : Swift.Sendable {} -extension AttributeGraph.WeakAttribute : Swift.BitwiseCopyable {} diff --git a/AG/generate_swiftinterface.sh b/AG/generate_swiftinterface.sh new file mode 100755 index 0000000..978e548 --- /dev/null +++ b/AG/generate_swiftinterface.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +## Generate template.swiftinterface from DeviceSwiftShims sources. +## +## This compiles the DeviceSwiftShims Swift files against the AttributeGraph xcframework +## to produce a .swiftinterface, then transforms it into the template used by update.sh: +## 1. Strip the compiler header comments (update.sh generates per-platform headers) + +# A `realpath` alternative using the default C implementation. +filepath() { + [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}" +} + +SCRIPT_DIR="$(dirname "$(filepath "$0")")" +VERSION=${DARWINPRIVATEFRAMEWORKS_TARGET_RELEASE:-2024} +FRAMEWORK_ROOT="${SCRIPT_DIR}/${VERSION}" +SHIMS_DIR="${SCRIPT_DIR}/DeviceSwiftShims" +TEMPLATE_PATH="${FRAMEWORK_ROOT}/Sources/Modules/AttributeGraph.swiftmodule/template.swiftinterface" + +TMPDIR_WORK=$(mktemp -d) +trap "rm -rf ${TMPDIR_WORK}" EXIT + +GENERATED="${TMPDIR_WORK}/generated.swiftinterface" + +# Resolve the iOS Simulator SDK version for the -target flag +IOS_SDK_VERSION=$(xcrun --sdk iphonesimulator --show-sdk-version) + +# Compile DeviceSwiftShims against the simulator xcframework to emit a swiftinterface +xcrun --sdk iphonesimulator swiftc \ + -emit-module-interface-path "${GENERATED}" \ + -emit-module-path "${TMPDIR_WORK}/module.swiftmodule" \ + -module-name AttributeGraph \ + -enable-library-evolution \ + -swift-version 5 \ + -Osize \ + -enable-upcoming-feature InternalImportsByDefault \ + -enable-experimental-feature Extern \ + -target "arm64-apple-ios${IOS_SDK_VERSION}-simulator" \ + -F "${FRAMEWORK_ROOT}/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/" \ + $(find "${SHIMS_DIR}" -name '*.swift') \ + 2>/dev/null + +if [ ! -f "${GENERATED}" ]; then + echo "Error: failed to generate swiftinterface" + exit 1 +fi + +# Strip the compiler header comments (update.sh generates per-platform headers) +sed -e '/^\/\/ swift-/d' \ + "${GENERATED}" > "${TEMPLATE_PATH}" + +echo "Generated: ${TEMPLATE_PATH}" From d76ed808bacd1312aee8825c1823c1113ee1f8d7 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 6 Apr 2026 17:43:27 +0800 Subject: [PATCH 3/4] Call generate_swiftinterface.sh from update.sh before consuming template --- AG/update.sh | 3 +++ GF/update.sh | 3 +++ 2 files changed, 6 insertions(+) diff --git a/AG/update.sh b/AG/update.sh index 11950f7..f05888f 100755 --- a/AG/update.sh +++ b/AG/update.sh @@ -53,6 +53,9 @@ update_version_in_header() { sed -i '' "s/#define ATTRIBUTEGRAPH_RELEASE [0-9]\{4\}/#define ATTRIBUTEGRAPH_RELEASE ${version}/g" "$file" } +# Regenerate template.swiftinterface from DeviceSwiftShims sources +DARWINPRIVATEFRAMEWORKS_TARGET_RELEASE=${VERSION} "$(dirname "$(filepath "$0")")/generate_swiftinterface.sh" + generate_framework() { local framework_name=$1 local arch_name=$2 diff --git a/GF/update.sh b/GF/update.sh index 840b251..486c96e 100755 --- a/GF/update.sh +++ b/GF/update.sh @@ -59,6 +59,9 @@ generate_xcframework() { cp ${FRAMEWORK_ROOT}/Info.plist ${path}/ } +# Regenerate template.swiftinterface from DeviceSwiftShims sources +DARWINPRIVATEFRAMEWORKS_TARGET_RELEASE=${VERSION} "$(dirname "$(filepath "$0")")/generate_swiftinterface.sh" + generate_xcframework $framework_name generate_framework $framework_name ios-arm64-arm64e From 2d6cfa62980e2a8b9e71464b328ad8082218a71a Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 6 Apr 2026 17:54:51 +0800 Subject: [PATCH 4/4] Add Swift version guard to generate_swiftinterface.sh scripts AG requires Swift 6.1 (Xcode 16.4), GF requires Swift 6.2 (Xcode 26.3). Scripts now check the compiler version and exit with a clear error if mismatched. Also regenerates AG template with the correct Swift 6.1 compiler, removing erroneous #if compiler guards. --- .../arm64-apple-ios-simulator.swiftinterface | 76 ------------------- .../x86_64-apple-ios-simulator.swiftinterface | 76 ------------------- .../arm64-apple-macos.swiftinterface | 76 ------------------- .../arm64e-apple-macos.swiftinterface | 76 ------------------- .../x86_64-apple-macos.swiftinterface | 76 ------------------- .../arm64-apple-xros-simulator.swiftinterface | 76 ------------------- ...x86_64-apple-xros-simulator.swiftinterface | 76 ------------------- .../template.swiftinterface | 76 ------------------- AG/generate_swiftinterface.sh | 9 +++ GF/generate_swiftinterface.sh | 9 +++ 10 files changed, 18 insertions(+), 608 deletions(-) diff --git a/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-ios-simulator.swiftinterface index 69746b9..bdadd23 100644 --- a/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-ios-simulator.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-ios-simulator.swiftinterface @@ -10,11 +10,9 @@ public import _SwiftConcurrencyShims extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - #if compiler(>=5.3) && $NonescapableTypes public static var current: AttributeGraph.AnyAttribute? { get } - #endif public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) @@ -31,12 +29,10 @@ extension AttributeGraph.AnyAttribute { public var valueType: any Any.Type { get } - #if compiler(>=5.3) && $NonescapableTypes public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif } extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { @@ -95,9 +91,7 @@ extension AttributeGraph.External : Swift.CustomStringConvertible { public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - #if compiler(>=5.3) && $NonescapableTypes public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody - #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -169,10 +163,8 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } -#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") @inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute -#endif @_silgen_name("AGGraphGetValue") @inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") @@ -215,40 +207,26 @@ extension AttributeGraph._AttributeBody { public init(base: AttributeGraph.AnyWeakAttribute) public init() public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif } extension AttributeGraph.WeakAttribute : Swift.Hashable { public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool @@ -263,17 +241,13 @@ extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { } } extension AttributeGraph.AnyWeakAttribute { - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif } extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool @@ -289,17 +263,13 @@ extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { } public protocol Rule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif var value: Self.Value { get } } extension AttributeGraph.Rule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -312,15 +282,9 @@ extension AttributeGraph.Rule { } } extension AttributeGraph.Rule where Self : Swift.Hashable { - #if compiler(>=5.3) && $NonescapableTypes public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value - #endif - #if compiler(>=5.3) && $NonescapableTypes public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? - #endif - #if compiler(>=5.3) && $NonescapableTypes public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer - #endif } @frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { public var arg: AttributeGraph.Attribute @@ -338,17 +302,13 @@ extension AttributeGraph.Rule where Self : Swift.Hashable { } public protocol StatefulRule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif mutating func updateValue() } extension AttributeGraph.StatefulRule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -386,44 +346,28 @@ extension AttributeGraph.StatefulRule { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -441,22 +385,16 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { public var identifier: AttributeGraph.AnyAttribute public init() public init(_ attribute: AttributeGraph.AnyAttribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ attribute: AttributeGraph.OptionalAttribute) public static var current: AttributeGraph.AnyOptionalAttribute { get } - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? - #endif public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { @@ -478,12 +416,10 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { get nonmutating set } - #if compiler(>=5.3) && $NonescapableTypes public var dependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif public var value: Value { get nonmutating set @@ -516,16 +452,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) @@ -538,16 +470,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public var value: Value { unsafeAddress nonmutating set @@ -609,10 +537,8 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? - #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } @@ -622,9 +548,7 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) - #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { diff --git a/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-ios-simulator.swiftinterface index 5cd8c39..4c0c004 100644 --- a/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/ios-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-ios-simulator.swiftinterface @@ -10,11 +10,9 @@ public import _SwiftConcurrencyShims extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - #if compiler(>=5.3) && $NonescapableTypes public static var current: AttributeGraph.AnyAttribute? { get } - #endif public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) @@ -31,12 +29,10 @@ extension AttributeGraph.AnyAttribute { public var valueType: any Any.Type { get } - #if compiler(>=5.3) && $NonescapableTypes public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif } extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { @@ -95,9 +91,7 @@ extension AttributeGraph.External : Swift.CustomStringConvertible { public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - #if compiler(>=5.3) && $NonescapableTypes public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody - #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -169,10 +163,8 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } -#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") @inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute -#endif @_silgen_name("AGGraphGetValue") @inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") @@ -215,40 +207,26 @@ extension AttributeGraph._AttributeBody { public init(base: AttributeGraph.AnyWeakAttribute) public init() public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif } extension AttributeGraph.WeakAttribute : Swift.Hashable { public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool @@ -263,17 +241,13 @@ extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { } } extension AttributeGraph.AnyWeakAttribute { - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif } extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool @@ -289,17 +263,13 @@ extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { } public protocol Rule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif var value: Self.Value { get } } extension AttributeGraph.Rule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -312,15 +282,9 @@ extension AttributeGraph.Rule { } } extension AttributeGraph.Rule where Self : Swift.Hashable { - #if compiler(>=5.3) && $NonescapableTypes public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value - #endif - #if compiler(>=5.3) && $NonescapableTypes public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? - #endif - #if compiler(>=5.3) && $NonescapableTypes public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer - #endif } @frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { public var arg: AttributeGraph.Attribute @@ -338,17 +302,13 @@ extension AttributeGraph.Rule where Self : Swift.Hashable { } public protocol StatefulRule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif mutating func updateValue() } extension AttributeGraph.StatefulRule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -386,44 +346,28 @@ extension AttributeGraph.StatefulRule { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -441,22 +385,16 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { public var identifier: AttributeGraph.AnyAttribute public init() public init(_ attribute: AttributeGraph.AnyAttribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ attribute: AttributeGraph.OptionalAttribute) public static var current: AttributeGraph.AnyOptionalAttribute { get } - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? - #endif public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { @@ -478,12 +416,10 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { get nonmutating set } - #if compiler(>=5.3) && $NonescapableTypes public var dependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif public var value: Value { get nonmutating set @@ -516,16 +452,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) @@ -538,16 +470,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public var value: Value { unsafeAddress nonmutating set @@ -609,10 +537,8 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? - #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } @@ -622,9 +548,7 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) - #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { diff --git a/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-macos.swiftinterface b/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-macos.swiftinterface index f9e0c1b..68567b8 100644 --- a/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-macos.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-macos.swiftinterface @@ -10,11 +10,9 @@ public import _SwiftConcurrencyShims extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - #if compiler(>=5.3) && $NonescapableTypes public static var current: AttributeGraph.AnyAttribute? { get } - #endif public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) @@ -31,12 +29,10 @@ extension AttributeGraph.AnyAttribute { public var valueType: any Any.Type { get } - #if compiler(>=5.3) && $NonescapableTypes public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif } extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { @@ -95,9 +91,7 @@ extension AttributeGraph.External : Swift.CustomStringConvertible { public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - #if compiler(>=5.3) && $NonescapableTypes public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody - #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -169,10 +163,8 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } -#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") @inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute -#endif @_silgen_name("AGGraphGetValue") @inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") @@ -215,40 +207,26 @@ extension AttributeGraph._AttributeBody { public init(base: AttributeGraph.AnyWeakAttribute) public init() public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif } extension AttributeGraph.WeakAttribute : Swift.Hashable { public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool @@ -263,17 +241,13 @@ extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { } } extension AttributeGraph.AnyWeakAttribute { - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif } extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool @@ -289,17 +263,13 @@ extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { } public protocol Rule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif var value: Self.Value { get } } extension AttributeGraph.Rule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -312,15 +282,9 @@ extension AttributeGraph.Rule { } } extension AttributeGraph.Rule where Self : Swift.Hashable { - #if compiler(>=5.3) && $NonescapableTypes public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value - #endif - #if compiler(>=5.3) && $NonescapableTypes public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? - #endif - #if compiler(>=5.3) && $NonescapableTypes public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer - #endif } @frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { public var arg: AttributeGraph.Attribute @@ -338,17 +302,13 @@ extension AttributeGraph.Rule where Self : Swift.Hashable { } public protocol StatefulRule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif mutating func updateValue() } extension AttributeGraph.StatefulRule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -386,44 +346,28 @@ extension AttributeGraph.StatefulRule { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -441,22 +385,16 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { public var identifier: AttributeGraph.AnyAttribute public init() public init(_ attribute: AttributeGraph.AnyAttribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ attribute: AttributeGraph.OptionalAttribute) public static var current: AttributeGraph.AnyOptionalAttribute { get } - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? - #endif public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { @@ -478,12 +416,10 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { get nonmutating set } - #if compiler(>=5.3) && $NonescapableTypes public var dependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif public var value: Value { get nonmutating set @@ -516,16 +452,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) @@ -538,16 +470,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public var value: Value { unsafeAddress nonmutating set @@ -609,10 +537,8 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? - #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } @@ -622,9 +548,7 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) - #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { diff --git a/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64e-apple-macos.swiftinterface b/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64e-apple-macos.swiftinterface index 09b4892..d9b52cd 100644 --- a/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64e-apple-macos.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64e-apple-macos.swiftinterface @@ -10,11 +10,9 @@ public import _SwiftConcurrencyShims extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - #if compiler(>=5.3) && $NonescapableTypes public static var current: AttributeGraph.AnyAttribute? { get } - #endif public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) @@ -31,12 +29,10 @@ extension AttributeGraph.AnyAttribute { public var valueType: any Any.Type { get } - #if compiler(>=5.3) && $NonescapableTypes public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif } extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { @@ -95,9 +91,7 @@ extension AttributeGraph.External : Swift.CustomStringConvertible { public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - #if compiler(>=5.3) && $NonescapableTypes public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody - #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -169,10 +163,8 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } -#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") @inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute -#endif @_silgen_name("AGGraphGetValue") @inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") @@ -215,40 +207,26 @@ extension AttributeGraph._AttributeBody { public init(base: AttributeGraph.AnyWeakAttribute) public init() public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif } extension AttributeGraph.WeakAttribute : Swift.Hashable { public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool @@ -263,17 +241,13 @@ extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { } } extension AttributeGraph.AnyWeakAttribute { - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif } extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool @@ -289,17 +263,13 @@ extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { } public protocol Rule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif var value: Self.Value { get } } extension AttributeGraph.Rule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -312,15 +282,9 @@ extension AttributeGraph.Rule { } } extension AttributeGraph.Rule where Self : Swift.Hashable { - #if compiler(>=5.3) && $NonescapableTypes public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value - #endif - #if compiler(>=5.3) && $NonescapableTypes public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? - #endif - #if compiler(>=5.3) && $NonescapableTypes public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer - #endif } @frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { public var arg: AttributeGraph.Attribute @@ -338,17 +302,13 @@ extension AttributeGraph.Rule where Self : Swift.Hashable { } public protocol StatefulRule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif mutating func updateValue() } extension AttributeGraph.StatefulRule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -386,44 +346,28 @@ extension AttributeGraph.StatefulRule { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -441,22 +385,16 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { public var identifier: AttributeGraph.AnyAttribute public init() public init(_ attribute: AttributeGraph.AnyAttribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ attribute: AttributeGraph.OptionalAttribute) public static var current: AttributeGraph.AnyOptionalAttribute { get } - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? - #endif public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { @@ -478,12 +416,10 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { get nonmutating set } - #if compiler(>=5.3) && $NonescapableTypes public var dependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif public var value: Value { get nonmutating set @@ -516,16 +452,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) @@ -538,16 +470,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public var value: Value { unsafeAddress nonmutating set @@ -609,10 +537,8 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? - #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } @@ -622,9 +548,7 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) - #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { diff --git a/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-macos.swiftinterface b/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-macos.swiftinterface index 60e44b6..fe72dd1 100644 --- a/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-macos.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/macos-arm64e-arm64-x86_64/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-macos.swiftinterface @@ -10,11 +10,9 @@ public import _SwiftConcurrencyShims extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - #if compiler(>=5.3) && $NonescapableTypes public static var current: AttributeGraph.AnyAttribute? { get } - #endif public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) @@ -31,12 +29,10 @@ extension AttributeGraph.AnyAttribute { public var valueType: any Any.Type { get } - #if compiler(>=5.3) && $NonescapableTypes public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif } extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { @@ -95,9 +91,7 @@ extension AttributeGraph.External : Swift.CustomStringConvertible { public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - #if compiler(>=5.3) && $NonescapableTypes public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody - #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -169,10 +163,8 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } -#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") @inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute -#endif @_silgen_name("AGGraphGetValue") @inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") @@ -215,40 +207,26 @@ extension AttributeGraph._AttributeBody { public init(base: AttributeGraph.AnyWeakAttribute) public init() public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif } extension AttributeGraph.WeakAttribute : Swift.Hashable { public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool @@ -263,17 +241,13 @@ extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { } } extension AttributeGraph.AnyWeakAttribute { - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif } extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool @@ -289,17 +263,13 @@ extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { } public protocol Rule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif var value: Self.Value { get } } extension AttributeGraph.Rule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -312,15 +282,9 @@ extension AttributeGraph.Rule { } } extension AttributeGraph.Rule where Self : Swift.Hashable { - #if compiler(>=5.3) && $NonescapableTypes public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value - #endif - #if compiler(>=5.3) && $NonescapableTypes public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? - #endif - #if compiler(>=5.3) && $NonescapableTypes public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer - #endif } @frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { public var arg: AttributeGraph.Attribute @@ -338,17 +302,13 @@ extension AttributeGraph.Rule where Self : Swift.Hashable { } public protocol StatefulRule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif mutating func updateValue() } extension AttributeGraph.StatefulRule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -386,44 +346,28 @@ extension AttributeGraph.StatefulRule { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -441,22 +385,16 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { public var identifier: AttributeGraph.AnyAttribute public init() public init(_ attribute: AttributeGraph.AnyAttribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ attribute: AttributeGraph.OptionalAttribute) public static var current: AttributeGraph.AnyOptionalAttribute { get } - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? - #endif public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { @@ -478,12 +416,10 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { get nonmutating set } - #if compiler(>=5.3) && $NonescapableTypes public var dependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif public var value: Value { get nonmutating set @@ -516,16 +452,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) @@ -538,16 +470,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public var value: Value { unsafeAddress nonmutating set @@ -609,10 +537,8 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? - #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } @@ -622,9 +548,7 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) - #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { diff --git a/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-xros-simulator.swiftinterface b/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-xros-simulator.swiftinterface index 2bdb89a..4f4169a 100644 --- a/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-xros-simulator.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/arm64-apple-xros-simulator.swiftinterface @@ -10,11 +10,9 @@ public import _SwiftConcurrencyShims extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - #if compiler(>=5.3) && $NonescapableTypes public static var current: AttributeGraph.AnyAttribute? { get } - #endif public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) @@ -31,12 +29,10 @@ extension AttributeGraph.AnyAttribute { public var valueType: any Any.Type { get } - #if compiler(>=5.3) && $NonescapableTypes public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif } extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { @@ -95,9 +91,7 @@ extension AttributeGraph.External : Swift.CustomStringConvertible { public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - #if compiler(>=5.3) && $NonescapableTypes public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody - #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -169,10 +163,8 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } -#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") @inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute -#endif @_silgen_name("AGGraphGetValue") @inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") @@ -215,40 +207,26 @@ extension AttributeGraph._AttributeBody { public init(base: AttributeGraph.AnyWeakAttribute) public init() public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif } extension AttributeGraph.WeakAttribute : Swift.Hashable { public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool @@ -263,17 +241,13 @@ extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { } } extension AttributeGraph.AnyWeakAttribute { - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif } extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool @@ -289,17 +263,13 @@ extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { } public protocol Rule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif var value: Self.Value { get } } extension AttributeGraph.Rule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -312,15 +282,9 @@ extension AttributeGraph.Rule { } } extension AttributeGraph.Rule where Self : Swift.Hashable { - #if compiler(>=5.3) && $NonescapableTypes public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value - #endif - #if compiler(>=5.3) && $NonescapableTypes public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? - #endif - #if compiler(>=5.3) && $NonescapableTypes public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer - #endif } @frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { public var arg: AttributeGraph.Attribute @@ -338,17 +302,13 @@ extension AttributeGraph.Rule where Self : Swift.Hashable { } public protocol StatefulRule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif mutating func updateValue() } extension AttributeGraph.StatefulRule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -386,44 +346,28 @@ extension AttributeGraph.StatefulRule { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -441,22 +385,16 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { public var identifier: AttributeGraph.AnyAttribute public init() public init(_ attribute: AttributeGraph.AnyAttribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ attribute: AttributeGraph.OptionalAttribute) public static var current: AttributeGraph.AnyOptionalAttribute { get } - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? - #endif public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { @@ -478,12 +416,10 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { get nonmutating set } - #if compiler(>=5.3) && $NonescapableTypes public var dependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif public var value: Value { get nonmutating set @@ -516,16 +452,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) @@ -538,16 +470,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public var value: Value { unsafeAddress nonmutating set @@ -609,10 +537,8 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? - #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } @@ -622,9 +548,7 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) - #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { diff --git a/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-xros-simulator.swiftinterface b/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-xros-simulator.swiftinterface index d168982..86da1bf 100644 --- a/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-xros-simulator.swiftinterface +++ b/AG/2024/AttributeGraph.xcframework/xros-arm64-x86_64-simulator/AttributeGraph.framework/Modules/AttributeGraph.swiftmodule/x86_64-apple-xros-simulator.swiftinterface @@ -10,11 +10,9 @@ public import _SwiftConcurrencyShims extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - #if compiler(>=5.3) && $NonescapableTypes public static var current: AttributeGraph.AnyAttribute? { get } - #endif public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) @@ -31,12 +29,10 @@ extension AttributeGraph.AnyAttribute { public var valueType: any Any.Type { get } - #if compiler(>=5.3) && $NonescapableTypes public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif } extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { @@ -95,9 +91,7 @@ extension AttributeGraph.External : Swift.CustomStringConvertible { public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - #if compiler(>=5.3) && $NonescapableTypes public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody - #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -169,10 +163,8 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } -#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") @inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute -#endif @_silgen_name("AGGraphGetValue") @inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") @@ -215,40 +207,26 @@ extension AttributeGraph._AttributeBody { public init(base: AttributeGraph.AnyWeakAttribute) public init() public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif } extension AttributeGraph.WeakAttribute : Swift.Hashable { public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool @@ -263,17 +241,13 @@ extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { } } extension AttributeGraph.AnyWeakAttribute { - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif } extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool @@ -289,17 +263,13 @@ extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { } public protocol Rule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif var value: Self.Value { get } } extension AttributeGraph.Rule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -312,15 +282,9 @@ extension AttributeGraph.Rule { } } extension AttributeGraph.Rule where Self : Swift.Hashable { - #if compiler(>=5.3) && $NonescapableTypes public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value - #endif - #if compiler(>=5.3) && $NonescapableTypes public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? - #endif - #if compiler(>=5.3) && $NonescapableTypes public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer - #endif } @frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { public var arg: AttributeGraph.Attribute @@ -338,17 +302,13 @@ extension AttributeGraph.Rule where Self : Swift.Hashable { } public protocol StatefulRule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif mutating func updateValue() } extension AttributeGraph.StatefulRule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -386,44 +346,28 @@ extension AttributeGraph.StatefulRule { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -441,22 +385,16 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { public var identifier: AttributeGraph.AnyAttribute public init() public init(_ attribute: AttributeGraph.AnyAttribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ attribute: AttributeGraph.OptionalAttribute) public static var current: AttributeGraph.AnyOptionalAttribute { get } - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? - #endif public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { @@ -478,12 +416,10 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { get nonmutating set } - #if compiler(>=5.3) && $NonescapableTypes public var dependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif public var value: Value { get nonmutating set @@ -516,16 +452,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) @@ -538,16 +470,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public var value: Value { unsafeAddress nonmutating set @@ -609,10 +537,8 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? - #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } @@ -622,9 +548,7 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) - #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { diff --git a/AG/2024/Sources/Modules/AttributeGraph.swiftmodule/template.swiftinterface b/AG/2024/Sources/Modules/AttributeGraph.swiftmodule/template.swiftinterface index 6afe2c5..8f6ecb7 100644 --- a/AG/2024/Sources/Modules/AttributeGraph.swiftmodule/template.swiftinterface +++ b/AG/2024/Sources/Modules/AttributeGraph.swiftmodule/template.swiftinterface @@ -6,11 +6,9 @@ public import _SwiftConcurrencyShims extension AttributeGraph.AnyAttribute { public init(_ attribute: AttributeGraph.Attribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.Attribute - #if compiler(>=5.3) && $NonescapableTypes public static var current: AttributeGraph.AnyAttribute? { get } - #endif public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute public func setFlags(_ newFlags: AttributeGraph.AnyAttribute.Flags, mask: AttributeGraph.AnyAttribute.Flags) public func addInput(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions = [], token: Swift.Int) @@ -27,12 +25,10 @@ extension AttributeGraph.AnyAttribute { public var valueType: any Any.Type { get } - #if compiler(>=5.3) && $NonescapableTypes public var indirectDependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif } extension AttributeGraph.AnyAttribute : Swift.CustomStringConvertible { @inlinable public var description: Swift.String { @@ -91,9 +87,7 @@ extension AttributeGraph.External : Swift.CustomStringConvertible { public init(_ attribute: AttributeGraph.Attribute) public init(value: Value) public init(type _: Value.Type) - #if compiler(>=5.3) && $NonescapableTypes public init(body: Swift.UnsafePointer, value: Swift.UnsafePointer?, flags: AttributeGraph._AttributeType.Flags = [], update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) where Body : AttributeGraph._AttributeBody - #endif public var wrappedValue: Value { unsafeAddress nonmutating set @@ -165,10 +159,8 @@ extension AttributeGraph.Attribute { public init(_ rule: R) where Value == R.Value, R : AttributeGraph.Rule public init(_ rule: R) where Value == R.Value, R : AttributeGraph.StatefulRule } -#if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphCreateAttribute") @inline(__always) @inlinable internal func AGGraphCreateAttribute(index: Swift.Int, body: Swift.UnsafeRawPointer, value: Swift.UnsafeRawPointer?) -> AttributeGraph.AnyAttribute -#endif @_silgen_name("AGGraphGetValue") @inline(__always) @inlinable internal func AGGraphGetValue(_ attribute: AttributeGraph.AnyAttribute, options: AttributeGraph.AGValueOptions = [], type: Value.Type = Value.self) -> AttributeGraph.AGValue @_silgen_name("AGGraphSetValue") @@ -211,40 +203,26 @@ extension AttributeGraph._AttributeBody { public init(base: AttributeGraph.AnyWeakAttribute) public init() public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif } extension AttributeGraph.WeakAttribute : Swift.Hashable { public static func == (a: AttributeGraph.WeakAttribute, b: AttributeGraph.WeakAttribute) -> Swift.Bool @@ -259,17 +237,13 @@ extension AttributeGraph.WeakAttribute : Swift.CustomStringConvertible { } } extension AttributeGraph.AnyWeakAttribute { - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) public func unsafeCast(to _: Value.Type) -> AttributeGraph.WeakAttribute - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif } extension AttributeGraph.AnyWeakAttribute : Swift.Hashable { public static func == (lhs: AttributeGraph.AnyWeakAttribute, rhs: AttributeGraph.AnyWeakAttribute) -> Swift.Bool @@ -285,17 +259,13 @@ extension AttributeGraph.AnyWeakAttribute : Swift.CustomStringConvertible { } public protocol Rule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif var value: Self.Value { get } } extension AttributeGraph.Rule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -308,15 +278,9 @@ extension AttributeGraph.Rule { } } extension AttributeGraph.Rule where Self : Swift.Hashable { - #if compiler(>=5.3) && $NonescapableTypes public func cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value - #endif - #if compiler(>=5.3) && $NonescapableTypes public func cachedValueIfExists(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?) -> Self.Value? - #endif - #if compiler(>=5.3) && $NonescapableTypes public static func _cachedValue(options: AttributeGraph.AGCachedValueOptions = [], owner: AttributeGraph.AnyAttribute?, hashValue: Swift.Int, bodyPtr: Swift.UnsafeRawPointer, update: () -> (Swift.UnsafeMutableRawPointer, AttributeGraph.AnyAttribute) -> Swift.Void) -> Swift.UnsafePointer - #endif } @frozen public struct Map : AttributeGraph.Rule, Swift.CustomStringConvertible { public var arg: AttributeGraph.Attribute @@ -334,17 +298,13 @@ extension AttributeGraph.Rule where Self : Swift.Hashable { } public protocol StatefulRule : AttributeGraph._AttributeBody { associatedtype Value - #if compiler(>=5.3) && $NonescapableTypes static var initialValue: Self.Value? { get } - #endif mutating func updateValue() } extension AttributeGraph.StatefulRule { - #if compiler(>=5.3) && $NonescapableTypes public static var initialValue: Self.Value? { get } - #endif public static func _update(_ pointer: Swift.UnsafeMutableRawPointer, attribute _: AttributeGraph.AnyAttribute) public static func _updateDefault(_: Swift.UnsafeMutableRawPointer) } @@ -382,44 +342,28 @@ extension AttributeGraph.StatefulRule { public init() public init(base: AttributeGraph.AnyOptionalAttribute) public init(_ attribute: AttributeGraph.Attribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.Attribute?) - #endif public init(_ weakAttribute: AttributeGraph.WeakAttribute) - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.Attribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var value: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func changedValue(options: AttributeGraph.AGValueOptions = []) -> (value: Value, changed: Swift.Bool)? - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.Attribute) -> V) -> V? - #endif - #if compiler(>=5.3) && $NonescapableTypes public var wrappedValue: Value? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public var projectedValue: AttributeGraph.Attribute? { get set _modify } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(dynamicMember keyPath: Swift.KeyPath) -> AttributeGraph.Attribute? { get } - #endif } extension AttributeGraph.OptionalAttribute : Swift.Hashable { public static func == (a: AttributeGraph.OptionalAttribute, b: AttributeGraph.OptionalAttribute) -> Swift.Bool @@ -437,22 +381,16 @@ extension AttributeGraph.OptionalAttribute : Swift.CustomStringConvertible { public var identifier: AttributeGraph.AnyAttribute public init() public init(_ attribute: AttributeGraph.AnyAttribute) - #if compiler(>=5.3) && $NonescapableTypes public init(_ attribute: AttributeGraph.AnyAttribute?) - #endif public init(_ attribute: AttributeGraph.OptionalAttribute) public static var current: AttributeGraph.AnyOptionalAttribute { get } - #if compiler(>=5.3) && $NonescapableTypes public var attribute: AttributeGraph.AnyAttribute? { get set } - #endif - #if compiler(>=5.3) && $NonescapableTypes public func map(_ body: (AttributeGraph.AnyAttribute) -> Value) -> Value? - #endif public func unsafeCast(to _: Value.Type) -> AttributeGraph.OptionalAttribute } extension AttributeGraph.AnyOptionalAttribute : Swift.Hashable { @@ -474,12 +412,10 @@ extension AttributeGraph.AnyOptionalAttribute : Swift.CustomStringConvertible { get nonmutating set } - #if compiler(>=5.3) && $NonescapableTypes public var dependency: AttributeGraph.AnyAttribute? { get nonmutating set } - #endif public var value: Value { get nonmutating set @@ -512,16 +448,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public func valueAndFlags(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, flags: AttributeGraph.AGChangedValueFlags) public func changedValue(of input: AttributeGraph.Attribute, options: AttributeGraph.AGValueOptions = []) -> (value: V, changed: Swift.Bool) public func update(body: () -> Swift.Void) @@ -534,16 +466,12 @@ extension AttributeGraph.IndirectAttribute : Swift.Hashable { public subscript(attribute: AttributeGraph.Attribute) -> V { unsafeAddress } - #if compiler(>=5.3) && $NonescapableTypes public subscript(weakAttribute: AttributeGraph.WeakAttribute) -> V? { get } - #endif - #if compiler(>=5.3) && $NonescapableTypes public subscript(optionalAttribute: AttributeGraph.OptionalAttribute) -> V? { get } - #endif public var value: Value { unsafeAddress nonmutating set @@ -605,10 +533,8 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes @_silgen_name("AGGraphGetOutputValue") @inline(__always) @inlinable public static func outputValue() -> Swift.UnsafePointer? - #endif @_silgen_name("AGGraphSetOutputValue") @inline(__always) @inlinable public static func setOutputValue(_ value: Swift.UnsafePointer) } @@ -618,9 +544,7 @@ extension AttributeGraph.Graph { } } extension AttributeGraph.Graph { - #if compiler(>=5.3) && $NonescapableTypes public func archiveJSON(name: Swift.String?) - #endif } public func forEachField(of type: any Any.Type, do body: (Swift.UnsafePointer, Swift.Int, any Any.Type) -> Swift.Void) extension AttributeGraph.Metadata : Swift.Hashable, Swift.CustomStringConvertible { diff --git a/AG/generate_swiftinterface.sh b/AG/generate_swiftinterface.sh index 978e548..def711f 100755 --- a/AG/generate_swiftinterface.sh +++ b/AG/generate_swiftinterface.sh @@ -17,6 +17,15 @@ FRAMEWORK_ROOT="${SCRIPT_DIR}/${VERSION}" SHIMS_DIR="${SCRIPT_DIR}/DeviceSwiftShims" TEMPLATE_PATH="${FRAMEWORK_ROOT}/Sources/Modules/AttributeGraph.swiftmodule/template.swiftinterface" +# Verify Swift compiler version matches the expected version for this framework +EXPECTED_SWIFT_VERSION="6.1" # 2024 -> 6.1, 2025 -> 6.2 +SWIFT_VERSION=$(xcrun swiftc --version 2>&1 | grep -o 'Swift version [0-9]*\.[0-9]*' | head -1 | awk '{print $3}') +if [ "${SWIFT_VERSION}" != "${EXPECTED_SWIFT_VERSION}" ]; then + echo "Error: expected Swift ${EXPECTED_SWIFT_VERSION} but found Swift ${SWIFT_VERSION}" + echo "Set DEVELOPER_DIR to the correct Xcode version" + exit 1 +fi + TMPDIR_WORK=$(mktemp -d) trap "rm -rf ${TMPDIR_WORK}" EXIT diff --git a/GF/generate_swiftinterface.sh b/GF/generate_swiftinterface.sh index 1e7ec36..ca008cb 100755 --- a/GF/generate_swiftinterface.sh +++ b/GF/generate_swiftinterface.sh @@ -18,6 +18,15 @@ FRAMEWORK_ROOT="${SCRIPT_DIR}/${VERSION}" SHIMS_DIR="${SCRIPT_DIR}/DeviceSwiftShims" TEMPLATE_PATH="${FRAMEWORK_ROOT}/Sources/Modules/Gestures.swiftmodule/template.swiftinterface" +# Verify Swift compiler version matches the expected version for this framework +EXPECTED_SWIFT_VERSION="6.2" # 2024 -> 6.1, 2025 -> 6.2 +SWIFT_VERSION=$(xcrun swiftc --version 2>&1 | grep -o 'Swift version [0-9]*\.[0-9]*' | head -1 | awk '{print $3}') +if [ "${SWIFT_VERSION}" != "${EXPECTED_SWIFT_VERSION}" ]; then + echo "Error: expected Swift ${EXPECTED_SWIFT_VERSION} but found Swift ${SWIFT_VERSION}" + echo "Set DEVELOPER_DIR to the correct Xcode version" + exit 1 +fi + TMPDIR_WORK=$(mktemp -d) trap "rm -rf ${TMPDIR_WORK}" EXIT