@@ -3238,6 +3238,9 @@ public struct TypealiasDeclSyntaxBuilder {
3238
3238
if ( layout [ 3 ] == nil ) {
3239
3239
layout [ 3 ] = RawSyntax . missingToken ( TokenKind . identifier ( " " ) )
3240
3240
}
3241
+ if ( layout [ 5 ] == nil ) {
3242
+ layout [ 5 ] = RawSyntax . missing ( SyntaxKind . typeInitializerClause)
3243
+ }
3241
3244
3242
3245
return . forRoot( RawSyntax . createAndCalcLength ( kind: . typealiasDecl,
3243
3246
layout: layout, presence: . present) )
@@ -3875,29 +3878,73 @@ extension PoundSourceLocationArgsSyntax {
3875
3878
}
3876
3879
}
3877
3880
3878
- public struct DeclModifierSyntaxBuilder {
3881
+ public struct DeclModifierDetailSyntaxBuilder {
3879
3882
private var layout =
3880
- Array < RawSyntax ? > ( repeating: nil , count: 4 )
3883
+ Array < RawSyntax ? > ( repeating: nil , count: 3 )
3881
3884
3882
3885
internal init ( ) { }
3883
3886
3884
- public mutating func useName( _ node: TokenSyntax ) {
3885
- let idx = DeclModifierSyntax . Cursor. name. rawValue
3887
+ public mutating func useLeftParen( _ node: TokenSyntax ) {
3888
+ let idx = DeclModifierDetailSyntax . Cursor. leftParen. rawValue
3889
+ layout [ idx] = node. raw
3890
+ }
3891
+
3892
+ public mutating func useDetail( _ node: TokenSyntax ) {
3893
+ let idx = DeclModifierDetailSyntax . Cursor. detail. rawValue
3886
3894
layout [ idx] = node. raw
3887
3895
}
3888
3896
3889
- public mutating func useDetailLeftParen ( _ node: TokenSyntax ) {
3890
- let idx = DeclModifierSyntax . Cursor. detailLeftParen . rawValue
3897
+ public mutating func useRightParen ( _ node: TokenSyntax ) {
3898
+ let idx = DeclModifierDetailSyntax . Cursor. rightParen . rawValue
3891
3899
layout [ idx] = node. raw
3892
3900
}
3893
3901
3894
- public mutating func useDetail( _ node: TokenSyntax ) {
3895
- let idx = DeclModifierSyntax . Cursor. detail. rawValue
3902
+ internal mutating func buildData( ) -> SyntaxData {
3903
+ if ( layout [ 0 ] == nil ) {
3904
+ layout [ 0 ] = RawSyntax . missingToken ( TokenKind . leftParen)
3905
+ }
3906
+ if ( layout [ 1 ] == nil ) {
3907
+ layout [ 1 ] = RawSyntax . missingToken ( TokenKind . identifier ( " " ) )
3908
+ }
3909
+ if ( layout [ 2 ] == nil ) {
3910
+ layout [ 2 ] = RawSyntax . missingToken ( TokenKind . rightParen)
3911
+ }
3912
+
3913
+ return . forRoot( RawSyntax . createAndCalcLength ( kind: . declModifierDetail,
3914
+ layout: layout, presence: . present) )
3915
+ }
3916
+ }
3917
+
3918
+ extension DeclModifierDetailSyntax {
3919
+ /// Creates a `DeclModifierDetailSyntax` using the provided build function.
3920
+ /// - Parameter:
3921
+ /// - build: A closure that will be invoked in order to initialize
3922
+ /// the fields of the syntax node.
3923
+ /// This closure is passed a `DeclModifierDetailSyntaxBuilder` which you can use to
3924
+ /// incrementally build the structure of the node.
3925
+ /// - Returns: A `DeclModifierDetailSyntax` with all the fields populated in the builder
3926
+ /// closure.
3927
+ public init ( _ build: ( inout DeclModifierDetailSyntaxBuilder ) -> Void ) {
3928
+ var builder = DeclModifierDetailSyntaxBuilder ( )
3929
+ build ( & builder)
3930
+ let data = builder. buildData ( )
3931
+ self . init ( data)
3932
+ }
3933
+ }
3934
+
3935
+ public struct DeclModifierSyntaxBuilder {
3936
+ private var layout =
3937
+ Array < RawSyntax ? > ( repeating: nil , count: 2 )
3938
+
3939
+ internal init ( ) { }
3940
+
3941
+ public mutating func useName( _ node: TokenSyntax ) {
3942
+ let idx = DeclModifierSyntax . Cursor. name. rawValue
3896
3943
layout [ idx] = node. raw
3897
3944
}
3898
3945
3899
- public mutating func useDetailRightParen ( _ node: TokenSyntax ) {
3900
- let idx = DeclModifierSyntax . Cursor. detailRightParen . rawValue
3946
+ public mutating func useDetail ( _ node: DeclModifierDetailSyntax ) {
3947
+ let idx = DeclModifierSyntax . Cursor. detail . rawValue
3901
3948
layout [ idx] = node. raw
3902
3949
}
3903
3950
@@ -4051,8 +4098,8 @@ public struct ClassDeclSyntaxBuilder {
4051
4098
}
4052
4099
}
4053
4100
4054
- public mutating func useClassOrActorKeyword ( _ node: TokenSyntax ) {
4055
- let idx = ClassDeclSyntax . Cursor. classOrActorKeyword . rawValue
4101
+ public mutating func useClassKeyword ( _ node: TokenSyntax ) {
4102
+ let idx = ClassDeclSyntax . Cursor. classKeyword . rawValue
4056
4103
layout [ idx] = node. raw
4057
4104
}
4058
4105
@@ -4114,6 +4161,97 @@ extension ClassDeclSyntax {
4114
4161
}
4115
4162
}
4116
4163
4164
+ public struct ActorDeclSyntaxBuilder {
4165
+ private var layout =
4166
+ Array < RawSyntax ? > ( repeating: nil , count: 8 )
4167
+
4168
+ internal init ( ) { }
4169
+
4170
+ public mutating func addAttribute( _ elt: Syntax ) {
4171
+ let idx = ActorDeclSyntax . Cursor. attributes. rawValue
4172
+ if let list = layout [ idx] {
4173
+ layout [ idx] = list. appending ( elt. raw)
4174
+ } else {
4175
+ layout [ idx] = RawSyntax . create ( kind: SyntaxKind . attributeList,
4176
+ layout: [ elt. raw] , length: elt. raw. totalLength,
4177
+ presence: SourcePresence . present)
4178
+ }
4179
+ }
4180
+
4181
+ public mutating func addModifier( _ elt: DeclModifierSyntax ) {
4182
+ let idx = ActorDeclSyntax . Cursor. modifiers. rawValue
4183
+ if let list = layout [ idx] {
4184
+ layout [ idx] = list. appending ( elt. raw)
4185
+ } else {
4186
+ layout [ idx] = RawSyntax . create ( kind: SyntaxKind . modifierList,
4187
+ layout: [ elt. raw] , length: elt. raw. totalLength,
4188
+ presence: SourcePresence . present)
4189
+ }
4190
+ }
4191
+
4192
+ public mutating func useActorKeyword( _ node: TokenSyntax ) {
4193
+ let idx = ActorDeclSyntax . Cursor. actorKeyword. rawValue
4194
+ layout [ idx] = node. raw
4195
+ }
4196
+
4197
+ public mutating func useIdentifier( _ node: TokenSyntax ) {
4198
+ let idx = ActorDeclSyntax . Cursor. identifier. rawValue
4199
+ layout [ idx] = node. raw
4200
+ }
4201
+
4202
+ public mutating func useGenericParameterClause( _ node: GenericParameterClauseSyntax ) {
4203
+ let idx = ActorDeclSyntax . Cursor. genericParameterClause. rawValue
4204
+ layout [ idx] = node. raw
4205
+ }
4206
+
4207
+ public mutating func useInheritanceClause( _ node: TypeInheritanceClauseSyntax ) {
4208
+ let idx = ActorDeclSyntax . Cursor. inheritanceClause. rawValue
4209
+ layout [ idx] = node. raw
4210
+ }
4211
+
4212
+ public mutating func useGenericWhereClause( _ node: GenericWhereClauseSyntax ) {
4213
+ let idx = ActorDeclSyntax . Cursor. genericWhereClause. rawValue
4214
+ layout [ idx] = node. raw
4215
+ }
4216
+
4217
+ public mutating func useMembers( _ node: MemberDeclBlockSyntax ) {
4218
+ let idx = ActorDeclSyntax . Cursor. members. rawValue
4219
+ layout [ idx] = node. raw
4220
+ }
4221
+
4222
+ internal mutating func buildData( ) -> SyntaxData {
4223
+ if ( layout [ 2 ] == nil ) {
4224
+ layout [ 2 ] = RawSyntax . missingToken ( TokenKind . contextualKeyword ( " " ) )
4225
+ }
4226
+ if ( layout [ 3 ] == nil ) {
4227
+ layout [ 3 ] = RawSyntax . missingToken ( TokenKind . identifier ( " " ) )
4228
+ }
4229
+ if ( layout [ 7 ] == nil ) {
4230
+ layout [ 7 ] = RawSyntax . missing ( SyntaxKind . memberDeclBlock)
4231
+ }
4232
+
4233
+ return . forRoot( RawSyntax . createAndCalcLength ( kind: . actorDecl,
4234
+ layout: layout, presence: . present) )
4235
+ }
4236
+ }
4237
+
4238
+ extension ActorDeclSyntax {
4239
+ /// Creates a `ActorDeclSyntax` using the provided build function.
4240
+ /// - Parameter:
4241
+ /// - build: A closure that will be invoked in order to initialize
4242
+ /// the fields of the syntax node.
4243
+ /// This closure is passed a `ActorDeclSyntaxBuilder` which you can use to
4244
+ /// incrementally build the structure of the node.
4245
+ /// - Returns: A `ActorDeclSyntax` with all the fields populated in the builder
4246
+ /// closure.
4247
+ public init ( _ build: ( inout ActorDeclSyntaxBuilder ) -> Void ) {
4248
+ var builder = ActorDeclSyntaxBuilder ( )
4249
+ build ( & builder)
4250
+ let data = builder. buildData ( )
4251
+ self . init ( data)
4252
+ }
4253
+ }
4254
+
4117
4255
public struct StructDeclSyntaxBuilder {
4118
4256
private var layout =
4119
4257
Array < RawSyntax ? > ( repeating: nil , count: 8 )
@@ -4752,7 +4890,7 @@ extension FunctionDeclSyntax {
4752
4890
4753
4891
public struct InitializerDeclSyntaxBuilder {
4754
4892
private var layout =
4755
- Array < RawSyntax ? > ( repeating: nil , count: 9 )
4893
+ Array < RawSyntax ? > ( repeating: nil , count: 8 )
4756
4894
4757
4895
internal init ( ) { }
4758
4896
@@ -4793,13 +4931,8 @@ public struct InitializerDeclSyntaxBuilder {
4793
4931
layout [ idx] = node. raw
4794
4932
}
4795
4933
4796
- public mutating func useParameters( _ node: ParameterClauseSyntax ) {
4797
- let idx = InitializerDeclSyntax . Cursor. parameters. rawValue
4798
- layout [ idx] = node. raw
4799
- }
4800
-
4801
- public mutating func useThrowsOrRethrowsKeyword( _ node: TokenSyntax ) {
4802
- let idx = InitializerDeclSyntax . Cursor. throwsOrRethrowsKeyword. rawValue
4934
+ public mutating func useSignature( _ node: FunctionSignatureSyntax ) {
4935
+ let idx = InitializerDeclSyntax . Cursor. signature. rawValue
4803
4936
layout [ idx] = node. raw
4804
4937
}
4805
4938
@@ -4818,7 +4951,7 @@ public struct InitializerDeclSyntaxBuilder {
4818
4951
layout [ 2 ] = RawSyntax . missingToken ( TokenKind . initKeyword)
4819
4952
}
4820
4953
if ( layout [ 5 ] == nil ) {
4821
- layout [ 5 ] = RawSyntax . missing ( SyntaxKind . parameterClause )
4954
+ layout [ 5 ] = RawSyntax . missing ( SyntaxKind . functionSignature )
4822
4955
}
4823
4956
4824
4957
return . forRoot( RawSyntax . createAndCalcLength ( kind: . initializerDecl,
@@ -4885,9 +5018,6 @@ public struct DeinitializerDeclSyntaxBuilder {
4885
5018
if ( layout [ 2 ] == nil ) {
4886
5019
layout [ 2 ] = RawSyntax . missingToken ( TokenKind . deinitKeyword)
4887
5020
}
4888
- if ( layout [ 3 ] == nil ) {
4889
- layout [ 3 ] = RawSyntax . missing ( SyntaxKind . codeBlock)
4890
- }
4891
5021
4892
5022
return . forRoot( RawSyntax . createAndCalcLength ( kind: . deinitializerDecl,
4893
5023
layout: layout, presence: . present) )
@@ -5004,7 +5134,7 @@ extension SubscriptDeclSyntax {
5004
5134
5005
5135
public struct AccessLevelModifierSyntaxBuilder {
5006
5136
private var layout =
5007
- Array < RawSyntax ? > ( repeating: nil , count: 4 )
5137
+ Array < RawSyntax ? > ( repeating: nil , count: 2 )
5008
5138
5009
5139
internal init ( ) { }
5010
5140
@@ -5013,21 +5143,11 @@ public struct AccessLevelModifierSyntaxBuilder {
5013
5143
layout [ idx] = node. raw
5014
5144
}
5015
5145
5016
- public mutating func useLeftParen( _ node: TokenSyntax ) {
5017
- let idx = AccessLevelModifierSyntax . Cursor. leftParen. rawValue
5018
- layout [ idx] = node. raw
5019
- }
5020
-
5021
- public mutating func useModifier( _ node: TokenSyntax ) {
5146
+ public mutating func useModifier( _ node: DeclModifierDetailSyntax ) {
5022
5147
let idx = AccessLevelModifierSyntax . Cursor. modifier. rawValue
5023
5148
layout [ idx] = node. raw
5024
5149
}
5025
5150
5026
- public mutating func useRightParen( _ node: TokenSyntax ) {
5027
- let idx = AccessLevelModifierSyntax . Cursor. rightParen. rawValue
5028
- layout [ idx] = node. raw
5029
- }
5030
-
5031
5151
internal mutating func buildData( ) -> SyntaxData {
5032
5152
if ( layout [ 0 ] == nil ) {
5033
5153
layout [ 0 ] = RawSyntax . missingToken ( TokenKind . identifier ( " " ) )
0 commit comments