@@ -106,17 +106,16 @@ private protocol RuleThreadFlags {
106
106
}
107
107
108
108
private struct AsyncThreadFlags : RuleThreadFlags {
109
- static var value : OGAttributeTypeFlags { . init ( rawValue : 1 << 5 ) }
109
+ static var value : OGAttributeTypeFlags { . asyncThread }
110
110
}
111
111
112
112
private struct MainThreadFlags : RuleThreadFlags {
113
- static var value : OGAttributeTypeFlags { . _8 }
113
+ static var value : OGAttributeTypeFlags { . mainThread }
114
114
}
115
115
116
-
117
116
// MARK: - StaticBody
118
117
119
- private struct StaticBody < Accessor: BodyAccessor , ThreadFlags: RuleThreadFlags > : CustomStringConvertible , BodyAccessorRule /*, StatefulRule*/ {
118
+ private struct StaticBody < Accessor: BodyAccessor , ThreadFlags: RuleThreadFlags > {
120
119
let accessor : Accessor
121
120
@Attribute
122
121
var container : Accessor . Container
@@ -125,19 +124,23 @@ private struct StaticBody<Accessor: BodyAccessor, ThreadFlags: RuleThreadFlags>:
125
124
self . accessor = accessor
126
125
self . _container = container
127
126
}
128
-
127
+ }
128
+
129
+ extension StaticBody : StatefulRule {
130
+ typealias Value = Accessor . Body
131
+
129
132
func updateValue( ) {
130
133
accessor. updateBody ( of: container, changed: true )
131
134
}
132
-
133
- var description : String {
134
- " \( Accessor . Body. self) "
135
- }
136
-
135
+ }
136
+
137
+ extension StaticBody : _AttributeBody {
137
138
static var flags : OGAttributeTypeFlags {
138
139
ThreadFlags . value
139
140
}
140
-
141
+ }
142
+
143
+ extension StaticBody : BodyAccessorRule {
141
144
static var container : Any . Type {
142
145
Accessor . Container. self
143
146
}
@@ -160,3 +163,7 @@ private struct StaticBody<Accessor: BodyAccessor, ThreadFlags: RuleThreadFlags>:
160
163
return [ ( " @self " , attribute. info. body. assumingMemoryBound ( to: Self . self) . pointee. _container. identifier) ]
161
164
}
162
165
}
166
+
167
+ extension StaticBody : CustomStringConvertible {
168
+ var description : String { " \( Accessor . Body. self) " }
169
+ }
0 commit comments