[clang] 0f4cc64 - [SyntaxTree] Provide `List::classof`
Eduardo Caldas via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 14 03:35:54 PDT 2020
Author: Eduardo Caldas
Date: 2020-09-14T10:35:41Z
New Revision: 0f4cc64fd747fbb33aeccfaccb8873762d2511f2
URL: https://github.com/llvm/llvm-project/commit/0f4cc64fd747fbb33aeccfaccb8873762d2511f2
DIFF: https://github.com/llvm/llvm-project/commit/0f4cc64fd747fbb33aeccfaccb8873762d2511f2.diff
LOG: [SyntaxTree] Provide `List::classof`
Differential Revision: https://reviews.llvm.org/D87599
Added:
Modified:
clang/include/clang/Tooling/Syntax/Tree.h
clang/lib/Tooling/Syntax/Tree.cpp
Removed:
################################################################################
diff --git a/clang/include/clang/Tooling/Syntax/Tree.h b/clang/include/clang/Tooling/Syntax/Tree.h
index b49a09344c0f..5a09d4564969 100644
--- a/clang/include/clang/Tooling/Syntax/Tree.h
+++ b/clang/include/clang/Tooling/Syntax/Tree.h
@@ -213,6 +213,7 @@ class List : public Tree {
};
using Tree::Tree;
+ static bool classof(const Node *N);
/// Returns the elements and corresponding delimiters. Missing elements
/// and delimiters are represented as null pointers.
///
diff --git a/clang/lib/Tooling/Syntax/Tree.cpp b/clang/lib/Tooling/Syntax/Tree.cpp
index 2bff159696c1..1c705f6fd7cf 100644
--- a/clang/lib/Tooling/Syntax/Tree.cpp
+++ b/clang/lib/Tooling/Syntax/Tree.cpp
@@ -273,6 +273,17 @@ syntax::Node *syntax::Tree::findChild(NodeRole R) {
return nullptr;
}
+bool classof(const syntax::Node *N) {
+ switch (N->getKind()) {
+ case syntax::NodeKind::NestedNameSpecifier:
+ case syntax::NodeKind::CallArguments:
+ case syntax::NodeKind::ParameterDeclarationList:
+ return true;
+ default:
+ return false;
+ }
+}
+
std::vector<syntax::List::ElementAndDelimiter<syntax::Node>>
syntax::List::getElementsAsNodesAndDelimiters() {
if (!getFirstChild())
More information about the cfe-commits
mailing list