@@ -4207,7 +4207,7 @@ extension StructDeclSyntax {
42074207
42084208public struct ProtocolDeclSyntaxBuilder {
42094209 private var layout =
4210- Array < RawSyntax ? > ( repeating: nil , count: 7 )
4210+ Array < RawSyntax ? > ( repeating: nil , count: 8 )
42114211
42124212 internal init ( ) { }
42134213
@@ -4243,6 +4243,11 @@ public struct ProtocolDeclSyntaxBuilder {
42434243 layout [ idx] = node. raw
42444244 }
42454245
4246+ public mutating func usePrimaryAssociatedTypeClause( _ node: PrimaryAssociatedTypeClauseSyntax ) {
4247+ let idx = ProtocolDeclSyntax . Cursor. primaryAssociatedTypeClause. rawValue
4248+ layout [ idx] = node. raw
4249+ }
4250+
42464251 public mutating func useInheritanceClause( _ node: TypeInheritanceClauseSyntax ) {
42474252 let idx = ProtocolDeclSyntax . Cursor. inheritanceClause. rawValue
42484253 layout [ idx] = node. raw
@@ -4265,8 +4270,8 @@ public struct ProtocolDeclSyntaxBuilder {
42654270 if ( layout [ 3 ] == nil ) {
42664271 layout [ 3 ] = RawSyntax . missingToken ( TokenKind . identifier ( " " ) )
42674272 }
4268- if ( layout [ 6 ] == nil ) {
4269- layout [ 6 ] = RawSyntax . missing ( SyntaxKind . memberDeclBlock)
4273+ if ( layout [ 7 ] == nil ) {
4274+ layout [ 7 ] = RawSyntax . missing ( SyntaxKind . memberDeclBlock)
42704275 }
42714276
42724277 return . forRoot( RawSyntax . createAndCalcLength ( kind: . protocolDecl,
@@ -9249,6 +9254,66 @@ extension ConformanceRequirementSyntax {
92499254 }
92509255}
92519256
9257+ public struct PrimaryAssociatedTypeClauseSyntaxBuilder {
9258+ private var layout =
9259+ Array < RawSyntax ? > ( repeating: nil , count: 3 )
9260+
9261+ internal init ( ) { }
9262+
9263+ public mutating func useLeftAngleBracket( _ node: TokenSyntax ) {
9264+ let idx = PrimaryAssociatedTypeClauseSyntax . Cursor. leftAngleBracket. rawValue
9265+ layout [ idx] = node. raw
9266+ }
9267+
9268+ public mutating func addPrimaryAssociatedType( _ elt: PrimaryAssociatedTypeSyntax ) {
9269+ let idx = PrimaryAssociatedTypeClauseSyntax . Cursor. primaryAssociatedTypeList. rawValue
9270+ if let list = layout [ idx] {
9271+ layout [ idx] = list. appending ( elt. raw)
9272+ } else {
9273+ layout [ idx] = RawSyntax . create ( kind: SyntaxKind . primaryAssociatedTypeList,
9274+ layout: [ elt. raw] , length: elt. raw. totalLength,
9275+ presence: SourcePresence . present)
9276+ }
9277+ }
9278+
9279+ public mutating func useRightAngleBracket( _ node: TokenSyntax ) {
9280+ let idx = PrimaryAssociatedTypeClauseSyntax . Cursor. rightAngleBracket. rawValue
9281+ layout [ idx] = node. raw
9282+ }
9283+
9284+ internal mutating func buildData( ) -> SyntaxData {
9285+ if ( layout [ 0 ] == nil ) {
9286+ layout [ 0 ] = RawSyntax . missingToken ( TokenKind . leftAngle)
9287+ }
9288+ if ( layout [ 1 ] == nil ) {
9289+ layout [ 1 ] = RawSyntax . missing ( SyntaxKind . primaryAssociatedTypeList)
9290+ }
9291+ if ( layout [ 2 ] == nil ) {
9292+ layout [ 2 ] = RawSyntax . missingToken ( TokenKind . rightAngle)
9293+ }
9294+
9295+ return . forRoot( RawSyntax . createAndCalcLength ( kind: . primaryAssociatedTypeClause,
9296+ layout: layout, presence: . present) )
9297+ }
9298+ }
9299+
9300+ extension PrimaryAssociatedTypeClauseSyntax {
9301+ /// Creates a `PrimaryAssociatedTypeClauseSyntax` using the provided build function.
9302+ /// - Parameter:
9303+ /// - build: A closure that will be invoked in order to initialize
9304+ /// the fields of the syntax node.
9305+ /// This closure is passed a `PrimaryAssociatedTypeClauseSyntaxBuilder` which you can use to
9306+ /// incrementally build the structure of the node.
9307+ /// - Returns: A `PrimaryAssociatedTypeClauseSyntax` with all the fields populated in the builder
9308+ /// closure.
9309+ public init ( _ build: ( inout PrimaryAssociatedTypeClauseSyntaxBuilder ) -> Void ) {
9310+ var builder = PrimaryAssociatedTypeClauseSyntaxBuilder ( )
9311+ build ( & builder)
9312+ let data = builder. buildData ( )
9313+ self . init ( data)
9314+ }
9315+ }
9316+
92529317public struct SimpleTypeIdentifierSyntaxBuilder {
92539318 private var layout =
92549319 Array < RawSyntax ? > ( repeating: nil , count: 2 )
0 commit comments