This is an archive of the discontinued LLVM Phabricator instance.

[analyzer] print() JSONify: Constructing objects implementation
ClosedPublic

Authored by Charusso on May 17 2019, 2:32 PM.

Diff Detail

Repository
rC Clang

Event Timeline

Charusso created this revision.May 17 2019, 2:32 PM
Charusso updated this revision to Diff 201066.May 23 2019, 2:03 PM
  • Improved the JSON format.
NoQ added inline comments.May 23 2019, 4:14 PM
clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
596 ↗(On Diff #201066)

Why is the increment unconditional while the decrement isn't? This clearly needs some tests^^ Let's come up with a simple test that constructs a simple C++ object as a local variable and see what gets printed.

clang/test/Analysis/dump_egraph.cpp
19 ↗(On Diff #201066)

Let's test HTML output separately, smaller granularity is better.

NoQ added inline comments.May 23 2019, 4:24 PM
clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
596 ↗(On Diff #201066)

Wait, this does have tests. I'm blind :)

NoQ accepted this revision.May 23 2019, 4:30 PM
NoQ added inline comments.
clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
596 ↗(On Diff #201066)

Oh, right, it's a local and it's dropped anyway.

This revision is now accepted and ready to land.May 23 2019, 4:30 PM
Charusso updated this revision to Diff 201160.May 24 2019, 2:28 AM
Charusso marked 4 inline comments as done.
  • Removed TODO comment.

That print and the location context printing is tricky because of the third layer in spacing. These "end of" comments tries to simplify that.

Charusso updated this revision to Diff 201572.May 27 2019, 1:44 PM
  • 100% pure JSON.
This revision was automatically updated to reflect the committed changes.