diff options
author | Artem Dergachev <artem.dergachev@gmail.com> | 2019-10-17 23:10:05 +0000 |
---|---|---|
committer | Artem Dergachev <artem.dergachev@gmail.com> | 2019-10-17 23:10:05 +0000 |
commit | d325196f19bfecff59252f3d214278fb6ee4ad61 (patch) | |
tree | 3e4d1cf85aed53aef2a637b9b3b0649892e15888 /clang/lib/Analysis/ProgramPoint.cpp | |
parent | 73b67f0b1a3ca835a4c0481abee87a96a2107b7d (diff) | |
download | bcm5719-llvm-d325196f19bfecff59252f3d214278fb6ee4ad61.tar.gz bcm5719-llvm-d325196f19bfecff59252f3d214278fb6ee4ad61.zip |
[analyzer] Display cast kinds in program point dumps.
Because cast expressions have their own hierarchy, it's extremely useful
to have some information about what kind of casts are we dealing with.
llvm-svn: 375185
Diffstat (limited to 'clang/lib/Analysis/ProgramPoint.cpp')
-rw-r--r-- | clang/lib/Analysis/ProgramPoint.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Analysis/ProgramPoint.cpp b/clang/lib/Analysis/ProgramPoint.cpp index 97e90965d00..0783fbed531 100644 --- a/clang/lib/Analysis/ProgramPoint.cpp +++ b/clang/lib/Analysis/ProgramPoint.cpp @@ -188,7 +188,11 @@ void ProgramPoint::printJson(llvm::raw_ostream &Out, const char *NL) const { Out << "Statement\", \"stmt_kind\": \"" << S->getStmtClassName() << "\", \"stmt_id\": " << S->getID(Context) - << ", \"pointer\": \"" << (const void *)S << "\", \"pretty\": "; + << ", \"pointer\": \"" << (const void *)S << "\", "; + if (const auto *CS = dyn_cast<CastExpr>(S)) + Out << "\"cast_kind\": \"" << CS->getCastKindName() << "\", "; + + Out << "\"pretty\": "; S->printJson(Out, nullptr, PP, AddQuotes); |