Revert "Merge pull request #27565 from rintaro/syntaxparse-exprcollection"

This reverts commit 1724f5b704, reversing
changes made to bc1a3eaaa5.
This commit is contained in:
Rintaro Ishizaki
2019-10-14 12:16:31 -07:00
parent 0e8010d8b9
commit 2f40f2493b
17 changed files with 548 additions and 729 deletions

View File

@@ -21,31 +21,18 @@ ParsedRawSyntaxNode
ParsedRawSyntaxNode::makeDeferred(SyntaxKind k,
MutableArrayRef<ParsedRawSyntaxNode> deferredNodes,
SyntaxParsingContext &ctx) {
CharSourceRange range;
if (deferredNodes.empty()) {
return ParsedRawSyntaxNode(k, range, {});
return ParsedRawSyntaxNode(k, {});
}
ParsedRawSyntaxNode *newPtr =
ctx.getScratchAlloc().Allocate<ParsedRawSyntaxNode>(deferredNodes.size());
// uninitialized move;
auto ptr = newPtr;
for (auto &node : deferredNodes) {
// Cached range.
if (!node.isNull() && !node.isMissing()) {
auto nodeRange = node.getDeferredRange();
if (nodeRange.isValid()) {
if (range.isInvalid())
range = nodeRange;
else
range.widen(nodeRange);
}
}
// uninitialized move;
for (auto &node : deferredNodes)
:: new (static_cast<void *>(ptr++)) ParsedRawSyntaxNode(std::move(node));
}
return ParsedRawSyntaxNode(k, range,
makeMutableArrayRef(newPtr, deferredNodes.size()));
return ParsedRawSyntaxNode(k, makeMutableArrayRef(newPtr, deferredNodes.size()));
}
ParsedRawSyntaxNode