[PATCH] D90672: [clang] Simplify buildSyntaxTree API
Kirill Bobyrev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 3 01:25:58 PST 2020
kbobyrev created this revision.
kbobyrev added a reviewer: sammccall.
Herald added subscribers: cfe-commits, usaxena95, kadircet, arphaman.
Herald added a project: clang.
kbobyrev requested review of this revision.
Follow-up on https://reviews.llvm.org/D88553#inline-837013
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D90672
Files:
clang-tools-extra/clangd/SemanticSelection.cpp
clang/include/clang/Tooling/Syntax/BuildTree.h
clang/lib/Tooling/Syntax/BuildTree.cpp
clang/unittests/Tooling/Syntax/TreeTestBase.cpp
Index: clang/unittests/Tooling/Syntax/TreeTestBase.cpp
===================================================================
--- clang/unittests/Tooling/Syntax/TreeTestBase.cpp
+++ clang/unittests/Tooling/Syntax/TreeTestBase.cpp
@@ -81,7 +81,7 @@
Tokens = nullptr; // make sure we fail if this gets called twice.
Arena = std::make_unique<syntax::Arena>(Ctx.getSourceManager(),
Ctx.getLangOpts(), *TB);
- Root = syntax::buildSyntaxTree(*Arena, *Ctx.getTranslationUnitDecl());
+ Root = syntax::buildSyntaxTree(*Arena, Ctx);
}
private:
Index: clang/lib/Tooling/Syntax/BuildTree.cpp
===================================================================
--- clang/lib/Tooling/Syntax/BuildTree.cpp
+++ clang/lib/Tooling/Syntax/BuildTree.cpp
@@ -1712,9 +1712,9 @@
return It->second;
}
-syntax::TranslationUnit *
-syntax::buildSyntaxTree(Arena &A, const TranslationUnitDecl &TU) {
+syntax::TranslationUnit *syntax::buildSyntaxTree(Arena &A,
+ ASTContext &Context) {
TreeBuilder Builder(A);
- BuildTreeVisitor(TU.getASTContext(), Builder).TraverseAST(TU.getASTContext());
+ BuildTreeVisitor(Context, Builder).TraverseAST(Context);
return std::move(Builder).finalize();
}
Index: clang/include/clang/Tooling/Syntax/BuildTree.h
===================================================================
--- clang/include/clang/Tooling/Syntax/BuildTree.h
+++ clang/include/clang/Tooling/Syntax/BuildTree.h
@@ -19,8 +19,7 @@
namespace syntax {
/// Build a syntax tree for the main file.
-syntax::TranslationUnit *buildSyntaxTree(Arena &A,
- const clang::TranslationUnitDecl &TU);
+syntax::TranslationUnit *buildSyntaxTree(Arena &A, ASTContext &Context);
// Create syntax trees from subtrees not backed by the source code.
Index: clang-tools-extra/clangd/SemanticSelection.cpp
===================================================================
--- clang-tools-extra/clangd/SemanticSelection.cpp
+++ clang-tools-extra/clangd/SemanticSelection.cpp
@@ -160,8 +160,7 @@
// Related issue: https://github.com/clangd/clangd/issues/310
llvm::Expected<std::vector<FoldingRange>> getFoldingRanges(ParsedAST &AST) {
syntax::Arena A(AST.getSourceManager(), AST.getLangOpts(), AST.getTokens());
- const auto *SyntaxTree =
- syntax::buildSyntaxTree(A, *AST.getASTContext().getTranslationUnitDecl());
+ const auto *SyntaxTree = syntax::buildSyntaxTree(A, AST.getASTContext());
return collectFoldingRanges(SyntaxTree, AST.getSourceManager());
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90672.302507.patch
Type: text/x-patch
Size: 2615 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20201103/20cf400e/attachment-0001.bin>
More information about the cfe-commits
mailing list