@@ -156,8 +156,8 @@ extension ASTGenVisitor {
156
156
let initContext : BridgedDefaultArgumentInitializer ?
157
157
let initExpr : BridgedExpr ?
158
158
if let defaultValue = node. defaultValue {
159
- // Create the initializer context with the current context (not the function).
160
- // The context will be
159
+ // Create the initializer using the current DeclContext (not the function).
160
+ // The context will be reset to the function later via 'ParameterList::setDeclContextOfParamDecls()'.
161
161
initContext = BridgedDefaultArgumentInitializer . create ( declContext: self . declContext, index: index)
162
162
initExpr = self . withDeclContext ( initContext!. asDeclContext) {
163
163
self . generate ( expr: defaultValue. value)
@@ -167,6 +167,7 @@ extension ASTGenVisitor {
167
167
initExpr = nil
168
168
}
169
169
170
+ // The decl context will be reset to the function later.
170
171
let param = BridgedParamDecl . createParsed (
171
172
self . ctx,
172
173
declContext: self . declContext,
@@ -218,6 +219,7 @@ extension ASTGenVisitor {
218
219
for context: ParameterContext
219
220
) -> BridgedParameterList {
220
221
var params : [ BridgedParamDecl ] = [ ]
222
+ params. reserveCapacity ( node. parameters. count)
221
223
for (index, node) in node. parameters. enumerated ( ) {
222
224
let param = self . generate ( functionParameter: node, for: context, at: index)
223
225
params. append ( param)
@@ -233,6 +235,7 @@ extension ASTGenVisitor {
233
235
234
236
func generate( enumCaseParameterClause node: EnumCaseParameterClauseSyntax ) -> BridgedParameterList {
235
237
var params : [ BridgedParamDecl ] = [ ]
238
+ params. reserveCapacity ( node. parameters. count)
236
239
for (index, node) in node. parameters. enumerated ( ) {
237
240
let param = self . generate ( enumCaseParameter: node, at: index)
238
241
params. append ( param)
@@ -270,7 +273,7 @@ extension ASTGenVisitor {
270
273
271
274
func generate( closureParameterClause node: ClosureParameterClauseSyntax ) -> BridgedParameterList {
272
275
var params : [ BridgedParamDecl ] = [ ]
273
-
276
+ params . reserveCapacity ( node . parameters . count )
274
277
for (index, node) in node. parameters. enumerated ( ) {
275
278
let param = self . generate ( closureParameter: node, at: index)
276
279
param. setSpecifier ( . default)
0 commit comments