Skip to content

Commit 478518f

Browse files
committed
[swiftSyntax] Add type annotations to speed up compile time
1 parent 8c8f4eb commit 478518f

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

tools/SwiftSyntax/SyntaxBuilders.swift.gyb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,9 @@ public struct ${Builder} {
4646
if let list = layout[idx] {
4747
layout[idx] = list.appending(elt.raw)
4848
} else {
49-
layout[idx] = RawSyntax(kind: .${child.swift_syntax_kind},
50-
layout: [elt.raw], presence: .present)
49+
layout[idx] = RawSyntax(kind: SyntaxKind.${child.swift_syntax_kind},
50+
layout: [elt.raw],
51+
presence: SourcePresence.present)
5152
}
5253
}
5354
% else:

tools/SwiftSyntax/SyntaxFactory.swift.gyb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,24 +58,26 @@ public enum SyntaxFactory {
5858
% child_params.append("%s: %s" % (child.swift_name, param_type))
5959
% child_params = ', '.join(child_params)
6060
public static func make${node.syntax_kind}(${child_params}) -> ${node.name} {
61-
let data = SyntaxData(raw: RawSyntax(kind: .${node.swift_syntax_kind},
62-
layout: [
61+
let layout: [RawSyntax?] = [
6362
% for child in node.children:
6463
% if child.is_optional:
6564
${child.swift_name}?.data.raw ?? ${make_missing_swift_child(child)},
6665
% else:
6766
${child.swift_name}.data.raw,
6867
% end
6968
% end
70-
], presence: .present))
69+
]
70+
let raw = RawSyntax(kind: SyntaxKind.${node.swift_syntax_kind},
71+
layout: layout, presence: SourcePresence.present)
72+
let data = SyntaxData(raw: raw)
7173
return ${node.name}(root: data, data: data)
7274
}
7375
% elif node.is_syntax_collection():
7476
public static func make${node.syntax_kind}(
7577
_ elements: [${node.collection_element_type}]) -> ${node.name} {
76-
let raw = RawSyntax(kind: .${node.swift_syntax_kind},
78+
let raw = RawSyntax(kind: SyntaxKind.${node.swift_syntax_kind},
7779
layout: elements.map { $0.data.raw },
78-
presence: .present)
80+
presence: SourcePresence.present)
7981
let data = SyntaxData(raw: raw)
8082
return ${node.name}(root: data, data: data)
8183
}

utils/gyb_syntax_support/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,11 @@ def make_missing_swift_child(child):
7777
tok_kind = token.swift_kind() if token else "unknown"
7878
if not token or not token.text:
7979
tok_kind += '("")'
80-
return 'RawSyntax.missingToken(.%s)' % tok_kind
80+
return 'RawSyntax.missingToken(TokenKind.%s)' % tok_kind
8181
else:
8282
missing_kind = "unknown" if child.syntax_kind == "Syntax" \
8383
else child.swift_syntax_kind
84-
return 'RawSyntax.missing(.%s)' % missing_kind
84+
return 'RawSyntax.missing(SyntaxKind.%s)' % missing_kind
8585

8686

8787
def create_node_map():

0 commit comments

Comments
 (0)