Skip to content

Commit 85ea21c

Browse files
authored
Merge pull request #60563 from rintaro/no-garbage-in-swift
Terminology change: 'garbage' -> 'unexpected'
2 parents 91b2abe + a673043 commit 85ea21c

26 files changed

+357
-356
lines changed

include/swift/Syntax/Trivia.h.gyb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ private:
365365
return Text.startswith("///");
366366
case TriviaKind::DocBlockComment:
367367
return Text.startswith("/**") && Text.endswith("*/");
368-
case TriviaKind::GarbageText:
368+
case TriviaKind::UnexpectedText:
369369
case TriviaKind::Shebang:
370370
return !Text.empty();
371371
% for trivia in TRIVIAS:

lib/Parse/Lexer.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3222,7 +3222,7 @@ ParsedTrivia TriviaLexer::lexTrivia(StringRef TriviaStr) {
32223222
if (tryAdvanceToEndOfConflictMarker(CurPtr, BufferEnd)) {
32233223
// Conflict marker.
32243224
size_t Length = CurPtr - TriviaStart;
3225-
Pieces.push_back(TriviaKind::GarbageText, Length);
3225+
Pieces.push_back(TriviaKind::UnexpectedText, Length);
32263226
continue;
32273227
}
32283228
break;
@@ -3231,13 +3231,13 @@ ParsedTrivia TriviaLexer::lexTrivia(StringRef TriviaStr) {
32313231
// BOM marker.
32323232
CurPtr = CurPtr + 2;
32333233
size_t Length = CurPtr - TriviaStart;
3234-
Pieces.push_back(TriviaKind::GarbageText, Length);
3234+
Pieces.push_back(TriviaKind::UnexpectedText, Length);
32353235
continue;
32363236
}
32373237
break;
32383238
case 0: {
32393239
size_t Length = CurPtr - TriviaStart;
3240-
Pieces.push_back(TriviaKind::GarbageText, Length);
3240+
Pieces.push_back(TriviaKind::UnexpectedText, Length);
32413241
continue;
32423242
}
32433243
default:
@@ -3267,7 +3267,7 @@ ParsedTrivia TriviaLexer::lexTrivia(StringRef TriviaStr) {
32673267
}
32683268

32693269
size_t Length = CurPtr - TriviaStart;
3270-
Pieces.push_back(TriviaKind::GarbageText, Length);
3270+
Pieces.push_back(TriviaKind::UnexpectedText, Length);
32713271
continue;
32723272
}
32733273

lib/Parse/ParseExpr.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1247,7 +1247,7 @@ Parser::parseExprPostfixSuffix(ParserResult<Expr> Result, bool isExprBasic,
12471247
// }
12481248
// In this case, we want to consume the trailing closure because
12491249
// otherwise it will get parsed as a get-set clause on a variable
1250-
// declared by `baseExpr.<complete>` which is complete garbage.
1250+
// declared by `baseExpr.<complete>` which is clearly wrong.
12511251
bool hasBindOptional = false;
12521252
parseExprPostfixSuffix(makeParserResult(CCExpr), isExprBasic,
12531253
periodHasKeyPathBehavior, hasBindOptional);
@@ -1702,11 +1702,11 @@ ParserResult<Expr> Parser::parseExprPrimary(Diag<> ID, bool isExprBasic) {
17021702
if (SyntaxContext->isEnabled()) {
17031703
ParsedPatternSyntax PatternNode =
17041704
ParsedSyntaxRecorder::makeIdentifierPattern(
1705-
/*GarbageNodes=*/None,
1705+
/*UnexpectedNodes=*/None,
17061706
/*Identifier=*/SyntaxContext->popToken(), *SyntaxContext);
17071707
ParsedExprSyntax ExprNode =
17081708
ParsedSyntaxRecorder::makeUnresolvedPatternExpr(
1709-
/*GarbageNodes=*/None,
1709+
/*UnexpectedNodes=*/None,
17101710
/*Pattern=*/std::move(PatternNode), *SyntaxContext);
17111711
SyntaxContext->addSyntax(std::move(ExprNode));
17121712
}

lib/Parse/ParseIfConfig.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -822,10 +822,10 @@ ParserResult<IfConfigDecl> Parser::parseIfConfig(
822822
// to disambiguate whether a postfix expression is the condition of
823823
// #elseif or a postfix expression of the #else body.
824824
// To do this, push three empty syntax nodes onto the stack.
825-
// - First one for garbage nodes between the #else keyword and the
825+
// - First one for unexpected nodes between the #else keyword and the
826826
// condition
827827
// - One for the condition itself (whcih doesn't exist)
828-
// - And finally one for the garbage nodes between the condition and
828+
// - And finally one for the unexpected nodes between the condition and
829829
// the elements
830830
SyntaxContext->addRawSyntax(ParsedRawSyntaxNode());
831831
SyntaxContext->addRawSyntax(ParsedRawSyntaxNode());

lib/Parse/ParseType.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -916,9 +916,9 @@ Parser::parseTypeSimpleOrComposition(Diag<> MessageID, ParseTypeReason reason) {
916916
if (SyntaxContext->isEnabled()) {
917917
if (auto synType = SyntaxContext->popIf<ParsedTypeSyntax>()) {
918918
auto LastNode = ParsedSyntaxRecorder::makeCompositionTypeElement(
919-
/*GarbageNodes=*/None,
919+
/*UnexpectedNodes=*/None,
920920
/*Type=*/std::move(*synType),
921-
/*GarbageNodes=*/None,
921+
/*UnexpectedNodes=*/None,
922922
/*Ampersand=*/None, *SyntaxContext);
923923
SyntaxContext->addSyntax(std::move(LastNode));
924924
}

lib/Parse/ParsedSyntaxRecorder.cpp.gyb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -173,21 +173,21 @@ ParsedSyntaxRecorder::makeTupleTypeElement(ParsedTypeSyntax Type,
173173
llvm::Optional<ParsedTokenSyntax> TrailingComma,
174174
SyntaxParsingContext &SPCtx) {
175175
return makeTupleTypeElement(
176-
/*GarbageNodes=*/None,
176+
/*UnexpectedNodes=*/None,
177177
/*InOut=*/None,
178-
/*GarbageNodes=*/None,
178+
/*UnexpectedNodes=*/None,
179179
/*Name=*/None,
180-
/*GarbageNodes=*/None,
180+
/*UnexpectedNodes=*/None,
181181
/*SecondName=*/None,
182-
/*GarbageNodes=*/None,
182+
/*UnexpectedNodes=*/None,
183183
/*Colon=*/None,
184-
/*GarbageNodes=*/None,
184+
/*UnexpectedNodes=*/None,
185185
std::move(Type),
186-
/*GarbageNodes=*/None,
186+
/*UnexpectedNodes=*/None,
187187
/*Ellipsis=*/None,
188-
/*GarbageNodes=*/None,
188+
/*UnexpectedNodes=*/None,
189189
/*Initializer=*/None,
190-
/*GarbageNodes=*/None,
190+
/*UnexpectedNodes=*/None,
191191
std::move(TrailingComma),
192192
SPCtx
193193
);

lib/Syntax/SyntaxFactory.cpp.gyb

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ SyntaxFactory::countChildren(SyntaxKind Kind){
6565
% for node in SYNTAX_NODES:
6666
% if not node.is_syntax_collection():
6767
case SyntaxKind::${node.syntax_kind}:
68-
% child_count = len(node.non_garbage_children)
69-
% non_optional_child_count = sum(0 if child.is_optional else 1 for child in node.non_garbage_children)
68+
% child_count = len(node.non_unexpected_children)
69+
% non_optional_child_count = sum(0 if child.is_optional else 1 for child in node.non_unexpected_children)
7070
return {${non_optional_child_count}, ${child_count}};
7171
% end
7272
% end
@@ -244,11 +244,11 @@ SyntaxFactory::makeBlank${node.syntax_kind}() {
244244

245245
TupleTypeSyntax SyntaxFactory::makeVoidTupleType() {
246246
return makeTupleType(
247-
/*GarbageNodes=*/None,
247+
/*UnexpectedNodes=*/None,
248248
/*LeftParen=*/makeLeftParenToken({}, {}),
249-
/*GarbageNodes=*/None,
249+
/*UnexpectedNodes=*/None,
250250
/*Elements=*/makeBlankTupleTypeElementList(),
251-
/*GarbageNodes=*/None,
251+
/*UnexpectedNodes=*/None,
252252
/*RightParen=*/makeRightParenToken({}, {})
253253
);
254254
}
@@ -259,21 +259,21 @@ SyntaxFactory::makeTupleTypeElement(llvm::Optional<TokenSyntax> Label,
259259
TypeSyntax Type,
260260
llvm::Optional<TokenSyntax> TrailingComma) {
261261
return makeTupleTypeElement(
262-
/*GarbageNodes=*/None,
262+
/*UnexpectedNodes=*/None,
263263
/*InOut=*/None,
264-
/*GarbageNodes=*/None,
264+
/*UnexpectedNodes=*/None,
265265
/*Name=*/Label,
266-
/*GarbageNodes=*/None,
266+
/*UnexpectedNodes=*/None,
267267
/*SecondName=*/None,
268-
/*GarbageNodes=*/None,
268+
/*UnexpectedNodes=*/None,
269269
/*Colon=*/Colon,
270-
/*GarbageNodes=*/None,
270+
/*UnexpectedNodes=*/None,
271271
/*Type=*/Type,
272-
/*GarbageNodes=*/None,
272+
/*UnexpectedNodes=*/None,
273273
/*Ellipsis=*/None,
274-
/*GarbageNodes=*/None,
274+
/*UnexpectedNodes=*/None,
275275
/*Intitializer=*/None,
276-
/*GarbageNodes=*/None,
276+
/*UnexpectedNodes=*/None,
277277
/*TrailingComma=*/TrailingComma
278278
);
279279
}
@@ -282,21 +282,21 @@ TupleTypeElementSyntax
282282
SyntaxFactory::makeTupleTypeElement(TypeSyntax Type,
283283
llvm::Optional<TokenSyntax> TrailingComma) {
284284
return makeTupleTypeElement(
285-
/*GarbageNodes=*/None,
285+
/*UnexpectedNodes=*/None,
286286
/*InOut=*/None,
287-
/*GarbageNodes=*/None,
287+
/*UnexpectedNodes=*/None,
288288
/*Name=*/None,
289-
/*GarbageNodes=*/None,
289+
/*UnexpectedNodes=*/None,
290290
/*SecondName=*/None,
291-
/*GarbageNodes=*/None,
291+
/*UnexpectedNodes=*/None,
292292
/*Colon=*/None,
293-
/*GarbageNodes=*/None,
293+
/*UnexpectedNodes=*/None,
294294
/*Type=*/Type,
295-
/*GarbageNodes=*/None,
295+
/*UnexpectedNodes=*/None,
296296
/*Ellipsis=*/None,
297-
/*GarbageNodes=*/None,
297+
/*UnexpectedNodes=*/None,
298298
/*Initializer=*/None,
299-
/*GarbageNodes=*/None,
299+
/*UnexpectedNodes=*/None,
300300
/*TrailingComma=*/TrailingComma
301301
);
302302
}
@@ -305,15 +305,15 @@ GenericParameterSyntax
305305
SyntaxFactory::makeGenericParameter(TokenSyntax Name,
306306
llvm::Optional<TokenSyntax> TrailingComma) {
307307
return makeGenericParameter(
308-
/*GarbageNodes=*/None,
308+
/*UnexpectedNodes=*/None,
309309
/*Attributes=*/None,
310-
/*GarbageNodes=*/None,
310+
/*UnexpectedNodes=*/None,
311311
/*Name=*/Name,
312-
/*GarbageNodes=*/None,
312+
/*UnexpectedNodes=*/None,
313313
/*Colon=*/None,
314-
/*GarbageNodes=*/None,
314+
/*UnexpectedNodes=*/None,
315315
/*InheritedType=*/None,
316-
/*GarbageNodes=*/None,
316+
/*UnexpectedNodes=*/None,
317317
/*TrailingComma=*/TrailingComma
318318
);
319319
}
@@ -327,9 +327,9 @@ TypeSyntax SyntaxFactory::makeTypeIdentifier(StringRef TypeName,
327327
TrailingTrivia
328328
);
329329
return makeSimpleTypeIdentifier(
330-
/*GarbageNodes=*/None,
330+
/*UnexpectedNodes=*/None,
331331
/*Name=*/identifier,
332-
/*GarbageNodes=*/None,
332+
/*UnexpectedNodes=*/None,
333333
/*GenerigArgumentClause=*/None
334334
);
335335
}

test/Parse/invalid-utf8.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ static func foo() {} // expected-error{{static methods may only be declared on a
1010
// Below this line are such octets that should be skipped by the lexer.
1111
// They may not be rendered correctly by your text editor, if at all.
1212

13-
// Begin magic UTF-8 garbage
13+
// Begin magic UTF-8 values
1414
// 0xC0
1515
À // expected-error {{invalid UTF-8 found in source file}}
1616
// 0xC1
@@ -31,7 +31,7 @@ static func foo() {} // expected-error{{static methods may only be declared on a
3131
ü // expected-error {{invalid UTF-8 found in source file}}
3232
// 0xFD
3333
ý // expected-error {{invalid UTF-8 found in source file}}
34-
// End magic UTF-8 garbage
34+
// End magic UTF-8 values
3535

3636
// Make sure we don't stop processing the whole file.
3737
static func bar() {} // expected-error{{static methods may only be declared on a type}} {{1-8=}}

test/Syntax/Inputs/invalid.sed

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
# [0xC2] is utf8 2 byte character start byte.
33
# 0xC2 without second byte is invalid UTF-8 sequence.
4-
# It becomes garbage text trivia.
4+
# It becomes unexpected text trivia.
55
# Marker(1) is replaced to this sequence.
66
s/Z1/Â/g
77

@@ -26,7 +26,7 @@ s/Z4/”/g
2626

2727
# [0xE1, 0x9A, 0x80] in UTF-8 is U+1680.
2828
# This character is invalid for swift source.
29-
# It becomes garbage trivia.
29+
# It becomes unexpected trivia.
3030
# Marker(5) is replaced to this sequence.
3131
s/Z5/ /g
3232

test/Syntax/tokens_nonbreaking_space.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,30 +15,30 @@ let cZ=Z3
1515
// CHECK-LABEL: 4:7
1616
// CHECK-NEXT:(Token equal
1717
// CHECK-NEXT: (text="=")
18-
// CHECK-NEXT: (trivia garbageText \302\240))
18+
// CHECK-NEXT: (trivia unexpectedText \302\240))
1919

2020
// CHECK-LABEL: 4:10
2121
// CHECK-NEXT:(Token integer_literal
2222
// CHECK-NEXT: (text="3")
23-
// CHECK-NEXT: (trivia garbageText \302\240)
23+
// CHECK-NEXT: (trivia unexpectedText \302\240)
2424
// CHECK-NEXT: (trivia space 1))
2525

2626
// CHECK-LABEL: 5:5
2727
// CHECK-NEXT:(Token identifier
2828
// CHECK-NEXT: (text="b")
29-
// CHECK-NEXT: (trivia garbageText \302\240))
29+
// CHECK-NEXT: (trivia unexpectedText \302\240))
3030

3131
// CHECK-LABEL: 5:10
3232
// CHECK-NEXT:(Token integer_literal
3333
// CHECK-NEXT: (text="3")
34-
// CHECK-NEXT: (trivia garbageText \302\240)
34+
// CHECK-NEXT: (trivia unexpectedText \302\240)
3535

3636
// CHECK-LABEL: 6:5
3737
// CHECK-NEXT:(Token identifier
3838
// CHECK-NEXT: (text="c")
39-
// CHECK-NEXT: (trivia garbageText \302\240))
39+
// CHECK-NEXT: (trivia unexpectedText \302\240))
4040

4141
// CHECK-LABEL: 6:8
4242
// CHECK-NEXT:(Token equal
4343
// CHECK-NEXT: (text="=")
44-
// CHECK-NEXT: (trivia garbageText \302\240))
44+
// CHECK-NEXT: (trivia unexpectedText \302\240))

test/Syntax/tokens_nul.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ func b() {}
1212
// CHECK-NEXT:(Token equal
1313
// CHECK-NEXT: (text="=")
1414
// CHECK-NEXT: (trivia space 1)
15-
// CHECK-NEXT: (trivia garbageText \000))
15+
// CHECK-NEXT: (trivia unexpectedText \000))
1616

1717
// CHECK-LABEL: 4:10
1818
// CHECK-NEXT:(Token integer_literal
1919
// CHECK-NEXT: (text="3")
20-
// CHECK-NEXT: (trivia garbageText \000)
20+
// CHECK-NEXT: (trivia unexpectedText \000)
2121
// CHECK-NEXT: (trivia space 1))
2222

2323
// CHECK-LABEL: 5:1

test/Syntax/tokens_unknown_and_invalid.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ jjj
4444
// CHECK-LABEL: 14:3
4545
// CHECK-NEXT: (Token identifier
4646
// CHECK-NEXT: (trivia newline 1)
47-
// CHECK-NEXT: (trivia garbageText \302)
47+
// CHECK-NEXT: (trivia unexpectedText \302)
4848
// CHECK-NEXT: (trivia space 1)
4949
// CHECK-NEXT: (text="bbb")
5050
// CHECK-NEXT: (trivia space 1)
51-
// CHECK-NEXT: (trivia garbageText \302))
51+
// CHECK-NEXT: (trivia unexpectedText \302))
5252

5353
// Checks around ccc
5454
// CHECK-LABEL: 16:5
@@ -82,8 +82,8 @@ jjj
8282
// CHECK-LABEL: 27:5
8383
// CHECK-NEXT: (Token identifier
8484
// CHECK-NEXT: (trivia newline 1)
85-
// CHECK-NEXT: (trivia garbageText \341\232\200)
85+
// CHECK-NEXT: (trivia unexpectedText \341\232\200)
8686
// CHECK-NEXT: (trivia space 1)
8787
// CHECK-NEXT: (text="iii")
8888
// CHECK-NEXT: (trivia space 1)
89-
// CHECK-NEXT: (trivia garbageText \341\232\200))
89+
// CHECK-NEXT: (trivia unexpectedText \341\232\200))

unittests/Parse/LexerTests.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ TEST_F(LexerTest, BOMNoCommentTrivia) {
422422
ParsedTrivia LeadingTriviaPieces = TriviaLexer::lexTrivia(LeadingTrivia);
423423
ParsedTrivia TrailingTriviaPieces = TriviaLexer::lexTrivia(TrailingTrivia);
424424
ASSERT_EQ((ParsedTrivia{{
425-
ParsedTriviaPiece(TriviaKind::GarbageText, strlen("\xEF\xBB\xBF")),
425+
ParsedTriviaPiece(TriviaKind::UnexpectedText, strlen("\xEF\xBB\xBF")),
426426
ParsedTriviaPiece(TriviaKind::LineComment, strlen("// comment")),
427427
ParsedTriviaPiece(TriviaKind::Newline, 1)
428428
}}), LeadingTriviaPieces);
@@ -472,7 +472,7 @@ TEST_F(LexerTest, BOMAttachCommentTrivia) {
472472
ParsedTrivia LeadingTriviaPieces = TriviaLexer::lexTrivia(LeadingTrivia);
473473
ParsedTrivia TrailingTriviaPieces = TriviaLexer::lexTrivia(TrailingTrivia);
474474
ASSERT_EQ((ParsedTrivia{{
475-
ParsedTriviaPiece(TriviaKind::GarbageText, strlen("\xEF\xBB\xBF")),
475+
ParsedTriviaPiece(TriviaKind::UnexpectedText, strlen("\xEF\xBB\xBF")),
476476
ParsedTriviaPiece(TriviaKind::LineComment, strlen("// comment")),
477477
ParsedTriviaPiece(TriviaKind::Newline, 1)
478478
}}), LeadingTriviaPieces);

unittests/Parse/LexerTriviaTests.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ TEST_F(LexerTriviaTest, TriviaHashbangAfterBOM) {
139139
ASSERT_EQ(LeadingTrivia, "\xEF\xBB\xBF" "#!/bin/swift\n");
140140
ASSERT_EQ(TrailingTrivia, "");
141141
ASSERT_EQ(LeadingTriviaPieces, (ParsedTrivia{{
142-
ParsedTriviaPiece(TriviaKind::GarbageText, strlen("\xEF\xBB\xBF")),
142+
ParsedTriviaPiece(TriviaKind::UnexpectedText, strlen("\xEF\xBB\xBF")),
143143
ParsedTriviaPiece(TriviaKind::Shebang, strlen("#!/bin/swift")),
144144
ParsedTriviaPiece(TriviaKind::Newline, 1)}}));
145145
ASSERT_EQ(TrailingTriviaPieces, ParsedTrivia());
@@ -190,7 +190,7 @@ TEST_F(LexerTriviaTest, TriviaConflictMarker) {
190190
ASSERT_EQ(TrailingTrivia, "");
191191
ASSERT_EQ(LeadingTriviaPieces, (ParsedTrivia{{
192192
ParsedTriviaPiece(TriviaKind::Newline, 1),
193-
ParsedTriviaPiece(TriviaKind::GarbageText, expectedTrivia.size()),
193+
ParsedTriviaPiece(TriviaKind::UnexpectedText, expectedTrivia.size()),
194194
ParsedTriviaPiece(TriviaKind::Newline, 1)}}));
195195
ASSERT_EQ(TrailingTriviaPieces, ParsedTrivia());
196196
}

0 commit comments

Comments
 (0)