File tree Expand file tree Collapse file tree 3 files changed +17
-12
lines changed Expand file tree Collapse file tree 3 files changed +17
-12
lines changed Original file line number Diff line number Diff line change @@ -56,6 +56,9 @@ struct SyntaxFactory {
56
56
57
57
static SyntaxKind getUnknownKind (SyntaxKind Kind);
58
58
59
+ static Syntax
60
+ makeBlankCollectionSyntax (SyntaxKind Kind);
61
+
59
62
% for node in SYNTAX_NODES:
60
63
% if node.children:
61
64
% child_params = []
Original file line number Diff line number Diff line change @@ -57,6 +57,18 @@ SyntaxFactory::makeUnknownSyntax(llvm::ArrayRef<TokenSyntax> Tokens) {
57
57
return make<UnknownSyntax>(Raw);
58
58
}
59
59
60
+ Syntax SyntaxFactory::makeBlankCollectionSyntax (SyntaxKind Kind) {
61
+ switch (Kind) {
62
+ % for node in SYNTAX_NODES:
63
+ % if node.is_syntax_collection ():
64
+ case SyntaxKind::${node.syntax_kind }: return makeBlank${node.syntax_kind }();
65
+ % end
66
+ % end
67
+ default : break ;
68
+ }
69
+ llvm_unreachable (" not collection kind." );
70
+ }
71
+
60
72
Optional<Syntax>
61
73
SyntaxFactory::createSyntax (SyntaxKind Kind, llvm::ArrayRef<Syntax> Elements) {
62
74
switch (Kind) {
Original file line number Diff line number Diff line change @@ -317,22 +317,12 @@ void SyntaxParsingContextChild::makeNodeWhole(SyntaxKind Kind) {
317
317
ContextData.createWhole (Kind, AllNodes);
318
318
break ;
319
319
}
320
+ case SyntaxKind::StmtList:
320
321
case SyntaxKind::FunctionCallArgumentList: {
321
322
if (AllNodes.empty ()) {
322
323
// Create an empty argument list if no arguments are in the context.
323
324
RawSyntaxInfo Empty (SyntaxFactory::
324
- makeBlankFunctionCallArgumentList ().getRaw ());
325
- Empty.setBeforeLoc (EndLoc);
326
- ContextData.addPendingSyntax (Empty);
327
- } else {
328
- ContextData.createWhole (Kind, AllNodes);
329
- }
330
- break ;
331
- }
332
- case SyntaxKind::StmtList: {
333
- if (AllNodes.empty ()) {
334
- // Create an empty statement list if no statement is in the context.
335
- RawSyntaxInfo Empty (SyntaxFactory::makeBlankStmtList ().getRaw ());
325
+ makeBlankCollectionSyntax (Kind).getRaw ());
336
326
Empty.setBeforeLoc (EndLoc);
337
327
ContextData.addPendingSyntax (Empty);
338
328
} else {
You can’t perform that action at this time.
0 commit comments