Commit d93b810c authored by Artem Dergachev's avatar Artem Dergachev
Browse files

[analyzer] exploded-graph-rewriter: Fix dump for state 0.

It shouldn't say "unspecified" when the state is specified to be empty.

llvm-svn: 375279
parent 7a17f197
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
// UNSUPPORTED: system-windows

Node0x1 [shape=record,label=
 "{{ "program_state": null, "program_points": [
 "{{ "state_id": 0, "program_state": null, "program_points": [
    {
      "kind": "BlockEntrance", "block_id": 1,
      "terminator": null, "term_kind": null,
@@ -19,7 +19,7 @@ Node0x1 [shape=record,label=
Node0x1 -> Node0x2;

Node0x2 [shape=record,label=
 "{{ "program_state": null, "program_points": [
 "{{ "state_id": 0, "program_state": null, "program_points": [
    {
      "kind": "BlockEntrance", "block_id": 1,
      "terminator": null, "term_kind": null,
+3 −4
Original line number Diff line number Diff line
@@ -15,13 +15,12 @@
// CHECK-SAME:   <tr>
// LIGHT-SAME:     <td bgcolor="gray70">
// DARK-SAME:      <td bgcolor="gray20">
// CHECK-SAME:       <b>State Unspecified</b>
// CHECK-SAME:       <b>State 0</b>
// CHECK-SAME:     </td>
// CHECK-SAME:   </tr>
Node0x1 [shape=record,label=
 "{
    { "node_id": 1, "pointer": "0x1", "has_report": false, "is_sink": false,
      "program_state": null,
    { "state_id": 0, "program_state": null,
      "program_points": [
        {
          "kind": "BlockEntrance", "block_id": 1,
@@ -48,7 +47,7 @@ Node0x1 [shape=record,label=
// CHECK-SAME: </tr>
Node0x2 [shape=record,label=
 "{
    { "program_state": null,
    { "state_id": 0, "program_state": null,
      "program_points": [
        {
          "kind": "BlockEntrance", "block_id": 1,
+4 −4
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@
Node0x1 [shape=record,label=
 "{
    {
      "program_state": null, "program_points": [
      "state_id": 0, "program_state": null, "program_points": [
      {
        "kind": "Edge",
        "src_id": 0,
@@ -80,7 +80,7 @@ Node0x1 [shape=record,label=
// CHECK-SAME: </table>
Node0x3 [shape=record,label=
 "{
    { "program_state": null, "program_points": [
    { "state_id": 0, "program_state": null, "program_points": [
      {
        "kind": "Statement",
        "stmt_kind": "DeclRefExpr",
@@ -109,7 +109,7 @@ Node0x3 [shape=record,label=
Node0x4 [shape=record,label=
 "{
    {
      "program_state": null, "program_points": [
      "state_id": 0, "program_state": null, "program_points": [
      {
        "kind": "Statement",
        "stmt_kind": "CompoundStmt",
@@ -157,7 +157,7 @@ Node0x4 [shape=record,label=
// CHECK-SAME: </table>
Node0x5 [shape=record,label=
 "{
    { "program_state": null, "program_points": [
    { "state_id": 0, "program_state": null, "program_points": [
      {
        "kind": "Statement",
        "stmt_kind": "ImplicitCastExpr",
+4 −4
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
// UNSUPPORTED: system-windows

Node0x1 [shape=record,label=
 "{{ "program_state": null, "program_points": [
 "{{ "state_id": 0, "program_state": null, "program_points": [
       {
         "kind": "BlockEntrance", "block_id": 1,
         "terminator": null, "term_kind": null,
@@ -27,7 +27,7 @@ Node0x1 [shape=record,label=
     ]}\l}"];

Node0x2 [shape=record,label=
 "{{ "program_state": null, "program_points": [
 "{{ "state_id": 0, "program_state": null, "program_points": [
       {
         "kind": "BlockEntrance", "block_id": 1,
         "terminator": null, "term_kind": null,
@@ -37,7 +37,7 @@ Node0x2 [shape=record,label=
     ]}\l}"];

Node0x3 [shape=record,label=
 "{{ "program_state": null, "program_points": [
 "{{ "state_id": 0, "program_state": null, "program_points": [
       {
         "kind": "BlockEntrance", "block_id": 1,
         "terminator": null, "term_kind": null,
@@ -47,7 +47,7 @@ Node0x3 [shape=record,label=
     ]}\l}"];

Node0x4 [shape=record,label=
 "{{ "program_state": null, "program_points": [
 "{{ "state_id": 0, "program_state": null, "program_points": [
       {
         "kind": "BlockEntrance", "block_id": 1,
         "terminator": null, "term_kind": null,
+12 −2
Original line number Diff line number Diff line
@@ -273,6 +273,16 @@ class ProgramState(object):
        super(ProgramState, self).__init__()
        logging.debug('Adding ProgramState ' + str(state_id))

        if json_ps is None:
            json_ps = {
                'store': None,
                'environment': None,
                'constraints': None,
                'dynamic_types': None,
                'constructing_objects': None,
                'checker_messages': None
            }

        self.state_id = state_id

        self.store = Store(json_ps['store']) \
@@ -316,8 +326,8 @@ class ExplodedNode(object):
        self.points = [ProgramPoint(p) for p in json_node['program_points']]
        self.node_id = self.points[-1].node_id
        self.state = ProgramState(json_node['state_id'],
                                  json_node['program_state']) \
            if json_node['program_state'] is not None else None
                                  json_node['program_state']
            if json_node['program_state'] is not None else None);

        assert self.node_name() == node_id