summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/StmtPrinter.cpp
diff options
context:
space:
mode:
authorSaar Raz <saar@raz.email>2019-10-15 15:24:26 +0000
committerSaar Raz <saar@raz.email>2019-10-15 15:24:26 +0000
commit5d98ba6077dac656fbf023e9312d9c131d53144c (patch)
tree99153ade097830f469e5ff0a04fc37daeff3819a /clang/lib/AST/StmtPrinter.cpp
parentd545c9056e00988d2d146f8f1440b2dd192f306b (diff)
downloadbcm5719-llvm-5d98ba6077dac656fbf023e9312d9c131d53144c.tar.gz
bcm5719-llvm-5d98ba6077dac656fbf023e9312d9c131d53144c.zip
[Concepts] Concept Specialization Expressions
Part of C++20 Concepts implementation effort. Added Concept Specialization Expressions that are created when a concept is refe$ D41217 on Phabricator. (recommit after fixing failing Parser test on windows) llvm-svn: 374903
Diffstat (limited to 'clang/lib/AST/StmtPrinter.cpp')
-rw-r--r--clang/lib/AST/StmtPrinter.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/AST/StmtPrinter.cpp b/clang/lib/AST/StmtPrinter.cpp
index e392682af75..70fe484751c 100644
--- a/clang/lib/AST/StmtPrinter.cpp
+++ b/clang/lib/AST/StmtPrinter.cpp
@@ -2231,6 +2231,17 @@ void StmtPrinter::VisitCXXFoldExpr(CXXFoldExpr *E) {
OS << ")";
}
+void StmtPrinter::VisitConceptSpecializationExpr(ConceptSpecializationExpr *E) {
+ NestedNameSpecifierLoc NNS = E->getNestedNameSpecifierLoc();
+ if (NNS)
+ NNS.getNestedNameSpecifier()->print(OS, Policy);
+ if (E->getTemplateKWLoc().isValid())
+ OS << "template ";
+ OS << E->getFoundDecl()->getName();
+ printTemplateArgumentList(OS, E->getTemplateArgsAsWritten()->arguments(),
+ Policy);
+}
+
// C++ Coroutines TS
void StmtPrinter::VisitCoroutineBodyStmt(CoroutineBodyStmt *S) {
OpenPOWER on IntegriCloud