1// RUN: %exploded_graph_rewriter -d %s | FileCheck %s
2
3Node0x1 [shape=record,label=
4 "{
5    { "state_id": 2,
6      "program_points": [
7        {
8          "kind": "BlockEntrance", "block_id": 1,
9          "terminator": null, "term_kind": null,
10          "tag": null, "node_id": 1,
11          "has_report": 0, "is_sink": 0
12        }
13      ],
14      "program_state": {
15        "environment": null,
16        "store": null,
17        "constraints": null,
18        "dynamic_types": null,
19        "constructing_objects": null,
20        "index_of_element": null,
21        "checker_messages": [
22          { "checker": "FooChecker", "messages": [
23            "Foo: Bar"
24          ]},
25          { "checker": "BarChecker", "messages": [
26            "Bar: Foo"
27          ]}
28        ]
29      }
30    }
31\l}"];
32
33Node0x1 -> Node0x4;
34
35
36// CHECK: Node0x4 [
37// CHECK-SAME: <tr>
38// CHECK-SAME:   <td><font color="red">-</font></td>
39// CHECK-SAME:   <td align="left"><i>BarChecker</i>:</td>
40// CHECK-SAME: </tr>
41// CHECK-SAME: <tr>
42// CHECK-SAME:   <td><font color="red">-</font></td>
43// CHECK-SAME:   <td align="left">Bar: Foo</td>
44// CHECK-SAME: </tr>
45// CHECK-SAME: <tr>
46// CHECK-SAME:   <td></td>
47// CHECK-SAME:   <td align="left"><i>FooChecker</i>:</td>
48// CHECK-SAME: </tr>
49// CHECK-SAME: <tr>
50// CHECK-SAME:   <td><font color="forestgreen">+</font></td>
51// CHECK-SAME:   <td align="left"> Bar: Foo</td>
52// CHECK-SAME: </tr>
53// CHECK-SAME: <tr>
54// CHECK-SAME:   <td><font color="forestgreen">+</font></td>
55// CHECK-SAME:   <td align="left"><i>DunnoWhateverSomeOtherChecker</i>:</td>
56// CHECK-SAME: </tr>
57// CHECK-SAME: <tr>
58// CHECK-SAME:   <td><font color="forestgreen">+</font></td>
59// CHECK-SAME:   <td align="left">Dunno, some other message.</td>
60// CHECK-SAME: </tr>
61Node0x4 [shape=record,label=
62 "{
63    {
64      "state_id": 5,
65      "program_points": [
66        {
67          "kind": "BlockEntrance", "block_id": 1,
68          "terminator": null, "term_kind": null,
69          "tag": null, "node_id": 1,
70          "has_report": 0, "is_sink": 0
71        }
72      ],
73      "program_state": {
74        "environment": null,
75        "store": null,
76        "constraints": null,
77        "dynamic_types": null,
78        "constructing_objects": null,
79        "index_of_element": null,
80        "checker_messages": [
81          { "checker": "FooChecker", "messages": [
82            "Foo: Bar",
83            "Bar: Foo"
84          ]},
85          { "checker": "DunnoWhateverSomeOtherChecker", "messages": [
86            "Dunno, some other message."
87          ]}
88        ]
89      }
90    }
91\l}"];
92
93Node0x4 -> Node0x6;
94
95Node0x6 [shape=record,label=
96 "{
97    { "state_id": 7,
98      "program_points": [
99        {
100          "kind": "BlockEntrance", "block_id": 1,
101          "terminator": null, "term_kind": null,
102          "tag": null, "node_id": 1,
103          "has_report": 0, "is_sink": 0
104        }
105      ],
106      "program_state": null
107    }
108\l}"];
109