@@ -122,13 +122,13 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
122
122
if misplacedTokens. count == 1 , let misplacedToken = misplacedTokens. first,
123
123
misplacedToken. nextToken ( viewMode: . all) == correctToken || misplacedToken. previousToken ( viewMode: . all) == correctToken {
124
124
changes. append ( FixIt . Changes. makePresent (
125
- node : correctToken,
125
+ correctToken,
126
126
leadingTrivia: misplacedToken. leadingTrivia,
127
127
trailingTrivia: misplacedToken. trailingTrivia
128
128
) )
129
129
} else {
130
130
changes. append ( FixIt . Changes. makePresent (
131
- node : correctToken,
131
+ correctToken,
132
132
leadingTrivia: nil ,
133
133
trailingTrivia: nil
134
134
) )
@@ -161,7 +161,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
161
161
}
162
162
let fixit = FixIt (
163
163
message: RemoveNodesFixIt ( unexpected) ,
164
- changes: [ . remove ( unexpected: unexpected ) ]
164
+ changes: . makeMissing ( unexpected)
165
165
)
166
166
addDiagnostic (
167
167
unexpected, message ( misplacedToken) , fixIts: [ fixit] ,
@@ -205,14 +205,14 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
205
205
var fixIts : [ FixIt ] = [
206
206
FixIt ( message: . joinIdentifiers, changes: [
207
207
[ . replace( oldNode: Syntax ( previousToken) , newNode: Syntax ( TokenSyntax ( . identifier( joined) , presence: . present) ) ) ] ,
208
- . makeMissing( tokens: tokens )
208
+ . makeMissing( tokens)
209
209
] )
210
210
]
211
211
if tokens. contains ( where: { $0. text. first? . isUppercase == false } ) {
212
212
let joinedUsingCamelCase = previousToken. text + tokens. map ( { $0. text. withFirstLetterUppercased ( ) } ) . joined ( )
213
213
fixIts. append ( FixIt ( message: . joinIdentifiersWithCamelCase, changes: [
214
214
[ . replace( oldNode: Syntax ( previousToken) , newNode: Syntax ( TokenSyntax ( . identifier( joinedUsingCamelCase) , presence: . present) ) ) ] ,
215
- . makeMissing( tokens: tokens )
215
+ . makeMissing( tokens)
216
216
] ) )
217
217
}
218
218
addDiagnostic ( node, SpaceSeparatedIdentifiersError ( firstToken: previousToken, additionalTokens: tokens) , fixIts: fixIts)
@@ -281,17 +281,15 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
281
281
// If the item contains errors, the root cause is most likely something different and not the missing semicolon.
282
282
let position = semicolon. previousToken ( viewMode: . sourceAccurate) ? . endPositionBeforeTrailingTrivia
283
283
addDiagnostic ( semicolon, position: position, . consecutiveStatementsOnSameLine, fixIts: [
284
- FixIt ( message: . insertSemicolon, changes: . makePresentBeforeTrivia( token : semicolon) )
284
+ FixIt ( message: . insertSemicolon, changes: . makePresentBeforeTrivia( semicolon) )
285
285
] , handledNodes: [ semicolon. id] )
286
286
} else {
287
287
handledNodes. append ( semicolon. id)
288
288
}
289
289
}
290
290
if let semicolon = node. semicolon, semicolon. presence == . present, node. item. isMissingAllTokens {
291
291
addDiagnostic ( node, . standaloneSemicolonStatement, fixIts: [
292
- FixIt ( message: RemoveNodesFixIt ( semicolon) , changes: [
293
- . makeMissing( tokens: [ semicolon] )
294
- ] )
292
+ FixIt ( message: RemoveNodesFixIt ( semicolon) , changes: . makeMissing( semicolon) )
295
293
] , handledNodes: [ node. item. id] )
296
294
}
297
295
if let switchCase = node. unexpectedBeforeItem? . only? . as ( SwitchCaseSyntax . self) {
@@ -312,9 +310,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
312
310
if let unexpected = node. unexpectedAfterOperatorPrecedenceAndTypes,
313
311
unexpected. contains ( where: { $0. is ( PrecedenceGroupAttributeListSyntax . self) } ) == true {
314
312
addDiagnostic ( unexpected, . operatorShouldBeDeclaredWithoutBody, fixIts: [
315
- FixIt ( message: . removeOperatorBody, changes: [
316
- . remove( unexpected: unexpected)
317
- ] )
313
+ FixIt ( message: . removeOperatorBody, changes: . makeMissing( unexpected) )
318
314
] , handledNodes: [ unexpected. id] )
319
315
}
320
316
@@ -333,9 +329,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
333
329
if let message = message {
334
330
let fixIts : [ FixIt ]
335
331
if node. identifier. presence == . present {
336
- fixIts = [
337
- FixIt ( message: RemoveNodesFixIt ( unexpected) , changes: . remove( unexpected: unexpected) )
338
- ]
332
+ fixIts = [ FixIt ( message: RemoveNodesFixIt ( unexpected) , changes: . makeMissing( unexpected) ) ]
339
333
} else {
340
334
fixIts = [ ]
341
335
}
@@ -356,13 +350,13 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
356
350
if let unexpected = node. unexpectedBetweenSubscriptKeywordAndGenericParameterClause,
357
351
let nameTokens = unexpected. onlyTokens ( satisfying: { !$0. tokenKind. isKeyword } ) {
358
352
addDiagnostic ( unexpected, . subscriptsCannotHaveNames, fixIts: [
359
- FixIt ( message: RemoveNodesFixIt ( nameTokens) , changes: . makeMissing( tokens : nameTokens) )
353
+ FixIt ( message: RemoveNodesFixIt ( nameTokens) , changes: . makeMissing( nameTokens) )
360
354
] , handledNodes: [ unexpected. id] )
361
355
}
362
356
if let unexpected = node. indices. unexpectedBeforeLeftParen,
363
357
let nameTokens = unexpected. onlyTokens ( satisfying: { !$0. tokenKind. isKeyword } ) {
364
358
addDiagnostic ( unexpected, . subscriptsCannotHaveNames, fixIts: [
365
- FixIt ( message: RemoveNodesFixIt ( nameTokens) , changes: . makeMissing( tokens : nameTokens) )
359
+ FixIt ( message: RemoveNodesFixIt ( nameTokens) , changes: . makeMissing( nameTokens) )
366
360
] , handledNodes: [ unexpected. id] )
367
361
}
368
362
return . visitChildren
@@ -388,7 +382,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
388
382
// If the decl contains errors, the root cause is most likely something different and not the missing semicolon.
389
383
let position = semicolon. previousToken ( viewMode: . sourceAccurate) ? . endPositionBeforeTrailingTrivia
390
384
addDiagnostic ( semicolon, position: position, . consecutiveDeclarationsOnSameLine, fixIts: [
391
- FixIt ( message: . insertSemicolon, changes: . makePresentBeforeTrivia( token : semicolon) )
385
+ FixIt ( message: . insertSemicolon, changes: . makePresentBeforeTrivia( semicolon) )
392
386
] , handledNodes: [ semicolon. id] )
393
387
} else {
394
388
handledNodes. append ( semicolon. id)
@@ -427,9 +421,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
427
421
}
428
422
if let argument = node. argument, argument. isMissingAllTokens {
429
423
addDiagnostic ( argument, MissingAttributeArgument ( attributeName: node. attributeName) , fixIts: [
430
- FixIt ( message: . insertAttributeArguments, changes: [
431
- . makePresent( node: argument)
432
- ] )
424
+ FixIt ( message: . insertAttributeArguments, changes: . makePresent( argument) )
433
425
] , handledNodes: [ argument. id] )
434
426
return . visitChildren
435
427
}
@@ -457,13 +449,13 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
457
449
if let unexpected = node. unexpectedBetweenDeinitKeywordAndBody,
458
450
let name = unexpected. filter ( { $0. as ( TokenSyntax . self) ? . tokenKind. isIdentifier == true } ) . only? . as ( TokenSyntax . self) {
459
451
addDiagnostic ( name, . deinitCannotHaveName, fixIts: [
460
- FixIt ( message: RemoveNodesFixIt ( name) , changes: . makeMissing( token : name) )
452
+ FixIt ( message: RemoveNodesFixIt ( name) , changes: . makeMissing( name) )
461
453
] , handledNodes: [ name. id] )
462
454
}
463
455
if let unexpected = node. unexpectedBetweenDeinitKeywordAndBody,
464
456
let signature = unexpected. compactMap ( { $0. as ( FunctionSignatureSyntax . self) } ) . only {
465
457
addDiagnostic ( signature, . deinitCannotHaveParameters, fixIts: [
466
- FixIt ( message: RemoveNodesFixIt ( signature) , changes: . makeMissing( node : signature) )
458
+ FixIt ( message: RemoveNodesFixIt ( signature) , changes: . makeMissing( signature) )
467
459
] , handledNodes: [ signature. id] )
468
460
}
469
461
@@ -600,9 +592,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
600
592
}
601
593
if node. unknownAttr? . isMissingAllTokens != false && node. label. isMissingAllTokens {
602
594
addDiagnostic ( node. statements, . allStatmentsInSwitchMustBeCoveredByCase, fixIts: [
603
- FixIt ( message: InsertTokenFixIt ( missingNodes: [ node. label] ) , changes: [
604
- . makePresent( node: node. label, leadingTrivia: . newline)
605
- ] )
595
+ FixIt ( message: InsertTokenFixIt ( missingNodes: [ node. label] ) , changes: . makePresent( node. label, leadingTrivia: . newline) )
606
596
] , handledNodes: [ node. label. id] )
607
597
}
608
598
return . visitChildren
@@ -628,9 +618,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
628
618
}
629
619
if node. expression. is ( MissingExprSyntax . self) {
630
620
addDiagnostic ( node. expression, . expectedExpressionAfterTry, fixIts: [
631
- FixIt ( message: InsertTokenFixIt ( missingNodes: [ Syntax ( node. expression) ] ) , changes: [
632
- . makePresent( node: node. expression)
633
- ] )
621
+ FixIt ( message: InsertTokenFixIt ( missingNodes: [ Syntax ( node. expression) ] ) , changes: . makePresent( node. expression) )
634
622
] , handledNodes: [ node. expression. id] )
635
623
}
636
624
return . visitChildren
@@ -677,15 +665,13 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
677
665
nextSibling. is ( MissingExprSyntax . self) {
678
666
addDiagnostic ( node. colonMark, . missingColonAndExprInTernaryExpr, fixIts: [
679
667
FixIt ( message: InsertTokenFixIt ( missingNodes: [ Syntax ( node. colonMark) , Syntax ( nextSibling) ] ) , changes: [
680
- . makePresent( node: node . colonMark) ,
681
- . makePresent( node : nextSibling) ,
668
+ . makePresent( node. colonMark) ,
669
+ . makePresent( nextSibling) ,
682
670
] )
683
671
] , handledNodes: [ node. colonMark. id, nextSibling. id] )
684
672
} else {
685
673
addDiagnostic ( node. colonMark, . missingColonInTernaryExpr, fixIts: [
686
- FixIt ( message: InsertTokenFixIt ( missingNodes: [ Syntax ( node. colonMark) ] ) , changes: [
687
- . makePresent( node: node. colonMark) ,
688
- ] )
674
+ FixIt ( message: InsertTokenFixIt ( missingNodes: [ Syntax ( node. colonMark) ] ) , changes: . makePresent( node. colonMark) )
689
675
] , handledNodes: [ node. colonMark. id] )
690
676
}
691
677
}
0 commit comments