diff options
Diffstat (limited to 'lib/AST/JSONNodeDumper.cpp')
-rw-r--r-- | lib/AST/JSONNodeDumper.cpp | 6 |
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) { |