@@ -101,24 +101,38 @@ public enum SyntaxFactory {
101
101
102
102
/// MARK: Token Creation APIs
103
103
104
+ % {
105
+ def token_trivia( requires_space) :
106
+ return '[ . spaces( 1 ) ] ' if requires_space else '[ ] '
107
+ } %
108
+
104
109
% for token in SYNTAX_TOKENS:
110
+ % leading_trivia = token_trivia ( token. requires_leading_space)
111
+ % trailing_trivia = token_trivia ( token. requires_trailing_space)
105
112
% if token. is_keyword:
106
- public static func make${ token. name} Keyword( leadingTrivia: Trivia = [ ] ,
107
- trailingTrivia: Trivia = [ ] ) - > TokenSyntax {
113
+ public static func make${ token. name} Keyword(
114
+ leadingTrivia: Trivia = ${ leading_trivia} ,
115
+ trailingTrivia: Trivia = ${ trailing_trivia}
116
+ ) - > TokenSyntax {
108
117
return makeToken ( . ${ token. swift_kind ( ) } , presence: . present,
109
118
leadingTrivia: leadingTrivia,
110
119
trailingTrivia: trailingTrivia)
111
120
}
112
121
% elif token. text:
113
- public static func make${ token. name} Token( leadingTrivia: Trivia = [ ] ,
114
- trailingTrivia: Trivia = [ ] ) - > TokenSyntax {
122
+ public static func make${ token. name} Token(
123
+ leadingTrivia: Trivia = ${ leading_trivia} ,
124
+ trailingTrivia: Trivia = ${ trailing_trivia}
125
+ ) - > TokenSyntax {
115
126
return makeToken ( . ${ token. swift_kind ( ) } , presence: . present,
116
127
leadingTrivia: leadingTrivia,
117
128
trailingTrivia: trailingTrivia)
118
129
}
119
130
% else :
120
- public static func make${ token. name} ( _ text: String,
121
- leadingTrivia: Trivia = [ ] , trailingTrivia: Trivia = [ ] ) - > TokenSyntax {
131
+ public static func make${ token. name} (
132
+ _ text: String,
133
+ leadingTrivia: Trivia = ${ leading_trivia} ,
134
+ trailingTrivia: Trivia = ${ trailing_trivia}
135
+ ) - > TokenSyntax {
122
136
return makeToken ( . ${ token. swift_kind ( ) } ( text) , presence: . present,
123
137
leadingTrivia: leadingTrivia,
124
138
trailingTrivia: trailingTrivia)
0 commit comments