Skip to content

Commit 5dae280

Browse files
authored
Merge pull request #484 from kimdv/kimdv/add-convenience-initializers-for-type-initializer-clause
2 parents eb08d4a + ade03e6 commit 5dae280

File tree

3 files changed

+16
-5
lines changed

3 files changed

+16
-5
lines changed

Sources/SwiftSyntaxBuilder/StringConvenienceInitializers.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@ extension String: ExpressibleAsAccessPathComponent {
5252
}
5353
}
5454

55+
extension String: ExpressibleAsTypeInitializerClause {
56+
public func createTypeInitializerClause() -> TypeInitializerClause {
57+
return TypeInitializerClause(value: self)
58+
}
59+
}
60+
5561
/// Default conformance to `ExpressibleByTypeBuildable`
5662
extension String {
5763
public func createTypeBuildable() -> TypeBuildable {

Sources/SwiftSyntaxBuilder/gyb_generated/ExpressibleAsProtocols.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public extension ExpressibleAsSyntaxBuildable {
8282
}
8383
}
8484

85-
public protocol ExpressibleAsTypeBuildable: ExpressibleAsReturnClause {
85+
public protocol ExpressibleAsTypeBuildable: ExpressibleAsReturnClause, ExpressibleAsTypeInitializerClause {
8686
func createTypeBuildable() -> TypeBuildable
8787
}
8888

@@ -91,6 +91,10 @@ public extension ExpressibleAsTypeBuildable {
9191
func createReturnClause() -> ReturnClause {
9292
return ReturnClause(returnType: self)
9393
}
94+
/// Conformance to `ExpressibleAsTypeInitializerClause`.
95+
func createTypeInitializerClause() -> TypeInitializerClause {
96+
return TypeInitializerClause(value: self)
97+
}
9498
}
9599

96100
public protocol ExpressibleAsCodeBlockItem: ExpressibleAsCodeBlockItemList {

Sources/SwiftSyntaxBuilder/gyb_helpers/ExpressibleAsConformances.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
'ExprList': [
1919
'ConditionElement'
2020
],
21-
'MemberDeclList': [
22-
'MemberDeclBlock'
23-
],
2421
'FunctionCallExpr': [
2522
'CodeBlockItem'
2623
],
24+
'MemberDeclList': [
25+
'MemberDeclBlock'
26+
],
2727
'SequenceExpr': [
2828
'CodeBlockItem',
2929
'TupleExprElement'
@@ -41,7 +41,8 @@
4141
'IdentifierExpr'
4242
],
4343
'TypeBuildable': [
44-
'ReturnClause'
44+
'ReturnClause',
45+
'TypeInitializerClause'
4546
]
4647
}
4748

0 commit comments

Comments
 (0)