This patch also rewrites the ProgramPoint printing.
Details
Diff Detail
Event Timeline
This one it a little-bit heavier what it should be. I have added the JsonSupport.h because I believe we have to space it at some point because some lines are too long. It was your request @NoQ to create something identical to the original spacing. Should I touch the spacing, or it is okay?
clang/lib/Analysis/ProgramPoint.cpp | ||
---|---|---|
69–70 | If i was to change one thing about these dumps, it'd be to make the spaces consistent. | |
93 | Cf. | |
clang/lib/StaticAnalyzer/Core/ExprEngine.cpp | ||
3088–3110 | The predecessors/successors part isn't very useful because we're combining multiple ExplodedGraph nodes into a single dumped node. If we print them at all, we should probably combine them with the ProgramPoint print (as each ProgramPoint corresponds to a real ExplodedGraph node). But i don't really find this info useful, as it's already displayed with arrows. | |
clang/test/Analysis/dump_egraph.c | ||
13 | Again, let's test the planned HTML generator separately. |
What do you mean by consistent spacing?
We had:
Block Entrance: B2 -------- PreStmtPurgeDeadSymbols Tag:ExprEngine : Clean Node -------- DeclRefExpr S2079258 <0x19d70c0> RM line=2715 col=11 PostLValue
We have:
"program_points": [ { "kind": "Block Entrance", "block_id": 2, "tag": null } { "kind": "PreStmtPurgeDeadSymbols", "tag": "ExprEngine : Clean Node" } { "kind": "Statement", "stmt_kind": "DeclRefExpr", "stmt_id": 2079258, "pointer": 0x3683e80, "pretty": "RM", "line": 2715, "column": 11, "stmt_point_kind": "PostLValue", "tag": null } ],
Could you show that by an example what improvements would you see? I think it is just long, but not problematic. My main problem is the order of the usefulness of the information, but it is a problem in every print() so I have not touched that yet.
What do you mean by consistent spacing?
I meant BlockEntrance vs. Block Entrance, etc.
If i was to change one thing about these dumps, it'd be to make the spaces consistent.