Terminology change: 'garbage' -> 'unexpected'

There are no "garbage" characters in Swift code. They are just
"unexpected."
This commit is contained in:
Rintaro Ishizaki
2022-08-15 12:15:47 -07:00
parent feecc515d2
commit a673043737
26 changed files with 357 additions and 356 deletions

View File

@@ -365,7 +365,7 @@ private:
return Text.startswith("///");
case TriviaKind::DocBlockComment:
return Text.startswith("/**") && Text.endswith("*/");
case TriviaKind::GarbageText:
case TriviaKind::UnexpectedText:
case TriviaKind::Shebang:
return !Text.empty();
% for trivia in TRIVIAS:

View File

@@ -3222,7 +3222,7 @@ ParsedTrivia TriviaLexer::lexTrivia(StringRef TriviaStr) {
if (tryAdvanceToEndOfConflictMarker(CurPtr, BufferEnd)) {
// Conflict marker.
size_t Length = CurPtr - TriviaStart;
Pieces.push_back(TriviaKind::GarbageText, Length);
Pieces.push_back(TriviaKind::UnexpectedText, Length);
continue;
}
break;
@@ -3231,13 +3231,13 @@ ParsedTrivia TriviaLexer::lexTrivia(StringRef TriviaStr) {
// BOM marker.
CurPtr = CurPtr + 2;
size_t Length = CurPtr - TriviaStart;
Pieces.push_back(TriviaKind::GarbageText, Length);
Pieces.push_back(TriviaKind::UnexpectedText, Length);
continue;
}
break;
case 0: {
size_t Length = CurPtr - TriviaStart;
Pieces.push_back(TriviaKind::GarbageText, Length);
Pieces.push_back(TriviaKind::UnexpectedText, Length);
continue;
}
default:
@@ -3267,7 +3267,7 @@ ParsedTrivia TriviaLexer::lexTrivia(StringRef TriviaStr) {
}
size_t Length = CurPtr - TriviaStart;
Pieces.push_back(TriviaKind::GarbageText, Length);
Pieces.push_back(TriviaKind::UnexpectedText, Length);
continue;
}

View File

@@ -1247,7 +1247,7 @@ Parser::parseExprPostfixSuffix(ParserResult<Expr> Result, bool isExprBasic,
// }
// In this case, we want to consume the trailing closure because
// otherwise it will get parsed as a get-set clause on a variable
// declared by `baseExpr.<complete>` which is complete garbage.
// declared by `baseExpr.<complete>` which is clearly wrong.
bool hasBindOptional = false;
parseExprPostfixSuffix(makeParserResult(CCExpr), isExprBasic,
periodHasKeyPathBehavior, hasBindOptional);
@@ -1702,11 +1702,11 @@ ParserResult<Expr> Parser::parseExprPrimary(Diag<> ID, bool isExprBasic) {
if (SyntaxContext->isEnabled()) {
ParsedPatternSyntax PatternNode =
ParsedSyntaxRecorder::makeIdentifierPattern(
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Identifier=*/SyntaxContext->popToken(), *SyntaxContext);
ParsedExprSyntax ExprNode =
ParsedSyntaxRecorder::makeUnresolvedPatternExpr(
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Pattern=*/std::move(PatternNode), *SyntaxContext);
SyntaxContext->addSyntax(std::move(ExprNode));
}

View File

@@ -822,10 +822,10 @@ ParserResult<IfConfigDecl> Parser::parseIfConfig(
// to disambiguate whether a postfix expression is the condition of
// #elseif or a postfix expression of the #else body.
// To do this, push three empty syntax nodes onto the stack.
// - First one for garbage nodes between the #else keyword and the
// - First one for unexpected nodes between the #else keyword and the
// condition
// - One for the condition itself (whcih doesn't exist)
// - And finally one for the garbage nodes between the condition and
// - And finally one for the unexpected nodes between the condition and
// the elements
SyntaxContext->addRawSyntax(ParsedRawSyntaxNode());
SyntaxContext->addRawSyntax(ParsedRawSyntaxNode());

View File

@@ -916,9 +916,9 @@ Parser::parseTypeSimpleOrComposition(Diag<> MessageID, ParseTypeReason reason) {
if (SyntaxContext->isEnabled()) {
if (auto synType = SyntaxContext->popIf<ParsedTypeSyntax>()) {
auto LastNode = ParsedSyntaxRecorder::makeCompositionTypeElement(
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Type=*/std::move(*synType),
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Ampersand=*/None, *SyntaxContext);
SyntaxContext->addSyntax(std::move(LastNode));
}

View File

@@ -173,21 +173,21 @@ ParsedSyntaxRecorder::makeTupleTypeElement(ParsedTypeSyntax Type,
llvm::Optional<ParsedTokenSyntax> TrailingComma,
SyntaxParsingContext &SPCtx) {
return makeTupleTypeElement(
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*InOut=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Name=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*SecondName=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Colon=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
std::move(Type),
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Ellipsis=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Initializer=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
std::move(TrailingComma),
SPCtx
);

View File

@@ -65,8 +65,8 @@ SyntaxFactory::countChildren(SyntaxKind Kind){
% for node in SYNTAX_NODES:
% if not node.is_syntax_collection():
case SyntaxKind::${node.syntax_kind}:
% child_count = len(node.non_garbage_children)
% non_optional_child_count = sum(0 if child.is_optional else 1 for child in node.non_garbage_children)
% child_count = len(node.non_unexpected_children)
% non_optional_child_count = sum(0 if child.is_optional else 1 for child in node.non_unexpected_children)
return {${non_optional_child_count}, ${child_count}};
% end
% end
@@ -244,11 +244,11 @@ SyntaxFactory::makeBlank${node.syntax_kind}() {
TupleTypeSyntax SyntaxFactory::makeVoidTupleType() {
return makeTupleType(
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*LeftParen=*/makeLeftParenToken({}, {}),
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Elements=*/makeBlankTupleTypeElementList(),
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*RightParen=*/makeRightParenToken({}, {})
);
}
@@ -259,21 +259,21 @@ SyntaxFactory::makeTupleTypeElement(llvm::Optional<TokenSyntax> Label,
TypeSyntax Type,
llvm::Optional<TokenSyntax> TrailingComma) {
return makeTupleTypeElement(
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*InOut=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Name=*/Label,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*SecondName=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Colon=*/Colon,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Type=*/Type,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Ellipsis=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Intitializer=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*TrailingComma=*/TrailingComma
);
}
@@ -282,21 +282,21 @@ TupleTypeElementSyntax
SyntaxFactory::makeTupleTypeElement(TypeSyntax Type,
llvm::Optional<TokenSyntax> TrailingComma) {
return makeTupleTypeElement(
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*InOut=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Name=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*SecondName=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Colon=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Type=*/Type,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Ellipsis=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Initializer=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*TrailingComma=*/TrailingComma
);
}
@@ -305,15 +305,15 @@ GenericParameterSyntax
SyntaxFactory::makeGenericParameter(TokenSyntax Name,
llvm::Optional<TokenSyntax> TrailingComma) {
return makeGenericParameter(
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Attributes=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Name=*/Name,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Colon=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*InheritedType=*/None,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*TrailingComma=*/TrailingComma
);
}
@@ -327,9 +327,9 @@ TypeSyntax SyntaxFactory::makeTypeIdentifier(StringRef TypeName,
TrailingTrivia
);
return makeSimpleTypeIdentifier(
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*Name=*/identifier,
/*GarbageNodes=*/None,
/*UnexpectedNodes=*/None,
/*GenerigArgumentClause=*/None
);
}

View File

@@ -10,7 +10,7 @@ static func foo() {} // expected-error{{static methods may only be declared on a
// Below this line are such octets that should be skipped by the lexer.
// They may not be rendered correctly by your text editor, if at all.
// Begin magic UTF-8 garbage
// Begin magic UTF-8 values
// 0xC0
<EFBFBD> // expected-error {{invalid UTF-8 found in source file}}
// 0xC1
@@ -31,7 +31,7 @@ static func foo() {} // expected-error{{static methods may only be declared on a
<EFBFBD> // expected-error {{invalid UTF-8 found in source file}}
// 0xFD
<EFBFBD> // expected-error {{invalid UTF-8 found in source file}}
// End magic UTF-8 garbage
// End magic UTF-8 values
// Make sure we don't stop processing the whole file.
static func bar() {} // expected-error{{static methods may only be declared on a type}} {{1-8=}}

View File

@@ -1,7 +1,7 @@
# [0xC2] is utf8 2 byte character start byte.
# 0xC2 without second byte is invalid UTF-8 sequence.
# It becomes garbage text trivia.
# It becomes unexpected text trivia.
# Marker(1) is replaced to this sequence.
s/Z1/<EFBFBD>/g
@@ -26,7 +26,7 @@ s/Z4/”/g
# [0xE1, 0x9A, 0x80] in UTF-8 is U+1680.
# This character is invalid for swift source.
# It becomes garbage trivia.
# It becomes unexpected trivia.
# Marker(5) is replaced to this sequence.
s/Z5//g

View File

@@ -15,30 +15,30 @@ let cZ=Z3
// CHECK-LABEL: 4:7
// CHECK-NEXT:(Token equal
// CHECK-NEXT: (text="=")
// CHECK-NEXT: (trivia garbageText \302\240))
// CHECK-NEXT: (trivia unexpectedText \302\240))
// CHECK-LABEL: 4:10
// CHECK-NEXT:(Token integer_literal
// CHECK-NEXT: (text="3")
// CHECK-NEXT: (trivia garbageText \302\240)
// CHECK-NEXT: (trivia unexpectedText \302\240)
// CHECK-NEXT: (trivia space 1))
// CHECK-LABEL: 5:5
// CHECK-NEXT:(Token identifier
// CHECK-NEXT: (text="b")
// CHECK-NEXT: (trivia garbageText \302\240))
// CHECK-NEXT: (trivia unexpectedText \302\240))
// CHECK-LABEL: 5:10
// CHECK-NEXT:(Token integer_literal
// CHECK-NEXT: (text="3")
// CHECK-NEXT: (trivia garbageText \302\240)
// CHECK-NEXT: (trivia unexpectedText \302\240)
// CHECK-LABEL: 6:5
// CHECK-NEXT:(Token identifier
// CHECK-NEXT: (text="c")
// CHECK-NEXT: (trivia garbageText \302\240))
// CHECK-NEXT: (trivia unexpectedText \302\240))
// CHECK-LABEL: 6:8
// CHECK-NEXT:(Token equal
// CHECK-NEXT: (text="=")
// CHECK-NEXT: (trivia garbageText \302\240))
// CHECK-NEXT: (trivia unexpectedText \302\240))

View File

@@ -12,12 +12,12 @@ func b() {}
// CHECK-NEXT:(Token equal
// CHECK-NEXT: (text="=")
// CHECK-NEXT: (trivia space 1)
// CHECK-NEXT: (trivia garbageText \000))
// CHECK-NEXT: (trivia unexpectedText \000))
// CHECK-LABEL: 4:10
// CHECK-NEXT:(Token integer_literal
// CHECK-NEXT: (text="3")
// CHECK-NEXT: (trivia garbageText \000)
// CHECK-NEXT: (trivia unexpectedText \000)
// CHECK-NEXT: (trivia space 1))
// CHECK-LABEL: 5:1

View File

@@ -44,11 +44,11 @@ jjj
// CHECK-LABEL: 14:3
// CHECK-NEXT: (Token identifier
// CHECK-NEXT: (trivia newline 1)
// CHECK-NEXT: (trivia garbageText \302)
// CHECK-NEXT: (trivia unexpectedText \302)
// CHECK-NEXT: (trivia space 1)
// CHECK-NEXT: (text="bbb")
// CHECK-NEXT: (trivia space 1)
// CHECK-NEXT: (trivia garbageText \302))
// CHECK-NEXT: (trivia unexpectedText \302))
// Checks around ccc
// CHECK-LABEL: 16:5
@@ -82,8 +82,8 @@ jjj
// CHECK-LABEL: 27:5
// CHECK-NEXT: (Token identifier
// CHECK-NEXT: (trivia newline 1)
// CHECK-NEXT: (trivia garbageText \341\232\200)
// CHECK-NEXT: (trivia unexpectedText \341\232\200)
// CHECK-NEXT: (trivia space 1)
// CHECK-NEXT: (text="iii")
// CHECK-NEXT: (trivia space 1)
// CHECK-NEXT: (trivia garbageText \341\232\200))
// CHECK-NEXT: (trivia unexpectedText \341\232\200))

View File

@@ -422,7 +422,7 @@ TEST_F(LexerTest, BOMNoCommentTrivia) {
ParsedTrivia LeadingTriviaPieces = TriviaLexer::lexTrivia(LeadingTrivia);
ParsedTrivia TrailingTriviaPieces = TriviaLexer::lexTrivia(TrailingTrivia);
ASSERT_EQ((ParsedTrivia{{
ParsedTriviaPiece(TriviaKind::GarbageText, strlen("\xEF\xBB\xBF")),
ParsedTriviaPiece(TriviaKind::UnexpectedText, strlen("\xEF\xBB\xBF")),
ParsedTriviaPiece(TriviaKind::LineComment, strlen("// comment")),
ParsedTriviaPiece(TriviaKind::Newline, 1)
}}), LeadingTriviaPieces);
@@ -472,7 +472,7 @@ TEST_F(LexerTest, BOMAttachCommentTrivia) {
ParsedTrivia LeadingTriviaPieces = TriviaLexer::lexTrivia(LeadingTrivia);
ParsedTrivia TrailingTriviaPieces = TriviaLexer::lexTrivia(TrailingTrivia);
ASSERT_EQ((ParsedTrivia{{
ParsedTriviaPiece(TriviaKind::GarbageText, strlen("\xEF\xBB\xBF")),
ParsedTriviaPiece(TriviaKind::UnexpectedText, strlen("\xEF\xBB\xBF")),
ParsedTriviaPiece(TriviaKind::LineComment, strlen("// comment")),
ParsedTriviaPiece(TriviaKind::Newline, 1)
}}), LeadingTriviaPieces);

View File

@@ -139,7 +139,7 @@ TEST_F(LexerTriviaTest, TriviaHashbangAfterBOM) {
ASSERT_EQ(LeadingTrivia, "\xEF\xBB\xBF" "#!/bin/swift\n");
ASSERT_EQ(TrailingTrivia, "");
ASSERT_EQ(LeadingTriviaPieces, (ParsedTrivia{{
ParsedTriviaPiece(TriviaKind::GarbageText, strlen("\xEF\xBB\xBF")),
ParsedTriviaPiece(TriviaKind::UnexpectedText, strlen("\xEF\xBB\xBF")),
ParsedTriviaPiece(TriviaKind::Shebang, strlen("#!/bin/swift")),
ParsedTriviaPiece(TriviaKind::Newline, 1)}}));
ASSERT_EQ(TrailingTriviaPieces, ParsedTrivia());
@@ -190,7 +190,7 @@ TEST_F(LexerTriviaTest, TriviaConflictMarker) {
ASSERT_EQ(TrailingTrivia, "");
ASSERT_EQ(LeadingTriviaPieces, (ParsedTrivia{{
ParsedTriviaPiece(TriviaKind::Newline, 1),
ParsedTriviaPiece(TriviaKind::GarbageText, expectedTrivia.size()),
ParsedTriviaPiece(TriviaKind::UnexpectedText, expectedTrivia.size()),
ParsedTriviaPiece(TriviaKind::Newline, 1)}}));
ASSERT_EQ(TrailingTriviaPieces, ParsedTrivia());
}

View File

@@ -19,10 +19,10 @@ DeclModifierSyntax getCannedDeclModifier(const RC<SyntaxArena> &Arena) {
auto Set = Factory.makeIdentifier("set", "", "");
auto RParen = Factory.makeRightParenToken("", "");
auto DeclModifierDetail = Factory.makeDeclModifierDetail(
/*GarbageNodes=*/None, LParen, /*GarbageNodes=*/None, Set,
/*GarbageNodes=*/None, RParen);
return Factory.makeDeclModifier(/*GarbageNodes=*/None, Private,
/*GarbageNodes=*/None, DeclModifierDetail);
/*UnexpectedNodes=*/None, LParen, /*UnexpectedNodes=*/None, Set,
/*UnexpectedNodes=*/None, RParen);
return Factory.makeDeclModifier(/*UnexpectedNodes=*/None, Private,
/*UnexpectedNodes=*/None, DeclModifierDetail);
}
TEST(DeclSyntaxTests, DeclModifierMakeAPIs) {
@@ -50,11 +50,11 @@ TEST(DeclSyntaxTests, DeclModifierGetAPIs) {
auto Set = Factory.makeIdentifier("set", "", "");
auto RParen = Factory.makeRightParenToken("", "");
auto DeclModifierDetail = Factory.makeDeclModifierDetail(
/*GarbageNodes=*/None, LParen, /*GarbageNodes=*/None, Set,
/*GarbageNodes=*/None, RParen);
/*UnexpectedNodes=*/None, LParen, /*UnexpectedNodes=*/None, Set,
/*UnexpectedNodes=*/None, RParen);
auto Mod =
Factory.makeDeclModifier(/*GarbageNodes=*/None, Private,
/*GarbageNodes=*/None, DeclModifierDetail);
Factory.makeDeclModifier(/*UnexpectedNodes=*/None, Private,
/*UnexpectedNodes=*/None, DeclModifierDetail);
ASSERT_EQ(Private.getRaw(), Mod.getName().getRaw());
ASSERT_EQ(LParen.getRaw(), Mod.getDetail()->getLeftParen().getRaw());
@@ -74,9 +74,9 @@ TEST(DeclSyntaxTests, DeclModifierWithAPIs) {
llvm::raw_svector_ostream OS(Scratch);
Factory.makeBlankDeclModifier()
.withName(Private)
.withDetail(Factory.makeDeclModifierDetail(/*GarbageNodes=*/None, LParen,
/*GarbageNodes=*/None, Set,
/*GarbageNodes=*/None, RParen))
.withDetail(Factory.makeDeclModifierDetail(/*UnexpectedNodes=*/None, LParen,
/*UnexpectedNodes=*/None, Set,
/*UnexpectedNodes=*/None, RParen))
.print(OS);
ASSERT_EQ(OS.str().str(), "private(set)");
}
@@ -99,9 +99,9 @@ TEST(DeclSyntaxTests, TypealiasMakeAPIs) {
auto Subsequence = Factory.makeIdentifier("MyCollection", "", "");
auto ElementName = Factory.makeIdentifier("Element", "", "");
auto ElementParam = Factory.makeGenericParameter(
/*GarbageNodes=*/None, /*Attributes=*/None, /*GarbageNodes=*/None,
/*Name=*/ElementName, /*GarbageNodes=*/None, /*Colon=*/None,
/*GarbageNodes=*/None, /*InheritedType=*/None, /*GarbageNodes=*/None,
/*UnexpectedNodes=*/None, /*Attributes=*/None, /*UnexpectedNodes=*/None,
/*Name=*/ElementName, /*UnexpectedNodes=*/None, /*Colon=*/None,
/*UnexpectedNodes=*/None, /*InheritedType=*/None, /*UnexpectedNodes=*/None,
/*TrailingComma=*/None);
auto LeftAngle = Factory.makeLeftAngleToken("", "");
auto RightAngle = Factory.makeRightAngleToken("", " ");
@@ -113,8 +113,8 @@ TEST(DeclSyntaxTests, TypealiasMakeAPIs) {
auto Assignment = Factory.makeEqualToken("", " ");
auto ElementType = Factory.makeTypeIdentifier("Element", "", "");
auto ElementArg = Factory.makeGenericArgument(
/*GarbageNodes=*/None, /*ArgumentType=*/ElementType,
/*GarbageNodes=*/None, /*TrailingComma=*/None);
/*UnexpectedNodes=*/None, /*ArgumentType=*/ElementType,
/*UnexpectedNodes=*/None, /*TrailingComma=*/None);
auto GenericArgs =
GenericArgumentClauseSyntaxBuilder(Arena)
@@ -125,19 +125,19 @@ TEST(DeclSyntaxTests, TypealiasMakeAPIs) {
auto Array = Factory.makeIdentifier("Array", "", "");
auto Array_Int = Factory.makeSimpleTypeIdentifier(
/*GarbageNodes=*/None, /*Name=*/Array, /*GarbageNodes=*/None,
/*UnexpectedNodes=*/None, /*Name=*/Array, /*UnexpectedNodes=*/None,
/*GenericArgumentClause=*/GenericArgs);
auto TypeInit = Factory.makeTypeInitializerClause(
/*GarbageNodes=*/None, /*Equal=*/Assignment, /*GarbageNodes=*/None,
/*UnexpectedNodes=*/None, /*Equal=*/Assignment, /*UnexpectedNodes=*/None,
/*Value=*/Array_Int);
Factory
.makeTypealiasDecl(
/*GarbageNodes=*/None, /*Attributes=*/None, /*GarbageNodes=*/None,
/*Modifiers=*/None, /*GarbageNodes=*/None,
/*TypealiasKeyword=*/Typealias, /*GarbageNodes=*/None,
/*Identifier=*/Subsequence, /*GarbageNodes=*/None,
/*GenericParameterClause=*/GenericParams, /*GarbageNodes=*/None,
/*Initializer=*/TypeInit, /*GarbageNodes=*/None,
/*UnexpectedNodes=*/None, /*Attributes=*/None, /*UnexpectedNodes=*/None,
/*Modifiers=*/None, /*UnexpectedNodes=*/None,
/*TypealiasKeyword=*/Typealias, /*UnexpectedNodes=*/None,
/*Identifier=*/Subsequence, /*UnexpectedNodes=*/None,
/*GenericParameterClause=*/GenericParams, /*UnexpectedNodes=*/None,
/*Initializer=*/TypeInit, /*UnexpectedNodes=*/None,
/*GenericWhereClause=*/None)
.print(OS);
ASSERT_EQ(OS.str().str(),
@@ -152,9 +152,9 @@ TEST(DeclSyntaxTests, TypealiasWithAPIs) {
auto MyCollection = Factory.makeIdentifier("MyCollection", "", "");
auto ElementName = Factory.makeIdentifier("Element", "", "");
auto ElementParam = Factory.makeGenericParameter(
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, ElementName,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, ElementName,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, None);
auto LeftAngle = Factory.makeLeftAngleToken("", "");
auto RightAngle = Factory.makeRightAngleToken("", " ");
auto GenericParams = GenericParameterClauseSyntaxBuilder(Arena)
@@ -166,7 +166,7 @@ TEST(DeclSyntaxTests, TypealiasWithAPIs) {
auto ElementType = Factory.makeTypeIdentifier("Element", "", "");
auto ElementArg = Factory.makeGenericArgument(
/*GarbageNodes=*/None, ElementType, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, ElementType, /*UnexpectedNodes=*/None, None);
auto GenericArgs =
GenericArgumentClauseSyntaxBuilder(Arena)
.useLeftAngleBracket(LeftAngle)
@@ -176,9 +176,9 @@ TEST(DeclSyntaxTests, TypealiasWithAPIs) {
auto Array = Factory.makeIdentifier("Array", "", "");
auto Array_Int = Factory.makeSimpleTypeIdentifier(
/*GarbageNodes=*/None, Array, /*GarbageNodes=*/None, GenericArgs);
/*UnexpectedNodes=*/None, Array, /*UnexpectedNodes=*/None, GenericArgs);
auto Type_Init = Factory.makeTypeInitializerClause(
/*GarbageNodes=*/None, Equal, /*GarbageNodes=*/None, Array_Int);
/*UnexpectedNodes=*/None, Equal, /*UnexpectedNodes=*/None, Array_Int);
{
SmallString<1> Scratch;
llvm::raw_svector_ostream OS(Scratch);
@@ -214,7 +214,7 @@ TEST(DeclSyntaxTests, TypealiasBuilderAPIs) {
auto ElementType = Factory.makeTypeIdentifier("Element", "", "");
auto ElementArg = Factory.makeGenericArgument(
/*GarbageNodes=*/None, ElementType, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, ElementType, /*UnexpectedNodes=*/None, None);
auto GenericArgs =
GenericArgumentClauseSyntaxBuilder(Arena)
@@ -225,9 +225,9 @@ TEST(DeclSyntaxTests, TypealiasBuilderAPIs) {
auto Array = Factory.makeIdentifier("Array", "", "");
auto Array_Int = Factory.makeSimpleTypeIdentifier(
/*GarbageNodes=*/None, Array, /*GarbageNodes=*/None, GenericArgs);
/*UnexpectedNodes=*/None, Array, /*UnexpectedNodes=*/None, GenericArgs);
auto Type_Init = Factory.makeTypeInitializerClause(
/*GarbageNodes=*/None, Equal, /*GarbageNodes=*/None, Array_Int);
/*UnexpectedNodes=*/None, Equal, /*UnexpectedNodes=*/None, Array_Int);
TypealiasDeclSyntaxBuilder(Arena)
.useTypealiasKeyword(Typealias)
.useIdentifier(MyCollection)
@@ -253,18 +253,18 @@ FunctionParameterSyntax getCannedFunctionParameter(const RC<SyntaxArena> &Arena)
auto Sign = Factory.makePrefixOperator("-", "", "");
auto OneDigits = Factory.makeIntegerLiteral("1", "", "");
auto OneLiteral =
Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, OneDigits);
auto One = Factory.makePrefixOperatorExpr(/*GarbageNodes=*/None, Sign,
/*GarbageNodes=*/None, OneLiteral);
auto DefaultArg = Factory.makeInitializerClause(/*GarbageNodes=*/None, Equal,
/*GarbageNodes=*/None, One);
Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, OneDigits);
auto One = Factory.makePrefixOperatorExpr(/*UnexpectedNodes=*/None, Sign,
/*UnexpectedNodes=*/None, OneLiteral);
auto DefaultArg = Factory.makeInitializerClause(/*UnexpectedNodes=*/None, Equal,
/*UnexpectedNodes=*/None, One);
auto Comma = Factory.makeCommaToken("", " ");
return Factory.makeFunctionParameter(
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, ExternalName,
/*GarbageNodes=*/None, LocalName, /*GarbageNodes=*/None, Colon,
/*GarbageNodes=*/None, Int, /*GarbageNodes=*/None, NoEllipsis,
/*GarbageNodes=*/None, DefaultArg, /*GarbageNodes=*/None, Comma);
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, ExternalName,
/*UnexpectedNodes=*/None, LocalName, /*UnexpectedNodes=*/None, Colon,
/*UnexpectedNodes=*/None, Int, /*UnexpectedNodes=*/None, NoEllipsis,
/*UnexpectedNodes=*/None, DefaultArg, /*UnexpectedNodes=*/None, Comma);
}
TEST(DeclSyntaxTests, FunctionParameterMakeAPIs) {
@@ -297,18 +297,18 @@ TEST(DeclSyntaxTests, FunctionParameterGetAPIs) {
auto Sign = Factory.makePrefixOperator("-", "", "");
auto OneDigits = Factory.makeIntegerLiteral("1", "", "");
auto OneLiteral =
Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, OneDigits);
auto One = Factory.makePrefixOperatorExpr(/*GarbageNodes=*/None, Sign,
/*GarbageNodes=*/None, OneLiteral);
auto DefaultArg = Factory.makeInitializerClause(/*GarbageNodes=*/None, Equal,
/*GarbageNodes=*/None, One);
Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, OneDigits);
auto One = Factory.makePrefixOperatorExpr(/*UnexpectedNodes=*/None, Sign,
/*UnexpectedNodes=*/None, OneLiteral);
auto DefaultArg = Factory.makeInitializerClause(/*UnexpectedNodes=*/None, Equal,
/*UnexpectedNodes=*/None, One);
auto Comma = Factory.makeCommaToken("", "");
auto Param = Factory.makeFunctionParameter(
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, ExternalName,
/*GarbageNodes=*/None, LocalName, /*GarbageNodes=*/None, Colon,
/*GarbageNodes=*/None, Int, /*GarbageNodes=*/None, NoEllipsis,
/*GarbageNodes=*/None, DefaultArg, /*GarbageNodes=*/None, Comma);
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, ExternalName,
/*UnexpectedNodes=*/None, LocalName, /*UnexpectedNodes=*/None, Colon,
/*UnexpectedNodes=*/None, Int, /*UnexpectedNodes=*/None, NoEllipsis,
/*UnexpectedNodes=*/None, DefaultArg, /*UnexpectedNodes=*/None, Comma);
ASSERT_EQ(ExternalName.getRaw(), Param.getFirstName()->getRaw());
ASSERT_EQ(LocalName.getRaw(), Param.getSecondName()->getRaw());
@@ -346,9 +346,9 @@ TEST(DeclSyntaxTests, FunctionParameterWithAPIs) {
auto NoSign = TokenSyntax::missingToken(tok::oper_prefix, "", Arena);
auto OneDigits = Factory.makeIntegerLiteral("1", "", "");
auto One = Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, OneDigits);
auto DefaultArg = Factory.makeInitializerClause(/*GarbageNodes=*/None, Equal,
/*GarbageNodes=*/None, One);
auto One = Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, OneDigits);
auto DefaultArg = Factory.makeInitializerClause(/*UnexpectedNodes=*/None, Equal,
/*UnexpectedNodes=*/None, One);
auto Comma = Factory.makeCommaToken("", "");
{
@@ -435,18 +435,18 @@ FunctionSignatureSyntax getCannedFunctionSignature(const RC<SyntaxArena> &Arena)
.appending(Param)
.castTo<FunctionParameterListSyntax>();
auto RParen = Factory.makeRightParenToken("", " ");
auto Parameter = Factory.makeParameterClause(/*GarbageNodes=*/None, LParen,
/*GarbageNodes=*/None, List,
/*GarbageNodes=*/None, RParen);
auto Parameter = Factory.makeParameterClause(/*UnexpectedNodes=*/None, LParen,
/*UnexpectedNodes=*/None, List,
/*UnexpectedNodes=*/None, RParen);
auto Throws = Factory.makeThrowsKeyword("", " ");
auto Arrow = Factory.makeArrowToken("", " ");
auto Int = Factory.makeTypeIdentifier("Int", "", " ");
auto Return = Factory.makeReturnClause(/*GarbageNodes=*/None, Arrow,
/*GarbageNodes=*/None, Int);
auto Return = Factory.makeReturnClause(/*UnexpectedNodes=*/None, Arrow,
/*UnexpectedNodes=*/None, Int);
return Factory.makeFunctionSignature(
/*GarbageNodes=*/None, Parameter, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, Throws, /*GarbageNodes=*/None, Return);
/*UnexpectedNodes=*/None, Parameter, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, Throws, /*UnexpectedNodes=*/None, Return);
}
TEST(DeclSyntaxTests, FunctionSignatureMakeAPIs) {
@@ -485,14 +485,14 @@ TEST(DeclSyntaxTests, FunctionSignatureGetAPIs) {
auto Int = Factory.makeTypeIdentifier("Int", "", "");
auto ParamClause = Factory.makeParameterClause(/*GarbageNodes=*/None, LParen,
/*GarbageNodes=*/None, List,
/*GarbageNodes=*/None, RParen);
auto ReturnClause = Factory.makeReturnClause(/*GarbageNodes=*/None, Arrow,
/*GarbageNodes=*/None, Int);
auto ParamClause = Factory.makeParameterClause(/*UnexpectedNodes=*/None, LParen,
/*UnexpectedNodes=*/None, List,
/*UnexpectedNodes=*/None, RParen);
auto ReturnClause = Factory.makeReturnClause(/*UnexpectedNodes=*/None, Arrow,
/*UnexpectedNodes=*/None, Int);
auto Sig = Factory.makeFunctionSignature(
/*GarbageNodes=*/None, ParamClause, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, Throws, /*GarbageNodes=*/None, ReturnClause);
/*UnexpectedNodes=*/None, ParamClause, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, Throws, /*UnexpectedNodes=*/None, ReturnClause);
ASSERT_EQ(LParen.getRaw(), Sig.getInput().getLeftParen().getRaw());
@@ -540,11 +540,11 @@ TEST(DeclSyntaxTests, FunctionSignatureWithAPIs) {
auto Arrow = Factory.makeArrowToken("", " ");
auto Int = Factory.makeTypeIdentifier("Int", "", "");
auto Parameter = Factory.makeParameterClause(/*GarbageNodes=*/None, LParen,
/*GarbageNodes=*/None, List,
/*GarbageNodes=*/None, RParen);
auto Return = Factory.makeReturnClause(/*GarbageNodes=*/None, Arrow,
/*GarbageNodes=*/None, Int);
auto Parameter = Factory.makeParameterClause(/*UnexpectedNodes=*/None, LParen,
/*UnexpectedNodes=*/None, List,
/*UnexpectedNodes=*/None, RParen);
auto Return = Factory.makeReturnClause(/*UnexpectedNodes=*/None, Arrow,
/*UnexpectedNodes=*/None, Int);
SmallString<48> Scratch;
llvm::raw_svector_ostream OS(Scratch);
Factory.makeBlankFunctionSignature()
@@ -567,19 +567,19 @@ ModifierListSyntax getCannedModifiers(const RC<SyntaxArena> &Arena) {
auto NoArgument = TokenSyntax::missingToken(tok::identifier, "", Arena);
auto NoRParen = TokenSyntax::missingToken(tok::r_paren, ")", Arena);
auto PublicDeclModifierDetail = Factory.makeDeclModifierDetail(
/*GarbageNodes=*/None, NoLParen, /*GarbageNodes=*/None, NoArgument,
/*GarbageNodes=*/None, NoRParen);
/*UnexpectedNodes=*/None, NoLParen, /*UnexpectedNodes=*/None, NoArgument,
/*UnexpectedNodes=*/None, NoRParen);
auto Public = Factory.makeDeclModifier(
/*GarbageNodes=*/None, PublicID,
/*GarbageNodes=*/None, PublicDeclModifierDetail);
/*UnexpectedNodes=*/None, PublicID,
/*UnexpectedNodes=*/None, PublicDeclModifierDetail);
auto StaticKW = Factory.makeStaticKeyword("", " ");
auto StaticDeclModifierDetail = Factory.makeDeclModifierDetail(
/*GarbageNodes=*/None, NoLParen, /*GarbageNodes=*/None, NoArgument,
/*GarbageNodes=*/None, NoRParen);
/*UnexpectedNodes=*/None, NoLParen, /*UnexpectedNodes=*/None, NoArgument,
/*UnexpectedNodes=*/None, NoRParen);
auto Static =
Factory.makeDeclModifier(/*GarbageNodes=*/None, StaticKW,
/*GarbageNodes=*/None, StaticDeclModifierDetail);
Factory.makeDeclModifier(/*UnexpectedNodes=*/None, StaticKW,
/*UnexpectedNodes=*/None, StaticDeclModifierDetail);
return Factory.makeBlankModifierList().appending(Public).appending(Static);
}
@@ -609,22 +609,22 @@ CodeBlockSyntax getCannedBody(const RC<SyntaxArena> &Arena) {
SyntaxFactory Factory(Arena);
auto NoSign = TokenSyntax::missingToken(tok::oper_prefix, "-", Arena);
auto OneDigits = Factory.makeIntegerLiteral("1", "", "");
auto One = Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, OneDigits);
auto One = Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, OneDigits);
auto ReturnKW = Factory.makeReturnKeyword("\n ", "");
auto Return = Factory.makeReturnStmt(/*GarbageNodes=*/None, ReturnKW,
/*GarbageNodes=*/None, One);
auto ReturnItem = Factory.makeCodeBlockItem(/*GarbageNodes=*/None, Return,
/*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, None);
auto Return = Factory.makeReturnStmt(/*UnexpectedNodes=*/None, ReturnKW,
/*UnexpectedNodes=*/None, One);
auto ReturnItem = Factory.makeCodeBlockItem(/*UnexpectedNodes=*/None, Return,
/*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, None);
auto Stmts = Factory.makeCodeBlockItemList({ReturnItem});
auto LBrace = Factory.makeLeftBraceToken("", "");
auto RBrace = Factory.makeRightBraceToken("\n", "");
return Factory.makeCodeBlock(/*GarbageNodes=*/None, LBrace,
/*GarbageNodes=*/None, Stmts,
/*GarbageNodes=*/None, RBrace);
return Factory.makeCodeBlock(/*UnexpectedNodes=*/None, LBrace,
/*UnexpectedNodes=*/None, Stmts,
/*UnexpectedNodes=*/None, RBrace);
}
GenericWhereClauseSyntax getCannedWhereClause(const RC<SyntaxArena> &Arena) {
@@ -634,10 +634,10 @@ GenericWhereClauseSyntax getCannedWhereClause(const RC<SyntaxArena> &Arena) {
auto EqualEqual = Factory.makeEqualityOperator("", " ");
auto Int = Factory.makeTypeIdentifier("Int", "", " ");
auto SameType = Factory.makeSameTypeRequirement(
/*GarbageNodes=*/None, T, /*GarbageNodes=*/None, EqualEqual,
/*GarbageNodes=*/None, Int);
auto Req = Factory.makeGenericRequirement(/*GarbageNodes=*/None, SameType,
/*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, T, /*UnexpectedNodes=*/None, EqualEqual,
/*UnexpectedNodes=*/None, Int);
auto Req = Factory.makeGenericRequirement(/*UnexpectedNodes=*/None, SameType,
/*UnexpectedNodes=*/None, None);
auto Requirements = Factory.makeBlankGenericRequirementList().appending(Req);
@@ -658,10 +658,10 @@ FunctionDeclSyntax getCannedFunctionDecl(const RC<SyntaxArena> &Arena) {
auto Body = getCannedBody(Arena);
return Factory.makeFunctionDecl(
/*GarbageNodes=*/None, NoAttributes, /*GarbageNodes=*/None, Modifiers,
/*GarbageNodes=*/None, FuncKW, /*GarbageNodes=*/None, Foo,
/*GarbageNodes=*/None, GenericParams, /*GarbageNodes=*/None, Signature,
/*GarbageNodes=*/None, GenericWhere, /*GarbageNodes=*/None, Body);
/*UnexpectedNodes=*/None, NoAttributes, /*UnexpectedNodes=*/None, Modifiers,
/*UnexpectedNodes=*/None, FuncKW, /*UnexpectedNodes=*/None, Foo,
/*UnexpectedNodes=*/None, GenericParams, /*UnexpectedNodes=*/None, Signature,
/*UnexpectedNodes=*/None, GenericWhere, /*UnexpectedNodes=*/None, Body);
}
TEST(DeclSyntaxTests, FunctionDeclMakeAPIs) {
@@ -729,7 +729,7 @@ TEST(DeclSyntaxTests, ProtocolMakeAPIs) {
auto MyCollection = Factory.makeIdentifier("MyCollection", "", "");
auto ElementName = Factory.makeIdentifier("Element", "", "");
auto ElementParam = Factory.makePrimaryAssociatedType(
/*GarbageNodes=*/None, ElementName, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, ElementName, /*UnexpectedNodes=*/None, None);
auto LeftAngle = Factory.makeLeftAngleToken("", "");
auto RightAngle = Factory.makeRightAngleToken("", " ");
auto PrimaryAssocs = PrimaryAssociatedTypeClauseSyntaxBuilder(Arena)
@@ -745,12 +745,12 @@ TEST(DeclSyntaxTests, ProtocolMakeAPIs) {
.useRightBrace(RightBrace)
.build();
Factory
.makeProtocolDecl(/*GarbageNodes=*/None, None, /*GarbageNodes=*/None,
None, /*GarbageNodes=*/None, Protocol,
/*GarbageNodes=*/None, MyCollection,
/*GarbageNodes=*/None, PrimaryAssocs,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None,
None, /*GarbageNodes=*/None, Members)
.makeProtocolDecl(/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None,
None, /*UnexpectedNodes=*/None, Protocol,
/*UnexpectedNodes=*/None, MyCollection,
/*UnexpectedNodes=*/None, PrimaryAssocs,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None,
None, /*UnexpectedNodes=*/None, Members)
.print(OS);
ASSERT_EQ(OS.str().str(),
"protocol MyCollection<Element> {}");

View File

@@ -15,9 +15,9 @@ TEST(ExprSyntaxTests, IntegerLiteralExprMakeAPIs) {
auto LiteralToken = Factory.makeIntegerLiteral("100", "", "");
auto Sign = Factory.makePrefixOperator("-", "", "");
auto IntegerLiteral =
Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, LiteralToken);
Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, LiteralToken);
auto Literal = Factory.makePrefixOperatorExpr(
/*GarbageNodes=*/None, Sign, /*GarbageNodes=*/None, IntegerLiteral);
/*UnexpectedNodes=*/None, Sign, /*UnexpectedNodes=*/None, IntegerLiteral);
llvm::SmallString<10> Scratch;
llvm::raw_svector_ostream OS(Scratch);
@@ -29,7 +29,7 @@ TEST(ExprSyntaxTests, IntegerLiteralExprMakeAPIs) {
auto LiteralToken = Factory.makeIntegerLiteral("1_000", "", "");
auto NoSign = TokenSyntax::missingToken(tok::oper_prefix, "", Arena);
auto Literal =
Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, LiteralToken);
Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, LiteralToken);
llvm::SmallString<10> Scratch;
llvm::raw_svector_ostream OS(Scratch);
@@ -39,7 +39,7 @@ TEST(ExprSyntaxTests, IntegerLiteralExprMakeAPIs) {
{
auto IntLiteral = Factory.makeIntegerLiteral("0", "", " ");
auto IntLiteralExpr =
Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, IntLiteral);
Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, IntLiteral);
auto Literal = Factory.makeBlankPrefixOperatorExpr()
.withOperatorToken(TokenSyntax::missingToken(
tok::oper_prefix, "", Arena))
@@ -54,9 +54,9 @@ TEST(ExprSyntaxTests, IntegerLiteralExprMakeAPIs) {
auto LiteralToken = Factory.makeIntegerLiteral("1_000_000_000_000", "", "");
auto PlusSign = Factory.makePrefixOperator("+", "", "");
auto IntLiteralExpr =
Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, LiteralToken);
Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, LiteralToken);
auto OneThousand = Factory.makePrefixOperatorExpr(
/*GarbageNodes=*/None, PlusSign, /*GarbageNodes=*/None, IntLiteralExpr);
/*UnexpectedNodes=*/None, PlusSign, /*UnexpectedNodes=*/None, IntLiteralExpr);
llvm::SmallString<10> Scratch;
llvm::raw_svector_ostream OS(Scratch);
@@ -74,9 +74,9 @@ TEST(ExprSyntaxTests, SymbolicReferenceExprGetAPIs) {
auto Array = Factory.makeIdentifier("Array", "", "");
auto Int = Factory.makeIdentifier("Int", "", "");
auto IntType = Factory.makeSimpleTypeIdentifier(
/*GarbageNodes=*/None, Int, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, Int, /*UnexpectedNodes=*/None, None);
auto GenericArg = Factory.makeGenericArgument(
/*GarbageNodes=*/None, IntType, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, IntType, /*UnexpectedNodes=*/None, None);
GenericArgumentClauseSyntaxBuilder ArgBuilder(Arena);
ArgBuilder.useLeftAngleBracket(Factory.makeLeftAngleToken("", ""))
.useRightAngleBracket(Factory.makeRightAngleToken("", ""))
@@ -85,7 +85,7 @@ TEST(ExprSyntaxTests, SymbolicReferenceExprGetAPIs) {
auto GenericArgs = ArgBuilder.build();
auto Ref = Factory.makeSymbolicReferenceExpr(
/*GarbageNodes=*/None, Array, /*GarbageNodes=*/None, GenericArgs);
/*UnexpectedNodes=*/None, Array, /*UnexpectedNodes=*/None, GenericArgs);
ASSERT_EQ(Ref.getIdentifier().getRaw(), Array.getRaw());
@@ -107,10 +107,10 @@ TEST(ExprSyntaxTests, SymbolicReferenceExprMakeAPIs) {
SyntaxFactory Factory(Arena);
auto Array = Factory.makeIdentifier("Array", "", "");
auto Int = Factory.makeIdentifier("Int", "", "");
auto IntType = Factory.makeSimpleTypeIdentifier(/*GarbageNodes=*/None, Int,
/*GarbageNodes=*/None, None);
auto GenericArg = Factory.makeGenericArgument(/*GarbageNodes=*/None, IntType,
/*GarbageNodes=*/None, None);
auto IntType = Factory.makeSimpleTypeIdentifier(/*UnexpectedNodes=*/None, Int,
/*UnexpectedNodes=*/None, None);
auto GenericArg = Factory.makeGenericArgument(/*UnexpectedNodes=*/None, IntType,
/*UnexpectedNodes=*/None, None);
GenericArgumentClauseSyntaxBuilder ArgBuilder(Arena);
ArgBuilder.useLeftAngleBracket(Factory.makeLeftAngleToken("", ""))
.useRightAngleBracket(Factory.makeRightAngleToken("", ""))
@@ -131,8 +131,8 @@ TEST(ExprSyntaxTests, SymbolicReferenceExprMakeAPIs) {
auto BlankArgs = Factory.makeBlankGenericArgumentClause();
Factory
.makeSymbolicReferenceExpr(/*GarbageNodes=*/None, Foo,
/*GarbageNodes=*/None, BlankArgs)
.makeSymbolicReferenceExpr(/*UnexpectedNodes=*/None, Foo,
/*UnexpectedNodes=*/None, BlankArgs)
.print(OS);
EXPECT_EQ(OS.str().str(), "foo");
}
@@ -141,8 +141,8 @@ TEST(ExprSyntaxTests, SymbolicReferenceExprMakeAPIs) {
llvm::SmallString<48> Scratch;
llvm::raw_svector_ostream OS(Scratch);
Factory
.makeSymbolicReferenceExpr(/*GarbageNodes=*/None, Array,
/*GarbageNodes=*/None, GenericArgs)
.makeSymbolicReferenceExpr(/*UnexpectedNodes=*/None, Array,
/*UnexpectedNodes=*/None, GenericArgs)
.print(OS);
ASSERT_EQ(OS.str().str(), "Array<Int>");
}
@@ -153,10 +153,10 @@ TEST(ExprSyntaxTests, SymbolicReferenceExprWithAPIs) {
SyntaxFactory Factory(Arena);
auto Array = Factory.makeIdentifier("Array", "", "");
auto Int = Factory.makeIdentifier("Int", "", "");
auto IntType = Factory.makeSimpleTypeIdentifier(/*GarbageNodes=*/None, Int,
/*GarbageNodes=*/None, None);
auto GenericArg = Factory.makeGenericArgument(/*GarbageNodes=*/None, IntType,
/*GarbageNodes=*/None, None);
auto IntType = Factory.makeSimpleTypeIdentifier(/*UnexpectedNodes=*/None, Int,
/*UnexpectedNodes=*/None, None);
auto GenericArg = Factory.makeGenericArgument(/*UnexpectedNodes=*/None, IntType,
/*UnexpectedNodes=*/None, None);
GenericArgumentClauseSyntaxBuilder ArgBuilder(Arena);
ArgBuilder.useLeftAngleBracket(Factory.makeLeftAngleToken("", ""))
.useRightAngleBracket(Factory.makeRightAngleToken("", ""))
@@ -197,13 +197,13 @@ TEST(ExprSyntaxTests, TupleExprElementGetAPIs) {
auto Foo = Factory.makeIdentifier("foo", "", "");
auto Colon = Factory.makeColonToken("", " ");
auto SymbolicRef = Factory.makeSymbolicReferenceExpr(
/*GarbageNodes=*/None, Foo, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, Foo, /*UnexpectedNodes=*/None, None);
auto Comma = Factory.makeCommaToken("", " ");
{
auto Arg = Factory.makeTupleExprElement(
/*GarbageNodes=*/None, X, /*GarbageNodes=*/None, Colon,
/*GarbageNodes=*/None, SymbolicRef, /*GarbageNodes=*/None, Comma);
/*UnexpectedNodes=*/None, X, /*UnexpectedNodes=*/None, Colon,
/*UnexpectedNodes=*/None, SymbolicRef, /*UnexpectedNodes=*/None, Comma);
ASSERT_EQ(X.getRaw(), Arg.getLabel()->getRaw());
ASSERT_EQ(Colon.getRaw(), Arg.getColon()->getRaw());
@@ -227,7 +227,7 @@ TEST(ExprSyntaxTests, TupleExprElementMakeAPIs) {
auto Foo = Factory.makeIdentifier("foo", "", "");
auto Colon = Factory.makeColonToken("", " ");
auto SymbolicRef = Factory.makeSymbolicReferenceExpr(
/*GarbageNodes=*/None, Foo, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, Foo, /*UnexpectedNodes=*/None, None);
auto Comma = Factory.makeCommaToken("", " ");
{
@@ -248,9 +248,9 @@ TEST(ExprSyntaxTests, TupleExprElementMakeAPIs) {
llvm::SmallString<48> Scratch;
llvm::raw_svector_ostream OS(Scratch);
Factory
.makeTupleExprElement(/*GarbageNodes=*/None, X, /*GarbageNodes=*/None,
Colon, /*GarbageNodes=*/None, SymbolicRef,
/*GarbageNodes=*/None, Comma)
.makeTupleExprElement(/*UnexpectedNodes=*/None, X, /*UnexpectedNodes=*/None,
Colon, /*UnexpectedNodes=*/None, SymbolicRef,
/*UnexpectedNodes=*/None, Comma)
.print(OS);
ASSERT_EQ(OS.str().str(), "x: foo, ");
}
@@ -263,7 +263,7 @@ TEST(ExprSyntaxTests, TupleExprElementWithAPIs) {
auto Foo = Factory.makeIdentifier("foo", "", "");
auto Colon = Factory.makeColonToken("", " ");
auto SymbolicRef = Factory.makeSymbolicReferenceExpr(
/*GarbageNodes=*/None, Foo, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, Foo, /*UnexpectedNodes=*/None, None);
auto Comma = Factory.makeCommaToken("", " ");
{
@@ -290,13 +290,13 @@ TupleExprElementListSyntax getFullArgumentList(const RC<SyntaxArena> &Arena) {
auto Foo = Factory.makeIdentifier("foo", "", "");
auto Colon = Factory.makeColonToken("", " ");
auto SymbolicRef = Factory.makeSymbolicReferenceExpr(
/*GarbageNodes=*/None, Foo, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, Foo, /*UnexpectedNodes=*/None, None);
auto Comma = Factory.makeCommaToken("", " ");
auto NoComma = TokenSyntax::missingToken(tok::comma, ",", Arena);
auto Arg = Factory.makeTupleExprElement(
/*GarbageNodes=*/None, X, /*GarbageNodes=*/None, Colon,
/*GarbageNodes=*/None, SymbolicRef, /*GarbageNodes=*/None, Comma);
/*UnexpectedNodes=*/None, X, /*UnexpectedNodes=*/None, Colon,
/*UnexpectedNodes=*/None, SymbolicRef, /*UnexpectedNodes=*/None, Comma);
return Factory.makeBlankTupleExprElementList()
.appending(Arg)
@@ -312,24 +312,24 @@ getLabellessArgumentList(const RC<SyntaxArena> &Arena) {
auto OneDigits = Factory.makeIntegerLiteral("1", "", "");
auto TwoDigits = Factory.makeIntegerLiteral("2", "", "");
auto ThreeDigits = Factory.makeIntegerLiteral("3", "", "");
auto One = Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, OneDigits);
auto One = Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, OneDigits);
auto NoLabel = TokenSyntax::missingToken(tok::identifier, "", Arena);
auto NoColon = TokenSyntax::missingToken(tok::colon, ":", Arena);
auto Comma = Factory.makeCommaToken("", " ");
auto NoComma = TokenSyntax::missingToken(tok::comma, ",", Arena);
auto Two = Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, TwoDigits);
auto Two = Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, TwoDigits);
auto Three =
Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, ThreeDigits);
Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, ThreeDigits);
auto OneArg = Factory.makeTupleExprElement(
/*GarbageNodes=*/None, NoLabel, /*GarbageNodes=*/None, NoColon,
/*GarbageNodes=*/None, One, /*GarbageNodes=*/None, Comma);
/*UnexpectedNodes=*/None, NoLabel, /*UnexpectedNodes=*/None, NoColon,
/*UnexpectedNodes=*/None, One, /*UnexpectedNodes=*/None, Comma);
auto TwoArg = Factory.makeTupleExprElement(
/*GarbageNodes=*/None, NoLabel, /*GarbageNodes=*/None, NoColon,
/*GarbageNodes=*/None, Two, /*GarbageNodes=*/None, Comma);
/*UnexpectedNodes=*/None, NoLabel, /*UnexpectedNodes=*/None, NoColon,
/*UnexpectedNodes=*/None, Two, /*UnexpectedNodes=*/None, Comma);
auto ThreeArg = Factory.makeTupleExprElement(
/*GarbageNodes=*/None, NoLabel, /*GarbageNodes=*/None, NoColon,
/*GarbageNodes=*/None, Three, /*GarbageNodes=*/None, NoComma);
/*UnexpectedNodes=*/None, NoLabel, /*UnexpectedNodes=*/None, NoColon,
/*UnexpectedNodes=*/None, Three, /*UnexpectedNodes=*/None, NoComma);
return Factory.makeBlankTupleExprElementList()
.appending(OneArg)
@@ -348,13 +348,13 @@ TEST(ExprSyntaxTests, TupleExprElementListGetAPIs) {
auto Foo = Factory.makeIdentifier("foo", "", "");
auto Colon = Factory.makeColonToken("", " ");
auto SymbolicRef = Factory.makeSymbolicReferenceExpr(
/*GarbageNodes=*/None, Foo, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, Foo, /*UnexpectedNodes=*/None, None);
auto Comma = Factory.makeCommaToken("", " ");
auto NoComma = TokenSyntax::missingToken(tok::comma, ",", Arena);
auto Arg = Factory.makeTupleExprElement(
/*GarbageNodes=*/None, X, /*GarbageNodes=*/None, Colon,
/*GarbageNodes=*/None, SymbolicRef, /*GarbageNodes=*/None, Comma);
/*UnexpectedNodes=*/None, X, /*UnexpectedNodes=*/None, Colon,
/*UnexpectedNodes=*/None, SymbolicRef, /*UnexpectedNodes=*/None, Comma);
auto ArgList = Factory.makeBlankTupleExprElementList()
.appending(Arg)
@@ -411,13 +411,13 @@ TEST(ExprSyntaxTests, TupleExprElementListMakeAPIs) {
auto Foo = Factory.makeIdentifier("foo", "", "");
auto Colon = Factory.makeColonToken("", " ");
auto SymbolicRef = Factory.makeSymbolicReferenceExpr(
/*GarbageNodes=*/None, Foo, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, Foo, /*UnexpectedNodes=*/None, None);
auto Comma = Factory.makeCommaToken("", " ");
auto NoComma = TokenSyntax::missingToken(tok::comma, ",", Arena);
auto Arg = Factory.makeTupleExprElement(
/*GarbageNodes=*/None, X, /*GarbageNodes=*/None, Colon,
/*GarbageNodes=*/None, SymbolicRef, /*GarbageNodes=*/None, Comma);
/*UnexpectedNodes=*/None, X, /*UnexpectedNodes=*/None, Colon,
/*UnexpectedNodes=*/None, SymbolicRef, /*UnexpectedNodes=*/None, Comma);
std::vector<TupleExprElementSyntax> Args {
Arg, Arg.withLabel(Y), Arg.withLabel(Z).withTrailingComma(NoComma)
@@ -451,16 +451,16 @@ TEST(ExprSyntaxTests, FunctionCallExprGetAPIs) {
SyntaxFactory Factory(Arena);
auto Foo = Factory.makeIdentifier("foo", "", "");
auto SymbolicRef = Factory.makeSymbolicReferenceExpr(
/*GarbageNodes=*/None, Foo, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, Foo, /*UnexpectedNodes=*/None, None);
auto LeftParen = Factory.makeLeftParenToken("", "");
auto ArgList = getFullArgumentList(Arena);
auto RightParen = Factory.makeRightParenToken("", "");
auto Call = Factory.makeFunctionCallExpr(
/*GarbageNodes=*/None, SymbolicRef, /*GarbageNodes=*/None, LeftParen,
/*GarbageNodes=*/None, ArgList,
/*GarbageNodes=*/None, RightParen, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, SymbolicRef, /*UnexpectedNodes=*/None, LeftParen,
/*UnexpectedNodes=*/None, ArgList,
/*UnexpectedNodes=*/None, RightParen, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, None);
{
auto GottenExpression1 = Call.getCalledExpression();
@@ -491,17 +491,17 @@ TEST(ExprSyntaxTests, FunctionCallExprMakeAPIs) {
SyntaxFactory Factory(Arena);
auto Foo = Factory.makeIdentifier("foo", "", "");
auto SymbolicRef = Factory.makeSymbolicReferenceExpr(
/*GarbageNodes=*/None, Foo, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, Foo, /*UnexpectedNodes=*/None, None);
auto LeftParen = Factory.makeLeftParenToken("", "");
auto ArgList = getFullArgumentList(Arena);
auto RightParen = Factory.makeRightParenToken("", "");
{
auto Call = Factory.makeFunctionCallExpr(
/*GarbageNodes=*/None, SymbolicRef, /*GarbageNodes=*/None, LeftParen,
/*GarbageNodes=*/None, ArgList,
/*GarbageNodes=*/None, RightParen, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, SymbolicRef, /*UnexpectedNodes=*/None, LeftParen,
/*UnexpectedNodes=*/None, ArgList,
/*UnexpectedNodes=*/None, RightParen, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, None);
llvm::SmallString<64> Scratch;
llvm::raw_svector_ostream OS(Scratch);
Call.print(OS);
@@ -521,7 +521,7 @@ TEST(ExprSyntaxTests, FunctionCallExprWithAPIs) {
SyntaxFactory Factory(Arena);
auto Foo = Factory.makeIdentifier("foo", "", "");
auto SymbolicRef = Factory.makeSymbolicReferenceExpr(
/*GarbageNodes=*/None, Foo, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, Foo, /*UnexpectedNodes=*/None, None);
auto LeftParen = Factory.makeLeftParenToken("", "");
auto ArgList = getFullArgumentList(Arena);
auto RightParen = Factory.makeRightParenToken("", "");
@@ -577,14 +577,14 @@ TEST(ExprSyntaxTests, FunctionCallExprBuilderAPIs) {
auto OneDigits = Factory.makeIntegerLiteral("1", "", "");
auto TwoDigits = Factory.makeIntegerLiteral("2", "", "");
auto ThreeDigits = Factory.makeIntegerLiteral("3", "", "");
auto One = Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, OneDigits);
auto One = Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, OneDigits);
auto NoLabel = TokenSyntax::missingToken(tok::identifier, "", Arena);
auto NoColon = TokenSyntax::missingToken(tok::colon, ":", Arena);
auto Comma = Factory.makeCommaToken("", " ");
auto NoComma = TokenSyntax::missingToken(tok::comma, ",", Arena);
auto Foo = Factory.makeIdentifier("foo", "", "");
auto SymbolicRef = Factory.makeSymbolicReferenceExpr(
/*GarbageNodes=*/None, Foo, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, Foo, /*UnexpectedNodes=*/None, None);
{
llvm::SmallString<64> Scratch;
@@ -595,8 +595,8 @@ TEST(ExprSyntaxTests, FunctionCallExprBuilderAPIs) {
}
auto OneArg = Factory.makeTupleExprElement(
/*GarbageNodes=*/None, NoLabel, /*GarbageNodes=*/None, NoColon,
/*GarbageNodes=*/None, One, /*GarbageNodes=*/None, Comma);
/*UnexpectedNodes=*/None, NoLabel, /*UnexpectedNodes=*/None, NoColon,
/*UnexpectedNodes=*/None, One, /*UnexpectedNodes=*/None, Comma);
{
llvm::SmallString<64> Scratch;
llvm::raw_svector_ostream OS(Scratch);

View File

@@ -47,7 +47,7 @@ TEST(StmtSyntaxTests, FallthroughStmtMakeAPIs) {
llvm::SmallString<48> Scratch;
llvm::raw_svector_ostream OS(Scratch);
Factory.makeFallthroughStmt(/*GarbageNodes=*/None, FallthroughKW).print(OS);
Factory.makeFallthroughStmt(/*UnexpectedNodes=*/None, FallthroughKW).print(OS);
ASSERT_EQ(OS.str().str(), "fallthrough");
}
@@ -57,7 +57,7 @@ TEST(StmtSyntaxTests, FallthroughStmtMakeAPIs) {
auto NewFallthroughKW = FallthroughKW.withLeadingTrivia(" ");
Factory.makeFallthroughStmt(/*GarbageNodes=*/None, NewFallthroughKW)
Factory.makeFallthroughStmt(/*UnexpectedNodes=*/None, NewFallthroughKW)
.print(OS);
ASSERT_EQ(OS.str().str(), " fallthrough");
}
@@ -69,7 +69,7 @@ TEST(StmtSyntaxTests, FallthroughStmtMakeAPIs) {
auto NewFallthroughKW =
FallthroughKW.withLeadingTrivia(" ").withTrailingTrivia(" ");
Factory.makeFallthroughStmt(/*GarbageNodes=*/None, NewFallthroughKW)
Factory.makeFallthroughStmt(/*UnexpectedNodes=*/None, NewFallthroughKW)
.print(OS);
ASSERT_EQ(OS.str().str(), " fallthrough ");
}
@@ -90,8 +90,8 @@ TEST(StmtSyntaxTests, BreakStmtGetAPIs) {
SyntaxFactory Factory(Arena);
auto BreakKW = Factory.makeBreakKeyword("", " ");
auto Label = Factory.makeIdentifier("sometimesYouNeedTo", "", "");
auto Break = Factory.makeBreakStmt(/*GarbageNodes=*/None, BreakKW,
/*GarbageNodes=*/None, Label);
auto Break = Factory.makeBreakStmt(/*UnexpectedNodes=*/None, BreakKW,
/*UnexpectedNodes=*/None, Label);
/// These should be directly shared through reference-counting.
ASSERT_EQ(BreakKW.getRaw(), Break.getBreakKeyword().getRaw());
@@ -143,8 +143,8 @@ TEST(StmtSyntaxTests, BreakStmtMakeAPIs) {
llvm::raw_svector_ostream OS(Scratch);
auto BreakKW = Factory.makeBreakKeyword("", " ");
auto Label = Factory.makeIdentifier("theBuild", "", "");
auto Break = Factory.makeBreakStmt(/*GarbageNodes=*/None, BreakKW,
/*GarbageNodes=*/None, Label);
auto Break = Factory.makeBreakStmt(/*UnexpectedNodes=*/None, BreakKW,
/*UnexpectedNodes=*/None, Label);
Break.print(OS);
ASSERT_EQ(OS.str().str(), "break theBuild"); // don't you dare
}
@@ -163,8 +163,8 @@ TEST(StmtSyntaxTests, ContinueStmtGetAPIs) {
SyntaxFactory Factory(Arena);
auto ContinueKW = Factory.makeContinueKeyword("", " ");
auto Label = Factory.makeIdentifier("always", "", "");
auto Continue = Factory.makeContinueStmt(/*GarbageNodes=*/None, ContinueKW,
/*GarbageNodes=*/None, Label);
auto Continue = Factory.makeContinueStmt(/*UnexpectedNodes=*/None, ContinueKW,
/*UnexpectedNodes=*/None, Label);
/// These should be directly shared through reference-counting.
ASSERT_EQ(ContinueKW.getRaw(), Continue.getContinueKeyword().getRaw());
@@ -215,8 +215,8 @@ TEST(StmtSyntaxTests, ContinueStmtMakeAPIs) {
llvm::raw_svector_ostream OS(Scratch);
auto ContinueKW = Factory.makeContinueKeyword("", " ");
auto Label = Factory.makeIdentifier("toLead", "", "");
auto Continue = Factory.makeContinueStmt(/*GarbageNodes=*/None, ContinueKW,
/*GarbageNodes=*/None, Label);
auto Continue = Factory.makeContinueStmt(/*UnexpectedNodes=*/None, ContinueKW,
/*UnexpectedNodes=*/None, Label);
Continue.print(OS);
ASSERT_EQ(OS.str().str(), "continue toLead"); // by example
}
@@ -237,9 +237,9 @@ TEST(StmtSyntaxTests, ReturnStmtMakeAPIs) {
auto Minus = Factory.makePrefixOperator("-", "", "");
auto OneDigits = Factory.makeIntegerLiteral("1", "", "");
auto OneLiteral =
Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, OneDigits);
Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, OneDigits);
auto MinusOne = Factory.makePrefixOperatorExpr(
/*GarbageNodes=*/None, Minus, /*GarbageNodes=*/None, OneLiteral);
/*UnexpectedNodes=*/None, Minus, /*UnexpectedNodes=*/None, OneLiteral);
{
llvm::SmallString<48> Scratch;
@@ -252,7 +252,7 @@ TEST(StmtSyntaxTests, ReturnStmtMakeAPIs) {
llvm::SmallString<48> Scratch;
llvm::raw_svector_ostream OS(Scratch);
Factory
.makeReturnStmt(/*GarbageNodes=*/None, ReturnKW, /*GarbageNodes=*/None,
.makeReturnStmt(/*UnexpectedNodes=*/None, ReturnKW, /*UnexpectedNodes=*/None,
MinusOne)
.print(OS);
ASSERT_EQ(OS.str().str(), "return -1");
@@ -266,11 +266,11 @@ TEST(StmtSyntaxTests, ReturnStmtGetAPIs) {
auto Minus = Factory.makePrefixOperator("-", "", "");
auto OneDigits = Factory.makeIntegerLiteral("1", "", "");
auto OneLiteral =
Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, OneDigits);
Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, OneDigits);
auto MinusOne = Factory.makePrefixOperatorExpr(
/*GarbageNodes=*/None, Minus, /*GarbageNodes=*/None, OneLiteral);
auto Return = Factory.makeReturnStmt(/*GarbageNodes=*/None, ReturnKW,
/*GarbageNodes=*/None, MinusOne);
/*UnexpectedNodes=*/None, Minus, /*UnexpectedNodes=*/None, OneLiteral);
auto Return = Factory.makeReturnStmt(/*UnexpectedNodes=*/None, ReturnKW,
/*UnexpectedNodes=*/None, MinusOne);
ASSERT_EQ(ReturnKW.getRaw(), Return.getReturnKeyword().getRaw());
auto GottenExpression = Return.getExpression().getValue();
@@ -285,9 +285,9 @@ TEST(StmtSyntaxTests, ReturnStmtWithAPIs) {
auto Minus = Factory.makePrefixOperator("-", "", "");
auto OneDigits = Factory.makeIntegerLiteral("1", "", "");
auto OneLiteral =
Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, OneDigits);
Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, OneDigits);
auto MinusOne = Factory.makePrefixOperatorExpr(
/*GarbageNodes=*/None, Minus, /*GarbageNodes=*/None, OneLiteral);
/*UnexpectedNodes=*/None, Minus, /*UnexpectedNodes=*/None, OneLiteral);
{
llvm::SmallString<48> Scratch;

View File

@@ -14,12 +14,12 @@ TupleExprElementSyntax getCannedArgument(const RC<SyntaxArena> &Arena) {
auto Foo = Factory.makeIdentifier("foo", "", "");
auto Colon = Factory.makeColonToken("", " ");
auto SymbolicRef = Factory.makeSymbolicReferenceExpr(
/*GarbageNodes=*/None, Foo, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, Foo, /*UnexpectedNodes=*/None, None);
auto Comma = Factory.makeCommaToken("", " ");
return Factory.makeTupleExprElement(
/*GarbageNodes=*/None, X, /*GarbageNodes=*/None, Colon,
/*GarbageNodes=*/None, SymbolicRef, /*GarbageNodes=*/None, Comma);
/*UnexpectedNodes=*/None, X, /*UnexpectedNodes=*/None, Colon,
/*UnexpectedNodes=*/None, SymbolicRef, /*UnexpectedNodes=*/None, Comma);
}
TEST(SyntaxCollectionTests, empty) {

View File

@@ -52,7 +52,7 @@ TEST(TriviaTests, Empty) {
ASSERT_DEATH({
llvm::SmallString<1> Scratch;
llvm::raw_svector_ostream OS(Scratch);
Trivia::garbageText("").print(OS);
Trivia::unexpectedText("").print(OS);
ASSERT_EQ(OS.str().str(), "");
}, "");
#endif
@@ -163,7 +163,7 @@ TEST(TriviaTests, Contains) {
ASSERT_FALSE(Trivia().contains(TriviaKind::DocBlockComment));
ASSERT_FALSE(Trivia().contains(TriviaKind::DocLineComment));
ASSERT_FALSE(Trivia().contains(TriviaKind::Formfeed));
ASSERT_FALSE(Trivia().contains(TriviaKind::GarbageText));
ASSERT_FALSE(Trivia().contains(TriviaKind::UnexpectedText));
ASSERT_FALSE(Trivia().contains(TriviaKind::LineComment));
ASSERT_FALSE(Trivia().contains(TriviaKind::Newline));
ASSERT_FALSE(Trivia().contains(TriviaKind::Space));

View File

@@ -101,11 +101,11 @@ TEST(TypeSyntaxTests, TypeAttributeMakeAPIs) {
llvm::raw_svector_ostream OS { Scratch };
auto cID = Factory.makeIdentifier("c", "", "");
Factory
.makeAttribute(/*GarbageNodes=*/None, At, /*GarbageNodes=*/None,
conventionID, /*GarbageNodes=*/None, LeftParen,
/*GarbageNodes=*/None, cID, /*GarbageNodes=*/None,
.makeAttribute(/*UnexpectedNodes=*/None, At, /*UnexpectedNodes=*/None,
conventionID, /*UnexpectedNodes=*/None, LeftParen,
/*UnexpectedNodes=*/None, cID, /*UnexpectedNodes=*/None,
RightParen,
/*GarbageNodes=*/None, None)
/*UnexpectedNodes=*/None, None)
.print(OS);
ASSERT_EQ(OS.str().str(), "@convention(c)");
}
@@ -115,11 +115,11 @@ TEST(TypeSyntaxTests, TypeAttributeMakeAPIs) {
llvm::raw_svector_ostream OS { Scratch };
auto swiftID = Factory.makeIdentifier("swift", "", "");
Factory
.makeAttribute(/*GarbageNodes=*/None, At, /*GarbageNodes=*/None,
conventionID, /*GarbageNodes=*/None, LeftParen,
/*GarbageNodes=*/None, swiftID, /*GarbageNodes=*/None,
.makeAttribute(/*UnexpectedNodes=*/None, At, /*UnexpectedNodes=*/None,
conventionID, /*UnexpectedNodes=*/None, LeftParen,
/*UnexpectedNodes=*/None, swiftID, /*UnexpectedNodes=*/None,
RightParen,
/*GarbageNodes=*/None, None)
/*UnexpectedNodes=*/None, None)
.print(OS);
ASSERT_EQ(OS.str().str(), "@convention(swift)");
}
@@ -129,11 +129,11 @@ TEST(TypeSyntaxTests, TypeAttributeMakeAPIs) {
llvm::raw_svector_ostream OS { Scratch };
auto blockID = Factory.makeIdentifier("block", "", "");
Factory
.makeAttribute(/*GarbageNodes=*/None, At, /*GarbageNodes=*/None,
conventionID, /*GarbageNodes=*/None, LeftParen,
/*GarbageNodes=*/None, blockID, /*GarbageNodes=*/None,
.makeAttribute(/*UnexpectedNodes=*/None, At, /*UnexpectedNodes=*/None,
conventionID, /*UnexpectedNodes=*/None, LeftParen,
/*UnexpectedNodes=*/None, blockID, /*UnexpectedNodes=*/None,
RightParen,
/*GarbageNodes=*/None, None)
/*UnexpectedNodes=*/None, None)
.print(OS);
ASSERT_EQ(OS.str().str(), "@convention(block)");
}
@@ -214,12 +214,12 @@ TEST(TypeSyntaxTests, TupleBuilderAPIs) {
auto NoComma = TokenSyntax::missingToken(tok::comma, ",", Arena);
auto IntId = Factory.makeIdentifier("Int", "", "");
auto IntType = Factory.makeSimpleTypeIdentifier(
/*GarbageNodes=*/None, IntId, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, IntId, /*UnexpectedNodes=*/None, None);
auto Int = Factory.makeTupleTypeElement(IntType, NoComma);
auto IntWithComma = Factory.makeTupleTypeElement(IntType, Comma);
auto StringId = Factory.makeIdentifier("String", "", "");
auto StringType = Factory.makeSimpleTypeIdentifier(
/*GarbageNodes=*/None, StringId, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, StringId, /*UnexpectedNodes=*/None, None);
auto String = Factory.makeTupleTypeElement(StringType, Comma);
Builder.addElement(IntWithComma);
Builder.addElement(String);
@@ -284,9 +284,9 @@ TEST(TypeSyntaxTests, TupleMakeAPIs) {
Factory.makeTupleTypeElement(Int, None)});
auto RightParen = Factory.makeRightParenToken("", "");
auto TupleType =
Factory.makeTupleType(/*GarbageNodes=*/None, LeftParen,
/*GarbageNodes=*/None, TupleElementList,
/*GarbageNodes=*/None, RightParen);
Factory.makeTupleType(/*UnexpectedNodes=*/None, LeftParen,
/*UnexpectedNodes=*/None, TupleElementList,
/*UnexpectedNodes=*/None, RightParen);
TupleType.print(OS);
ASSERT_EQ(OS.str().str(),
"(Int, Bool, Int, Bool, Int)");
@@ -322,7 +322,7 @@ TEST(TypeSyntaxTests, OptionalTypeMakeAPIs) {
auto Int = Factory.makeTypeIdentifier("Int", "", "");
auto Question = Factory.makePostfixQuestionMarkToken("", "");
auto OptionalInt = Factory.makeOptionalType(
/*GarbageNodes=*/None, Int, /*GarbageNodes=*/None, Question);
/*UnexpectedNodes=*/None, Int, /*UnexpectedNodes=*/None, Question);
OptionalInt.print(OS);
ASSERT_EQ(OS.str(), "Int?");
}
@@ -352,7 +352,7 @@ TEST(TypeSyntaxTests, ImplicitlyUnwrappedOptionalTypeMakeAPIs) {
auto Int = Factory.makeTypeIdentifier("Int", "", "");
auto Bang = Factory.makeExclamationMarkToken("", "");
auto IntBang = Factory.makeImplicitlyUnwrappedOptionalType(
/*GarbageNodes=*/None, Int, /*GarbageNodes=*/None, Bang);
/*UnexpectedNodes=*/None, Int, /*UnexpectedNodes=*/None, Bang);
IntBang.print(OS);
ASSERT_EQ(OS.str(), "Int!");
}
@@ -383,8 +383,8 @@ TEST(TypeSyntaxTests, MetatypeTypeMakeAPIs) {
auto Dot = Factory.makePeriodToken("", "");
auto Type = Factory.makeTypeToken("", "");
Factory
.makeMetatypeType(/*GarbageNodes=*/None, Int, /*GarbageNodes=*/None,
Dot, /*GarbageNodes=*/None, Type)
.makeMetatypeType(/*UnexpectedNodes=*/None, Int, /*UnexpectedNodes=*/None,
Dot, /*UnexpectedNodes=*/None, Type)
.print(OS);
ASSERT_EQ(OS.str(), "T.Type");
}
@@ -459,8 +459,8 @@ TEST(TypeSyntaxTests, ArrayTypeMakeAPIs) {
auto RightSquare = Factory.makeRightSquareBracketToken("", "");
auto Void = Factory.makeVoidTupleType();
Factory
.makeArrayType(/*GarbageNodes=*/None, LeftSquare, /*GarbageNodes=*/None,
Void, /*GarbageNodes=*/None, RightSquare)
.makeArrayType(/*UnexpectedNodes=*/None, LeftSquare, /*UnexpectedNodes=*/None,
Void, /*UnexpectedNodes=*/None, RightSquare)
.print(OS);
ASSERT_EQ(OS.str(), "[()]");
}
@@ -502,10 +502,10 @@ TEST(TypeSyntaxTests, DictionaryTypeMakeAPIs) {
auto Value = Factory.makeTypeIdentifier("Int", "", "");
auto Colon = Factory.makeColonToken("", " ");
Factory
.makeDictionaryType(/*GarbageNodes=*/None, LeftSquare,
/*GarbageNodes=*/None, Key, /*GarbageNodes=*/None,
Colon, /*GarbageNodes=*/None, Value,
/*GarbageNodes=*/None, RightSquare)
.makeDictionaryType(/*UnexpectedNodes=*/None, LeftSquare,
/*UnexpectedNodes=*/None, Key, /*UnexpectedNodes=*/None,
Colon, /*UnexpectedNodes=*/None, Value,
/*UnexpectedNodes=*/None, RightSquare)
.print(OS);
ASSERT_EQ(OS.str(), "[String : Int]");
}
@@ -544,10 +544,10 @@ TEST(TypeSyntaxTests, FunctionTypeMakeAPIs) {
auto TypeList = Factory.makeTupleTypeElementList({xArg, yArg});
Factory
.makeFunctionType(
/*GarbageNodes=*/None, LeftParen, /*GarbageNodes=*/None, TypeList,
/*GarbageNodes=*/None, RightParen, /*GarbageNodes=*/None, Async,
/*GarbageNodes=*/None, Throws, /*GarbageNodes=*/None, Arrow,
/*GarbageNodes=*/None, Int)
/*UnexpectedNodes=*/None, LeftParen, /*UnexpectedNodes=*/None, TypeList,
/*UnexpectedNodes=*/None, RightParen, /*UnexpectedNodes=*/None, Async,
/*UnexpectedNodes=*/None, Throws, /*UnexpectedNodes=*/None, Arrow,
/*UnexpectedNodes=*/None, Int)
.print(OS);
ASSERT_EQ(OS.str().str(), "(x: Int, y: Int) async throws -> Int");
}
@@ -571,10 +571,10 @@ TEST(TypeSyntaxTests, FunctionTypeMakeAPIs) {
auto TypeList = Factory.makeTupleTypeElementList({xArg, yArg});
Factory
.makeFunctionType(
/*GarbageNodes=*/None, LeftParen, /*GarbageNodes=*/None, TypeList,
/*GarbageNodes=*/None, RightParen, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, Throws, /*GarbageNodes=*/None, Arrow,
/*GarbageNodes=*/None, Int)
/*UnexpectedNodes=*/None, LeftParen, /*UnexpectedNodes=*/None, TypeList,
/*UnexpectedNodes=*/None, RightParen, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, Throws, /*UnexpectedNodes=*/None, Arrow,
/*UnexpectedNodes=*/None, Int)
.print(OS);
ASSERT_EQ(OS.str().str(), "(x: Int, y: Int) throws -> Int");
}
@@ -585,10 +585,10 @@ TEST(TypeSyntaxTests, FunctionTypeMakeAPIs) {
{IntArg.withTrailingComma(Comma), IntArg});
Factory
.makeFunctionType(
/*GarbageNodes=*/None, LeftParen, /*GarbageNodes=*/None, TypeList,
/*GarbageNodes=*/None, RightParen, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, Rethrows,
/*GarbageNodes=*/None, Arrow, /*GarbageNodes=*/None, Int)
/*UnexpectedNodes=*/None, LeftParen, /*UnexpectedNodes=*/None, TypeList,
/*UnexpectedNodes=*/None, RightParen, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, Rethrows,
/*UnexpectedNodes=*/None, Arrow, /*UnexpectedNodes=*/None, Int)
.print(OS);
ASSERT_EQ(OS.str().str(), "(Int, Int) rethrows -> Int");
}
@@ -601,10 +601,10 @@ TEST(TypeSyntaxTests, FunctionTypeMakeAPIs) {
auto ThrowsTok = TokenSyntax::missingToken(tok::kw_throws, "throws", Arena);
Factory
.makeFunctionType(
/*GarbageNodes=*/None, LeftParen, /*GarbageNodes=*/None, TypeList,
/*GarbageNodes=*/None, RightParen, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, ThrowsTok, /*GarbageNodes=*/None, Arrow,
/*GarbageNodes=*/None, Void)
/*UnexpectedNodes=*/None, LeftParen, /*UnexpectedNodes=*/None, TypeList,
/*UnexpectedNodes=*/None, RightParen, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, ThrowsTok, /*UnexpectedNodes=*/None, Arrow,
/*UnexpectedNodes=*/None, Void)
.print(OS);
ASSERT_EQ(OS.str().str(), "() -> ()");
}
@@ -618,10 +618,10 @@ TEST(TypeSyntaxTests, FunctionTypeWithAPIs) {
auto RightParen = Factory.makeRightParenToken("", " ");
auto Int = Factory.makeTypeIdentifier("Int", "", "");
auto IntArg = Factory.makeTupleTypeElement(
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, Int, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, Int, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, None);
auto Throws = Factory.makeThrowsKeyword("", " ");
auto Rethrows = Factory.makeRethrowsKeyword("", " ");
auto Arrow = Factory.makeArrowToken("", " ");
@@ -633,15 +633,15 @@ TEST(TypeSyntaxTests, FunctionTypeWithAPIs) {
auto y = Factory.makeIdentifier("y", "", "");
auto Colon = Factory.makeColonToken("", " ");
auto xArg = Factory.makeTupleTypeElement(
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, x,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, Colon,
/*GarbageNodes=*/None, Int, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, Comma);
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, x,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, Colon,
/*UnexpectedNodes=*/None, Int, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, Comma);
auto yArg = Factory.makeTupleTypeElement(
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, y,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, Colon,
/*GarbageNodes=*/None, Int, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, y,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, Colon,
/*UnexpectedNodes=*/None, Int, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, None);
Factory.makeBlankFunctionType()
.withLeftParen(LeftParen)
@@ -705,15 +705,15 @@ TEST(TypeSyntaxTests, FunctionTypeBuilderAPIs) {
auto y = Factory.makeIdentifier("y", "", "");
auto Colon = Factory.makeColonToken("", " ");
auto xArg = Factory.makeTupleTypeElement(
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, x,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, Colon,
/*GarbageNodes=*/None, Int, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, Comma);
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, x,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, Colon,
/*UnexpectedNodes=*/None, Int, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, Comma);
auto yArg = Factory.makeTupleTypeElement(
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, y,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, Colon,
/*GarbageNodes=*/None, Int, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, y,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, Colon,
/*UnexpectedNodes=*/None, Int, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, None);
Builder.useLeftParen(LeftParen)
.useRightParen(RightParen)
@@ -732,11 +732,11 @@ TEST(TypeSyntaxTests, FunctionTypeBuilderAPIs) {
llvm::raw_svector_ostream OS(Scratch);
FunctionTypeSyntaxBuilder Builder(Arena);
auto IntArg = Factory.makeTupleTypeElement(
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, Int,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, Int,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, None);
Builder.useLeftParen(LeftParen)
.useRightParen(RightParen)
.addArgument(IntArg.withTrailingComma(Comma))

View File

@@ -15,17 +15,17 @@ SymbolicReferenceExprSyntax getCannedSymbolicRef(const RC<SyntaxArena> &Arena) {
// First, make a symbolic reference to an 'Array<Int>'
auto Array = Factory.makeIdentifier("Array", {}, {});
auto Int = Factory.makeIdentifier("Int", {}, {});
auto IntType = Factory.makeSimpleTypeIdentifier(/*GarbageNodes=*/None, Int,
/*GarbageNodes=*/None, None);
auto IntArg = Factory.makeGenericArgument(/*GarbageNodes=*/None, IntType,
/*GarbageNodes=*/None, None);
auto IntType = Factory.makeSimpleTypeIdentifier(/*UnexpectedNodes=*/None, Int,
/*UnexpectedNodes=*/None, None);
auto IntArg = Factory.makeGenericArgument(/*UnexpectedNodes=*/None, IntType,
/*UnexpectedNodes=*/None, None);
GenericArgumentClauseSyntaxBuilder ArgBuilder(Arena);
ArgBuilder.useLeftAngleBracket(Factory.makeLeftAngleToken({}, {}))
.useRightAngleBracket(Factory.makeRightAngleToken({}, {}))
.addArgument(IntArg);
return Factory.makeSymbolicReferenceExpr(
/*GarbageNodes=*/None, Array, /*GarbageNodes=*/None, ArgBuilder.build());
/*UnexpectedNodes=*/None, Array, /*UnexpectedNodes=*/None, ArgBuilder.build());
}
FunctionCallExprSyntax getCannedFunctionCall(const RC<SyntaxArena> &Arena) {
@@ -38,21 +38,21 @@ FunctionCallExprSyntax getCannedFunctionCall(const RC<SyntaxArena> &Arena) {
auto OneDigits = Factory.makeIntegerLiteral("1", {}, {});
auto NoSign = TokenSyntax::missingToken(tok::oper_prefix, "", Arena);
auto OneLiteral =
Factory.makeIntegerLiteralExpr(/*GarbageNodes=*/None, OneDigits);
auto One = Factory.makePrefixOperatorExpr(/*GarbageNodes=*/None, NoSign,
/*GarbageNodes=*/None, OneLiteral);
Factory.makeIntegerLiteralExpr(/*UnexpectedNodes=*/None, OneDigits);
auto One = Factory.makePrefixOperatorExpr(/*UnexpectedNodes=*/None, NoSign,
/*UnexpectedNodes=*/None, OneLiteral);
auto NoComma = TokenSyntax::missingToken(tok::comma, ",", Arena);
auto Arg = Factory.makeTupleExprElement(
/*GarbageNodes=*/None, Label, /*GarbageNodes=*/None, Colon,
/*GarbageNodes=*/None, One, /*GarbageNodes=*/None, NoComma);
/*UnexpectedNodes=*/None, Label, /*UnexpectedNodes=*/None, Colon,
/*UnexpectedNodes=*/None, One, /*UnexpectedNodes=*/None, NoComma);
auto Args = Factory.makeTupleExprElementList({Arg});
return Factory.makeFunctionCallExpr(
/*GarbageNodes=*/None, getCannedSymbolicRef(Arena), /*GarbageNodes=*/None,
LParen, /*GarbageNodes=*/None, Args,
/*GarbageNodes=*/None, RParen, /*GarbageNodes=*/None, None,
/*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, getCannedSymbolicRef(Arena), /*UnexpectedNodes=*/None,
LParen, /*UnexpectedNodes=*/None, Args,
/*UnexpectedNodes=*/None, RParen, /*UnexpectedNodes=*/None, None,
/*UnexpectedNodes=*/None, None);
}
TEST(UnknownSyntaxTests, UnknownSyntaxMakeAPIs) {
@@ -157,9 +157,9 @@ TEST(UnknownSyntaxTests, EmbedUnknownExpr) {
SmallString<48> KnownScratch;
llvm::raw_svector_ostream KnownOS(KnownScratch);
auto CallWithKnownExpr = Factory.makeFunctionCallExpr(
/*GarbageNodes=*/None, SymbolicRef, /*GarbageNodes=*/None, LParen,
/*GarbageNodes=*/None, EmptyArgs, /*GarbageNodes=*/None, RParen,
/*GarbageNodes=*/None, None, /*GarbageNodes=*/None, None);
/*UnexpectedNodes=*/None, SymbolicRef, /*UnexpectedNodes=*/None, LParen,
/*UnexpectedNodes=*/None, EmptyArgs, /*UnexpectedNodes=*/None, RParen,
/*UnexpectedNodes=*/None, None, /*UnexpectedNodes=*/None, None);
CallWithKnownExpr.print(KnownOS);
// Let's make a function call expression where the called expression is

View File

@@ -84,5 +84,5 @@ class Child(object):
return self.token_choices[0]
return None
def is_garbage_nodes(self):
return self.syntax_kind == 'GarbageNodes'
def is_unexpected_nodes(self):
return self.syntax_kind == 'UnexpectedNodes'

View File

@@ -63,7 +63,7 @@ COMMON_NODES = [
requires_leading_newline=True),
]),
Node('GarbageNodes', kind='SyntaxCollection', element='Syntax',
Node('UnexpectedNodes', kind='SyntaxCollection', element='Syntax',
description='''
A collection of syntax nodes that occurred in the source code but
could not be used to form a valid syntax tree.

View File

@@ -24,27 +24,27 @@ class Node(object):
self.traits = traits or []
self.children = []
# Add implicitly generated GarbageNodes children in between any two
# Add implicitly generated UnexpectedNodes children in between any two
# defined children
if kind != 'SyntaxCollection':
for i in range(2 * len(children)):
if i % 2 == 0:
if i == 0:
name = 'GarbageBefore' + children[0].name
name = 'UnexpectedBefore' + children[0].name
else:
name = 'GarbageBetween%sAnd%s' % \
name = 'UnexpectedBetween%sAnd%s' % \
(children[int(i / 2) - 1].name, children[int(i / 2)].name)
self.children.append(Child(
name,
kind='GarbageNodes',
kind='UnexpectedNodes',
collection_element_name=name,
is_optional=True
))
else:
self.children.append(children[int((i - 1) / 2)])
self.non_garbage_children = \
[child for child in children if not child.is_garbage_nodes()]
self.non_unexpected_children = \
[child for child in children if not child.is_unexpected_nodes()]
self.base_kind = kind
if self.base_kind == 'SyntaxCollection':

View File

@@ -267,7 +267,7 @@ SYNTAX_NODE_SERIALIZATION_CODES = {
'MissingStmt': 263,
'MissingType': 264,
'MissingPattern': 265,
'GarbageNodes' : 266,
'UnexpectedNodes' : 266,
'LabeledStmt': 267,
'InfixOperatorExpr': 268,
'MoveExpr': 269,

View File

@@ -58,7 +58,8 @@ TRIVIAS = [
'A documentation block comment, starting with \'/**\' and ending '
'with \'*/\'.',
is_comment=True, serialization_code=11),
Trivia('GarbageText', 'Any skipped garbage text.', serialization_code=12),
Trivia('UnexpectedText', 'Any skipped unexpected text.',
serialization_code=12),
Trivia('Shebang', 'A script command, starting with \'#!\'.',
serialization_code=13),
]