mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Revert "Merge pull request #27565 from rintaro/syntaxparse-exprcollection"
This reverts commit1724f5b704, reversing changes made tobc1a3eaaa5.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user