116236077SArtem Dergachev// RUN: %exploded_graph_rewriter %s | FileCheck %s 216236077SArtem Dergachev 32ca53557SArtem Dergachev// CHECK: <b>Program points:</b> 416236077SArtem Dergachev// CHECK-SAME: <table border="0" align="left" width="0"> 516236077SArtem Dergachev// CHECK-SAME: <tr> 616236077SArtem Dergachev// CHECK-SAME: <td width="0"> 716236077SArtem Dergachev// CHECK-SAME: </td> 816236077SArtem Dergachev// CHECK-SAME: <td align="left" width="0"> 92ca53557SArtem Dergachev// CHECK-SAME: <font color="gold3">BlockEdge</font> 1016236077SArtem Dergachev// CHECK-SAME: </td> 1116236077SArtem Dergachev// CHECK-SAME: <td align="left"> 1216236077SArtem Dergachev// CHECK-SAME: [B0] -> [B1] 1316236077SArtem Dergachev// CHECK-SAME: </td> 1416236077SArtem Dergachev// CHECK-SAME: </tr> 152ca53557SArtem Dergachev// CHECK-SAME: <tr> 162ca53557SArtem Dergachev// CHECK-SAME: <td width="0"> 172ca53557SArtem Dergachev// CHECK-SAME: </td> 182ca53557SArtem Dergachev// CHECK-SAME: <td align="left" width="0"> 192ca53557SArtem Dergachev// CHECK-SAME: <font color="gold3">BlockEntrance</font> 202ca53557SArtem Dergachev// CHECK-SAME: </td> 212ca53557SArtem Dergachev// CHECK-SAME: <td align="left"> 222ca53557SArtem Dergachev// CHECK-SAME: [B1] 232ca53557SArtem Dergachev// CHECK-SAME: </td> 242ca53557SArtem Dergachev// CHECK-SAME: </tr> 2516236077SArtem Dergachev// CHECK-SAME: </table> 2616236077SArtem DergachevNode0x1 [shape=record,label= 2716236077SArtem Dergachev "{ 2814e9eb3dSArtem Dergachev { 29*d93b810cSArtem Dergachev "state_id": 0, "program_state": null, "program_points": [ 3016236077SArtem Dergachev { 3116236077SArtem Dergachev "kind": "Edge", 3216236077SArtem Dergachev "src_id": 0, 3316236077SArtem Dergachev "dst_id": 1, 3416236077SArtem Dergachev "terminator": null, 3516236077SArtem Dergachev "term_kind": null, 3614e9eb3dSArtem Dergachev "tag": null, 3714e9eb3dSArtem Dergachev "node_id": 1, 3814e9eb3dSArtem Dergachev "has_report": 0, 3914e9eb3dSArtem Dergachev "is_sink": 0 402ca53557SArtem Dergachev }, 412ca53557SArtem Dergachev { 422ca53557SArtem Dergachev "kind": "BlockEntrance", 432ca53557SArtem Dergachev "block_id": 1, 442ca53557SArtem Dergachev "terminator": null, 452ca53557SArtem Dergachev "term_kind": null, 4614e9eb3dSArtem Dergachev "tag": null, 4714e9eb3dSArtem Dergachev "node_id": 2, 4814e9eb3dSArtem Dergachev "has_report": 0, 4914e9eb3dSArtem Dergachev "is_sink": 0 502ca53557SArtem Dergachev } 5116236077SArtem Dergachev ]} 5216236077SArtem Dergachev\l}"]; 5316236077SArtem Dergachev 5416236077SArtem Dergachev// CHECK-NEXT: <b>Program point:</b> 5516236077SArtem Dergachev// CHECK-SAME: <table border="0" align="left" width="0"> 5616236077SArtem Dergachev// CHECK-SAME: <tr> 5716236077SArtem Dergachev// CHECK-SAME: <td align="left" width="0"> 58fc6059e8SArtem Dergachev// CHECK-SAME: main.cpp:<b>4</b>:<b>5</b>: 5916236077SArtem Dergachev// CHECK-SAME: </td> 6016236077SArtem Dergachev// CHECK-SAME: <td align="left" width="0"> 612ca53557SArtem Dergachev// CHECK-SAME: <font color="cyan4">DeclRefExpr</font> 622ca53557SArtem Dergachev// CHECK-SAME: </td> 63ed035ff8SArtem Dergachev// CHECK-SAME: <td align="left"><i>S3</i></td> 642ca53557SArtem Dergachev// CHECK-SAME: <td align="left"> 652ca53557SArtem Dergachev// CHECK-SAME: <font color="cyan3">PreStmt</font> 6616236077SArtem Dergachev// CHECK-SAME: </td> 67ed035ff8SArtem Dergachev// CHECK-SAME: <td align="left">x</td> 6816236077SArtem Dergachev// CHECK-SAME: </tr> 695a72338bSArtem Dergachev// CHECK-SAME: <tr> 705a72338bSArtem Dergachev// CHECK-SAME: <td width="0"> 715a72338bSArtem Dergachev// CHECK-SAME: </td> 722ca53557SArtem Dergachev// CHECK-SAME: <td colspan="3" align="left"> 735a72338bSArtem Dergachev// CHECK-SAME: <b>Tag: </b> 745a72338bSArtem Dergachev// CHECK-SAME: <font color="crimson">ExprEngine : Clean Node</font> 755a72338bSArtem Dergachev// CHECK-SAME: </td> 765a72338bSArtem Dergachev// CHECK-SAME: </tr> 7716236077SArtem Dergachev// CHECK-SAME: </table> 7814e9eb3dSArtem DergachevNode0x3 [shape=record,label= 7916236077SArtem Dergachev "{ 80*d93b810cSArtem Dergachev { "state_id": 0, "program_state": null, "program_points": [ 8116236077SArtem Dergachev { 8216236077SArtem Dergachev "kind": "Statement", 8316236077SArtem Dergachev "stmt_kind": "DeclRefExpr", 842ca53557SArtem Dergachev "stmt_point_kind": "PreStmt", 85ed035ff8SArtem Dergachev "stmt_id": 3, 8616236077SArtem Dergachev "pointer": "0x3", 8716236077SArtem Dergachev "pretty": "x", 8816236077SArtem Dergachev "location": { 89fc6059e8SArtem Dergachev "file": "main.cpp", 9016236077SArtem Dergachev "line": 4, 9116236077SArtem Dergachev "column": 5 9216236077SArtem Dergachev }, 9314e9eb3dSArtem Dergachev "tag": "ExprEngine : Clean Node", 9414e9eb3dSArtem Dergachev "node_id": 3, 9514e9eb3dSArtem Dergachev "pointer": "0x3", 9614e9eb3dSArtem Dergachev "has_report": 0, 9714e9eb3dSArtem Dergachev "is_sink": 0 9816236077SArtem Dergachev } 9916236077SArtem Dergachev ]} 10016236077SArtem Dergachev\l}"]; 10148a5c83aSArtem Dergachev 10248a5c83aSArtem Dergachev// Test collapsing large pretty prints with braces. 10348a5c83aSArtem Dergachev 10448a5c83aSArtem Dergachev// CHECK-NEXT: <b>Program point:</b> 105ed035ff8SArtem Dergachev// CHECK-SAME: <td align="left">\{ ... \}</td> 10614e9eb3dSArtem DergachevNode0x4 [shape=record,label= 10748a5c83aSArtem Dergachev "{ 10814e9eb3dSArtem Dergachev { 109*d93b810cSArtem Dergachev "state_id": 0, "program_state": null, "program_points": [ 11048a5c83aSArtem Dergachev { 11148a5c83aSArtem Dergachev "kind": "Statement", 11248a5c83aSArtem Dergachev "stmt_kind": "CompoundStmt", 11348a5c83aSArtem Dergachev "stmt_point_kind": "PostStmt", 114ed035ff8SArtem Dergachev "stmt_id": 6, 11548a5c83aSArtem Dergachev "pointer": "0x6", 11648a5c83aSArtem Dergachev "pretty": "{ very very very very very very long pretty print }", 11748a5c83aSArtem Dergachev "location": { 11848a5c83aSArtem Dergachev "line": 7, 11948a5c83aSArtem Dergachev "column": 8 12048a5c83aSArtem Dergachev }, 12114e9eb3dSArtem Dergachev "tag": "ExprEngine : Clean Node", 12214e9eb3dSArtem Dergachev "node_id": 4, 12314e9eb3dSArtem Dergachev "has_report": 0, 12414e9eb3dSArtem Dergachev "is_sink": 0 12548a5c83aSArtem Dergachev } 12648a5c83aSArtem Dergachev ]} 12748a5c83aSArtem Dergachev\l}"]; 128d325196fSArtem Dergachev 129d325196fSArtem Dergachev// CHECK-NEXT: <b>Program point:</b> 130d325196fSArtem Dergachev// CHECK-SAME: <table border="0" align="left" width="0"> 131d325196fSArtem Dergachev// CHECK-SAME: <tr> 132d325196fSArtem Dergachev// CHECK-SAME: <td align="left" width="0"> 133d325196fSArtem Dergachev// CHECK-SAME: main.cpp:<b>8</b>:<b>9</b>: 134d325196fSArtem Dergachev// CHECK-SAME: </td> 135d325196fSArtem Dergachev// CHECK-SAME: <td align="left" width="0"> 136d325196fSArtem Dergachev// CHECK-SAME: <font color="cyan4"> 137d325196fSArtem Dergachev// CHECK-SAME: ImplicitCastExpr (LValueToRValue) 138d325196fSArtem Dergachev// CHECK-SAME: </font> 139d325196fSArtem Dergachev// CHECK-SAME: </td> 140d325196fSArtem Dergachev// CHECK-SAME: <td align="left"><i>S5</i></td> 141d325196fSArtem Dergachev// CHECK-SAME: <td align="left"> 142d325196fSArtem Dergachev// CHECK-SAME: <font color="cyan3">PreStmt</font> 143d325196fSArtem Dergachev// CHECK-SAME: </td> 144d325196fSArtem Dergachev// CHECK-SAME: <td align="left">y</td> 145d325196fSArtem Dergachev// CHECK-SAME: </tr> 146d325196fSArtem Dergachev// CHECK-SAME: <tr> 147d325196fSArtem Dergachev// CHECK-SAME: <td width="0"> 148d325196fSArtem Dergachev// CHECK-SAME: </td> 149d325196fSArtem Dergachev// CHECK-SAME: <td colspan="3" align="left"> 150d325196fSArtem Dergachev// CHECK-SAME: <b>Tag: </b> 151d325196fSArtem Dergachev// CHECK-SAME: <font color="crimson">ExprEngine : Clean Node</font> 152d325196fSArtem Dergachev// CHECK-SAME: </td> 153d325196fSArtem Dergachev// CHECK-SAME: </tr> 154d325196fSArtem Dergachev// CHECK-SAME: </table> 15514e9eb3dSArtem DergachevNode0x5 [shape=record,label= 156d325196fSArtem Dergachev "{ 157*d93b810cSArtem Dergachev { "state_id": 0, "program_state": null, "program_points": [ 158d325196fSArtem Dergachev { 159d325196fSArtem Dergachev "kind": "Statement", 160d325196fSArtem Dergachev "stmt_kind": "ImplicitCastExpr", 161d325196fSArtem Dergachev "cast_kind": "LValueToRValue", 162d325196fSArtem Dergachev "stmt_point_kind": "PreStmt", 163d325196fSArtem Dergachev "stmt_id": 5, 164d325196fSArtem Dergachev "pointer": "0x6", 165d325196fSArtem Dergachev "pretty": "y", 166d325196fSArtem Dergachev "location": { 167d325196fSArtem Dergachev "file": "main.cpp", 168d325196fSArtem Dergachev "line": 8, 169d325196fSArtem Dergachev "column": 9 170d325196fSArtem Dergachev }, 17114e9eb3dSArtem Dergachev "tag": "ExprEngine : Clean Node", 17214e9eb3dSArtem Dergachev "node_id": 5, 17314e9eb3dSArtem Dergachev "has_report": 0, 17414e9eb3dSArtem Dergachev "is_sink": 0 175d325196fSArtem Dergachev } 176d325196fSArtem Dergachev ]} 177d325196fSArtem Dergachev\l}"]; 178