diff --git a/Sources/OpenSwiftUICore/Event/Gesture/GestureDebug.swift b/Sources/OpenSwiftUICore/Event/Gesture/GestureDebug.swift index ea66d22ee..f4bb88894 100644 --- a/Sources/OpenSwiftUICore/Event/Gesture/GestureDebug.swift +++ b/Sources/OpenSwiftUICore/Event/Gesture/GestureDebug.swift @@ -20,6 +20,10 @@ package enum GestureDebug { case combiner } + private enum ChildrenBox { + indirect case value(Data.Children) + } + package struct Data { package var kind: GestureDebug.Kind package var type: any Any.Type @@ -28,7 +32,7 @@ package enum GestureDebug { package var resetSeed: UInt32 package var frame: CGRect package var properties: GestureDebug.Properties - // private var childrenBox: GestureDebug.ChildrenBox + private var childrenBox: GestureDebug.ChildrenBox package typealias Children = ArrayWith2Inline @@ -45,6 +49,7 @@ package enum GestureDebug { resetSeed = 0 frame = .zero properties = .init() + childrenBox = .value([]) // FIXME } package init( @@ -169,12 +174,15 @@ extension _GestureOutputs { } } -@_spi(ForSwiftUIOnly) +@_spi(ForOpenSwiftUIOnly) extension GesturePhase { - @_spi(ForSwiftUIOnly) package var descriptionWithoutValue: String { - @_spi(ForSwiftUIOnly) - get { _openSwiftUIUnimplementedFailure() } + switch self { + case let .possible(value): value == nil ? "" : "possible(some)" + case .active: "active" + case .ended: "ended" + case .failed: "failed" + } } } @@ -182,4 +190,10 @@ extension GestureDebug.Data { package func printTree() { _openSwiftUIUnimplementedFailure() } + + private typealias Indent = String + + private func printSubtree(parent: GestureDebug.Data?, indent: Indent) { + _openSwiftUIUnimplementedFailure() + } } diff --git a/Sources/OpenSwiftUICore/Event/Gesture/GesturePhase.swift b/Sources/OpenSwiftUICore/Event/Gesture/GesturePhase.swift index d0ee3ada5..858ee29fd 100644 --- a/Sources/OpenSwiftUICore/Event/Gesture/GesturePhase.swift +++ b/Sources/OpenSwiftUICore/Event/Gesture/GesturePhase.swift @@ -6,7 +6,7 @@ // MARK: - GesturePhase [6.5.4] -@_spi(ForOnlySwiftUIOnly) +@_spi(ForOpenSwiftUIOnly) @available(OpenSwiftUI_v6_0, *) public enum GesturePhase { case possible(Wrapped?) @@ -15,14 +15,14 @@ public enum GesturePhase { case failed } -@_spi(ForOnlySwiftUIOnly) +@_spi(ForOpenSwiftUIOnly) @available(*, unavailable) extension GesturePhase: Sendable {} -@_spi(ForOnlySwiftUIOnly) +@_spi(ForOpenSwiftUIOnly) extension GesturePhase: Equatable where Wrapped: Equatable {} -@_spi(ForOnlySwiftUIOnly) +@_spi(ForOpenSwiftUIOnly) extension GesturePhase { package var unwrapped: Wrapped? { switch self { @@ -84,14 +84,14 @@ extension GesturePhase { // MARK: - GesturePhase + Defaultable [6.5.4] -@_spi(ForOnlySwiftUIOnly) +@_spi(ForOpenSwiftUIOnly) extension GesturePhase: Defaultable { package static var defaultValue: GesturePhase { .failed } } // MARK: - GestureCategory + Defaultable [6.5.4] -@_spi(ForOnlySwiftUIOnly) +@_spi(ForOpenSwiftUIOnly) extension GestureCategory: Defaultable { package static var defaultValue: GestureCategory { .magnify } } diff --git a/Sources/OpenSwiftUICore/Event/Responder/ViewResponder.swift b/Sources/OpenSwiftUICore/Event/Responder/ViewResponder.swift index beeacf336..e5c99eead 100644 --- a/Sources/OpenSwiftUICore/Event/Responder/ViewResponder.swift +++ b/Sources/OpenSwiftUICore/Event/Responder/ViewResponder.swift @@ -51,7 +51,7 @@ open class ViewResponder: ResponderNode, CustomStringConvertible/*, CustomRecurs final package weak var parent: ViewResponder? = nil { willSet { - guard let parent, newValue == nil else { + guard parent != nil, newValue == nil else { return } guard let host, let eventGraphHost = host.as(EventGraphHost.self) else {