summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ASTDumper.cpp
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2019-01-29 22:22:55 +0000
committerStephen Kelly <steveire@gmail.com>2019-01-29 22:22:55 +0000
commitfbf40f4500c6233bcb502740c99911b416ea7955 (patch)
treeea4087ea42ca1d98fc4da4c0db4f7301f64a1e23 /clang/lib/AST/ASTDumper.cpp
parent2a193e0d12b5fd52366d7c2b42fb3d37af27bb74 (diff)
downloadbcm5719-llvm-fbf40f4500c6233bcb502740c99911b416ea7955.tar.gz
bcm5719-llvm-fbf40f4500c6233bcb502740c99911b416ea7955.zip
NFC: Implement GenericSelectionExpr::Association dump with Visitor
Reviewers: aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D56960 llvm-svn: 352552
Diffstat (limited to 'clang/lib/AST/ASTDumper.cpp')
-rw-r--r--clang/lib/AST/ASTDumper.cpp26
1 files changed, 11 insertions, 15 deletions
diff --git a/clang/lib/AST/ASTDumper.cpp b/clang/lib/AST/ASTDumper.cpp
index 5c99dab356f..03da41143fa 100644
--- a/clang/lib/AST/ASTDumper.cpp
+++ b/clang/lib/AST/ASTDumper.cpp
@@ -297,6 +297,7 @@ namespace {
void VisitInitListExpr(const InitListExpr *ILE);
void VisitBlockExpr(const BlockExpr *Node);
void VisitOpaqueValueExpr(const OpaqueValueExpr *Node);
+ void Visit(const GenericSelectionExpr::ConstAssociation &A);
void VisitGenericSelectionExpr(const GenericSelectionExpr *E);
// C++
@@ -1456,6 +1457,15 @@ void ASTDumper::VisitOpaqueValueExpr(const OpaqueValueExpr *Node) {
dumpStmt(Source);
}
+void ASTDumper::Visit(const GenericSelectionExpr::ConstAssociation &A) {
+ dumpChild([=] {
+ NodeDumper.Visit(A);
+ if (const TypeSourceInfo *TSI = A.getTypeSourceInfo())
+ dumpTypeAsChild(TSI->getType());
+ dumpStmt(A.getAssociationExpr());
+ });
+}
+
void ASTDumper::VisitGenericSelectionExpr(const GenericSelectionExpr *E) {
if (E->isResultDependent())
OS << " result_dependent";
@@ -1463,21 +1473,7 @@ void ASTDumper::VisitGenericSelectionExpr(const GenericSelectionExpr *E) {
dumpTypeAsChild(E->getControllingExpr()->getType()); // FIXME: remove
for (const auto &Assoc : E->associations()) {
- dumpChild([=] {
- if (const TypeSourceInfo *TSI = Assoc.getTypeSourceInfo()) {
- OS << "case ";
- NodeDumper.dumpType(TSI->getType());
- } else {
- OS << "default";
- }
-
- if (Assoc.isSelected())
- OS << " selected";
-
- if (const TypeSourceInfo *TSI = Assoc.getTypeSourceInfo())
- dumpTypeAsChild(TSI->getType());
- dumpStmt(Assoc.getAssociationExpr());
- });
+ Visit(Assoc);
}
}
OpenPOWER on IntegriCloud