Skip to content

Commit 79e224c

Browse files
rintaronkcsgexi
authored andcommitted
[Syntax] Use SyntaxKind APIs for getUnknownKind() (#13429)
1 parent 101ab74 commit 79e224c

File tree

5 files changed

+17
-29
lines changed

5 files changed

+17
-29
lines changed

include/swift/Syntax/SyntaxFactory.h.gyb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@ struct SyntaxFactory {
5959
/// between these two numbers is the number of optional children.
6060
static std::pair<unsigned, unsigned> countChildren(SyntaxKind Kind);
6161

62-
static SyntaxKind getUnknownKind(SyntaxKind Kind);
63-
6462
static Syntax
6563
makeBlankCollectionSyntax(SyntaxKind Kind);
6664

include/swift/Syntax/SyntaxKind.h.gyb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ bool isPatternKind(SyntaxKind Kind);
6363
bool isTokenKind(SyntaxKind Kind);
6464

6565
bool isUnknownKind(SyntaxKind Kind);
66+
67+
SyntaxKind getUnknownKind(SyntaxKind Kind);
6668
} // end namespace syntax
6769

6870
namespace json {

lib/Syntax/SyntaxFactory.cpp.gyb

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -203,32 +203,6 @@ SyntaxFactory::createSyntax(SyntaxKind Kind, llvm::ArrayRef<Syntax> Elements) {
203203
}
204204
}
205205

206-
SyntaxKind
207-
SyntaxFactory::getUnknownKind(SyntaxKind Kind) {
208-
switch(Kind) {
209-
% for node in SYNTAX_NODES:
210-
% if node.syntax_kind.endswith('Expr'):
211-
% Result = 'SyntaxKind::UnknownExpr'
212-
% elif node.syntax_kind.endswith('Stmt'):
213-
% Result = 'SyntaxKind::UnknownStmt'
214-
% elif node.syntax_kind.endswith('Decl'):
215-
% Result = 'SyntaxKind::UnknownDecl'
216-
% elif node.syntax_kind.endswith('Token'):
217-
% Result = 'SyntaxKind::UnknownToken'
218-
% elif node.syntax_kind.endswith('Type'):
219-
% Result = 'SyntaxKind::UnknownType'
220-
% elif node.syntax_kind.endswith('Pattern'):
221-
% Result = 'SyntaxKind::UnknownPattern'
222-
% else:
223-
% Result = 'SyntaxKind::Unknown'
224-
% end
225-
case SyntaxKind::${node.syntax_kind}: return ${Result};
226-
% end
227-
default:
228-
return SyntaxKind::Unknown;
229-
}
230-
}
231-
232206
% for node in SYNTAX_NODES:
233207
% if node.children:
234208
% child_params = []

lib/Syntax/SyntaxKind.cpp.gyb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,19 @@ bool isUnknownKind(SyntaxKind Kind) {
8484
Kind == SyntaxKind::UnknownType ||
8585
Kind == SyntaxKind::UnknownPattern;
8686
}
87+
88+
SyntaxKind getUnknownKind(SyntaxKind Kind) {
89+
if (isExprKind(Kind))
90+
return SyntaxKind::UnknownExpr;
91+
if (isStmtKind(Kind))
92+
return SyntaxKind::UnknownStmt;
93+
if (isDeclKind(Kind))
94+
return SyntaxKind::UnknownDecl;
95+
if (isTypeKind(Kind))
96+
return SyntaxKind::UnknownType;
97+
if (isPatternKind(Kind))
98+
return SyntaxKind::UnknownPattern;
99+
return SyntaxKind::Unknown;
100+
}
87101
} // end namespace syntax
88102
} // end namespace swift

lib/Syntax/SyntaxParsingContext.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ static RC<RawSyntax> createSyntaxAs(SyntaxKind Kind,
4747
return Node->getRaw();
4848

4949
// Fallback to unknown syntax for the category.
50-
return makeUnknownSyntax(SyntaxFactory::getUnknownKind(Kind), Parts);
50+
return makeUnknownSyntax(getUnknownKind(Kind), Parts);
5151
}
5252

5353
} // End of anonymous namespace

0 commit comments

Comments
 (0)