summaryrefslogtreecommitdiff
path: root/lib/AST/JSONNodeDumper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/AST/JSONNodeDumper.cpp')
-rw-r--r--lib/AST/JSONNodeDumper.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/AST/JSONNodeDumper.cpp b/lib/AST/JSONNodeDumper.cpp
index 1290847e1a..2527df66f2 100644
--- a/lib/AST/JSONNodeDumper.cpp
+++ b/lib/AST/JSONNodeDumper.cpp
@@ -843,6 +843,12 @@ void JSONNodeDumper::VisitMemberExpr(const MemberExpr *ME) {
JOS.attribute("name", VD && VD->getDeclName() ? VD->getNameAsString() : "");
JOS.attribute("isArrow", ME->isArrow());
JOS.attribute("referencedMemberDecl", createPointerRepresentation(VD));
+ switch (ME->isNonOdrUse()) {
+ case NOUR_None: break;
+ case NOUR_Unevaluated: JOS.attribute("nonOdrUseReason", "unevaluated"); break;
+ case NOUR_Constant: JOS.attribute("nonOdrUseReason", "constant"); break;
+ case NOUR_Discarded: JOS.attribute("nonOdrUseReason", "discarded"); break;
+ }
}
void JSONNodeDumper::VisitCXXNewExpr(const CXXNewExpr *NE) {