[libSyntax] Handle deferred node data in SyntaxParseActions

By now ParsedRawSyntaxNode does not have any knowledge about deferred
node data anymore, which frees up SyntaxParseActions (and, in
particular its sublass SyntaxTreeCreator) to perform optimisations to
more efficiently create and record deferred nodes.
This commit is contained in:
Alex Hoppen
2021-03-09 13:40:49 +01:00
parent a5632b4836
commit efb91f70a1
15 changed files with 423 additions and 164 deletions

View File

@@ -176,9 +176,9 @@ private:
return getNodeHandler()(&node);
}
OpaqueSyntaxNode recordRawSyntax(SyntaxKind kind,
ArrayRef<OpaqueSyntaxNode> elements,
CharSourceRange range) override {
OpaqueSyntaxNode
recordRawSyntax(SyntaxKind kind,
ArrayRef<OpaqueSyntaxNode> elements) override {
CRawSyntaxNode node;
auto numValue = serialization::getNumericValue(kind);
node.kind = numValue;