@@ -101,13 +101,13 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
101
101
if misplacedTokens. count == 1 , let misplacedToken = misplacedTokens. first,
102
102
misplacedToken. nextToken ( viewMode: . all) == correctToken || misplacedToken. previousToken ( viewMode: . all) == correctToken {
103
103
changes. append ( FixIt . Changes. makePresent (
104
- node : correctToken,
104
+ correctToken,
105
105
leadingTrivia: misplacedToken. leadingTrivia,
106
106
trailingTrivia: misplacedToken. trailingTrivia
107
107
) )
108
108
} else {
109
109
changes. append ( FixIt . Changes. makePresent (
110
- node : correctToken,
110
+ correctToken,
111
111
leadingTrivia: nil ,
112
112
trailingTrivia: nil
113
113
) )
@@ -140,7 +140,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
140
140
}
141
141
let fixit = FixIt (
142
142
message: RemoveNodesFixIt ( unexpected) ,
143
- changes: [ . remove ( unexpected: unexpected ) ]
143
+ changes: . makeMissing ( unexpected)
144
144
)
145
145
addDiagnostic (
146
146
unexpected, message ( misplacedToken) , fixIts: [ fixit] ,
@@ -184,14 +184,14 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
184
184
var fixIts : [ FixIt ] = [
185
185
FixIt ( message: . joinIdentifiers, changes: [
186
186
[ . replace( oldNode: Syntax ( previousToken) , newNode: Syntax ( TokenSyntax ( . identifier( joined) , presence: . present) ) ) ] ,
187
- . makeMissing( tokens: tokens )
187
+ . makeMissing( tokens)
188
188
] )
189
189
]
190
190
if tokens. contains ( where: { $0. text. first? . isUppercase == false } ) {
191
191
let joinedUsingCamelCase = previousToken. text + tokens. map ( { $0. text. withFirstLetterUppercased ( ) } ) . joined ( )
192
192
fixIts. append ( FixIt ( message: . joinIdentifiersWithCamelCase, changes: [
193
193
[ . replace( oldNode: Syntax ( previousToken) , newNode: Syntax ( TokenSyntax ( . identifier( joinedUsingCamelCase) , presence: . present) ) ) ] ,
194
- . makeMissing( tokens: tokens )
194
+ . makeMissing( tokens)
195
195
] ) )
196
196
}
197
197
addDiagnostic ( node, SpaceSeparatedIdentifiersError ( firstToken: previousToken, additionalTokens: tokens) , fixIts: fixIts)
@@ -260,17 +260,15 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
260
260
// If the item contains errors, the root cause is most likely something different and not the missing semicolon.
261
261
let position = semicolon. previousToken ( viewMode: . sourceAccurate) ? . endPositionBeforeTrailingTrivia
262
262
addDiagnostic ( semicolon, position: position, . consecutiveStatementsOnSameLine, fixIts: [
263
- FixIt ( message: . insertSemicolon, changes: . makePresentBeforeTrivia( token : semicolon) )
263
+ FixIt ( message: . insertSemicolon, changes: . makePresentBeforeTrivia( semicolon) )
264
264
] , handledNodes: [ semicolon. id] )
265
265
} else {
266
266
handledNodes. append ( semicolon. id)
267
267
}
268
268
}
269
269
if let semicolon = node. semicolon, semicolon. presence == . present, node. item. isMissingAllTokens {
270
270
addDiagnostic ( node, . standaloneSemicolonStatement, fixIts: [
271
- FixIt ( message: RemoveNodesFixIt ( semicolon) , changes: [
272
- . makeMissing( tokens: [ semicolon] )
273
- ] )
271
+ FixIt ( message: RemoveNodesFixIt ( semicolon) , changes: . makeMissing( semicolon) )
274
272
] , handledNodes: [ node. item. id] )
275
273
}
276
274
if let switchCase = node. unexpectedBeforeItem? . only? . as ( SwitchCaseSyntax . self) {
@@ -291,9 +289,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
291
289
if let unexpected = node. unexpectedAfterOperatorPrecedenceAndTypes,
292
290
unexpected. contains ( where: { $0. is ( PrecedenceGroupAttributeListSyntax . self) } ) == true {
293
291
addDiagnostic ( unexpected, . operatorShouldBeDeclaredWithoutBody, fixIts: [
294
- FixIt ( message: . removeOperatorBody, changes: [
295
- . remove( unexpected: unexpected)
296
- ] )
292
+ FixIt ( message: . removeOperatorBody, changes: . makeMissing( unexpected) )
297
293
] , handledNodes: [ unexpected. id] )
298
294
}
299
295
@@ -312,9 +308,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
312
308
if let message = message {
313
309
let fixIts : [ FixIt ]
314
310
if node. identifier. presence == . present {
315
- fixIts = [
316
- FixIt ( message: RemoveNodesFixIt ( unexpected) , changes: . remove( unexpected: unexpected) )
317
- ]
311
+ fixIts = [ FixIt ( message: RemoveNodesFixIt ( unexpected) , changes: . makeMissing( unexpected) ) ]
318
312
} else {
319
313
fixIts = [ ]
320
314
}
@@ -335,13 +329,13 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
335
329
if let unexpected = node. unexpectedBetweenSubscriptKeywordAndGenericParameterClause,
336
330
let nameTokens = unexpected. onlyTokens ( satisfying: { !$0. tokenKind. isKeyword } ) {
337
331
addDiagnostic ( unexpected, . subscriptsCannotHaveNames, fixIts: [
338
- FixIt ( message: RemoveNodesFixIt ( nameTokens) , changes: . makeMissing( tokens : nameTokens) )
332
+ FixIt ( message: RemoveNodesFixIt ( nameTokens) , changes: . makeMissing( nameTokens) )
339
333
] , handledNodes: [ unexpected. id] )
340
334
}
341
335
if let unexpected = node. indices. unexpectedBeforeLeftParen,
342
336
let nameTokens = unexpected. onlyTokens ( satisfying: { !$0. tokenKind. isKeyword } ) {
343
337
addDiagnostic ( unexpected, . subscriptsCannotHaveNames, fixIts: [
344
- FixIt ( message: RemoveNodesFixIt ( nameTokens) , changes: . makeMissing( tokens : nameTokens) )
338
+ FixIt ( message: RemoveNodesFixIt ( nameTokens) , changes: . makeMissing( nameTokens) )
345
339
] , handledNodes: [ unexpected. id] )
346
340
}
347
341
return . visitChildren
@@ -367,7 +361,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
367
361
// If the decl contains errors, the root cause is most likely something different and not the missing semicolon.
368
362
let position = semicolon. previousToken ( viewMode: . sourceAccurate) ? . endPositionBeforeTrailingTrivia
369
363
addDiagnostic ( semicolon, position: position, . consecutiveDeclarationsOnSameLine, fixIts: [
370
- FixIt ( message: . insertSemicolon, changes: . makePresentBeforeTrivia( token : semicolon) )
364
+ FixIt ( message: . insertSemicolon, changes: . makePresentBeforeTrivia( semicolon) )
371
365
] , handledNodes: [ semicolon. id] )
372
366
} else {
373
367
handledNodes. append ( semicolon. id)
@@ -406,9 +400,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
406
400
}
407
401
if let argument = node. argument, argument. isMissingAllTokens {
408
402
addDiagnostic ( argument, MissingAttributeArgument ( attributeName: node. attributeName) , fixIts: [
409
- FixIt ( message: . insertAttributeArguments, changes: [
410
- . makePresent( node: argument)
411
- ] )
403
+ FixIt ( message: . insertAttributeArguments, changes: . makePresent( argument) )
412
404
] , handledNodes: [ argument. id] )
413
405
return . visitChildren
414
406
}
@@ -436,13 +428,13 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
436
428
if let unexpected = node. unexpectedBetweenDeinitKeywordAndBody,
437
429
let name = unexpected. filter ( { $0. as ( TokenSyntax . self) ? . tokenKind. isIdentifier == true } ) . only? . as ( TokenSyntax . self) {
438
430
addDiagnostic ( name, . deinitCannotHaveName, fixIts: [
439
- FixIt ( message: RemoveNodesFixIt ( name) , changes: . makeMissing( token : name) )
431
+ FixIt ( message: RemoveNodesFixIt ( name) , changes: . makeMissing( name) )
440
432
] , handledNodes: [ name. id] )
441
433
}
442
434
if let unexpected = node. unexpectedBetweenDeinitKeywordAndBody,
443
435
let signature = unexpected. compactMap ( { $0. as ( FunctionSignatureSyntax . self) } ) . only {
444
436
addDiagnostic ( signature, . deinitCannotHaveParameters, fixIts: [
445
- FixIt ( message: RemoveNodesFixIt ( signature) , changes: . makeMissing( node : signature) )
437
+ FixIt ( message: RemoveNodesFixIt ( signature) , changes: . makeMissing( signature) )
446
438
] , handledNodes: [ signature. id] )
447
439
}
448
440
@@ -579,9 +571,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
579
571
}
580
572
if node. unknownAttr? . isMissingAllTokens != false && node. label. isMissingAllTokens {
581
573
addDiagnostic ( node. statements, . allStatmentsInSwitchMustBeCoveredByCase, fixIts: [
582
- FixIt ( message: InsertTokenFixIt ( missingNodes: [ node. label] ) , changes: [
583
- . makePresent( node: node. label, leadingTrivia: . newline)
584
- ] )
574
+ FixIt ( message: InsertTokenFixIt ( missingNodes: [ node. label] ) , changes: . makePresent( node. label, leadingTrivia: . newline) )
585
575
] , handledNodes: [ node. label. id] )
586
576
}
587
577
return . visitChildren
@@ -607,9 +597,7 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
607
597
}
608
598
if node. expression. is ( MissingExprSyntax . self) {
609
599
addDiagnostic ( node. expression, . expectedExpressionAfterTry, fixIts: [
610
- FixIt ( message: InsertTokenFixIt ( missingNodes: [ Syntax ( node. expression) ] ) , changes: [
611
- . makePresent( node: node. expression)
612
- ] )
600
+ FixIt ( message: InsertTokenFixIt ( missingNodes: [ Syntax ( node. expression) ] ) , changes: . makePresent( node. expression) )
613
601
] , handledNodes: [ node. expression. id] )
614
602
}
615
603
return . visitChildren
@@ -656,15 +644,13 @@ public class ParseDiagnosticsGenerator: SyntaxAnyVisitor {
656
644
nextSibling. is ( MissingExprSyntax . self) {
657
645
addDiagnostic ( node. colonMark, . missingColonAndExprInTernaryExpr, fixIts: [
658
646
FixIt ( message: InsertTokenFixIt ( missingNodes: [ Syntax ( node. colonMark) , Syntax ( nextSibling) ] ) , changes: [
659
- . makePresent( node: node . colonMark) ,
660
- . makePresent( node : nextSibling) ,
647
+ . makePresent( node. colonMark) ,
648
+ . makePresent( nextSibling) ,
661
649
] )
662
650
] , handledNodes: [ node. colonMark. id, nextSibling. id] )
663
651
} else {
664
652
addDiagnostic ( node. colonMark, . missingColonInTernaryExpr, fixIts: [
665
- FixIt ( message: InsertTokenFixIt ( missingNodes: [ Syntax ( node. colonMark) ] ) , changes: [
666
- . makePresent( node: node. colonMark) ,
667
- ] )
653
+ FixIt ( message: InsertTokenFixIt ( missingNodes: [ Syntax ( node. colonMark) ] ) , changes: . makePresent( node. colonMark) )
668
654
] , handledNodes: [ node. colonMark. id] )
669
655
}
670
656
}
0 commit comments