Skip to content

Commit 0793d1a

Browse files
authored
Merge pull request #294 from kimdv/kimdv/make-result-builders-as-last-parameter
Move result builder as last parameters
2 parents 6bfb149 + da40cc8 commit 0793d1a

File tree

3 files changed

+125
-124
lines changed

3 files changed

+125
-124
lines changed

Sources/SwiftSyntaxBuilder/BuildablesConvenienceInitializers.swift.gyb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,14 @@ import SwiftSyntax
3737
extension ${node.syntax_kind} {
3838
public init(
3939
% init_parameters = []
40+
% init_result_builder_parameters = []
4041
% for child in node.children:
4142
% child_node = NODE_MAP.get(child.syntax_kind)
4243
% child_token = SYNTAX_TOKEN_MAP.get(child.syntax_kind)
4344
% if child_node and child_node.is_syntax_collection():
4445
% # Allow initializing syntax collections with result builders
4546
% default_value = "? = { nil }" if child.is_optional else " = { .empty }"
46-
% init_parameters.append("@%sBuilder %sBuilder: () -> %s%s" % (child.syntax_kind, child.swift_name, child.syntax_kind, default_value))
47+
% init_result_builder_parameters.append("@%sBuilder %sBuilder: () -> %s%s" % (child.syntax_kind, child.swift_name, child.syntax_kind, default_value))
4748
% elif child_token and not child_token.text:
4849
% # Allow initializing identifier or a token without a text with String value
4950
% param_type = "String?" if child.is_optional else "String"
@@ -55,7 +56,7 @@ extension ${node.syntax_kind} {
5556
% init_parameters.append("%s: %s%s" % (child.swift_name, param_type, default_value))
5657
% end
5758
% end
58-
${',\n '.join(init_parameters)}
59+
${',\n '.join(init_parameters + init_result_builder_parameters)}
5960
) {
6061
self.init(
6162
% init_parameters = []

0 commit comments

Comments
 (0)