#define ARR_ELT_TYPE_EDGE_ATTR "class: 10 label: \"arr elt tp\" color:green"
#define ARR_ENT_EDGE_ATTR "class: 10 label: \"arr ent\" color: green"
#define ENT_OVERWRITES_EDGE_ATTR "class: 11 label: \"overwrites\" color:red"
-#define ENT_VALUE_EDGE_ATTR "label: \"value "
+#define ENT_VALUE_EDGE_ATTR "label: \"value %d\""
#define ENT_CORR_EDGE_ATTR "label: \"value %d corresponds to \" "
#define TYPE_MEMBER_EDGE_ATTR "class: 12 label: \"member\" color:blue"
#define PRINT_TYPE_ENT_EDGE(S,T,ATR,...) {fprintf (F, "edge: { sourcename:\""); PRINT_TYPEID(S); fprintf (F, "\" targetname: \""); PRINT_ENTID(T); fprintf (F,"\" " ATR "}\n",##__VA_ARGS__);}
#define PRINT_ENT_ENT_EDGE(S,T,ATR,...) {fprintf (F, "edge: { sourcename:\""); PRINT_ENTID(S); fprintf (F, "\" targetname: \""); PRINT_ENTID(T); fprintf (F,"\" " ATR "}\n",##__VA_ARGS__);}
#define PRINT_ENT_TYPE_EDGE(S,T,ATR,...) {fprintf (F, "edge: { sourcename:\""); PRINT_ENTID(S); fprintf (F, "\" targetname: \""); PRINT_TYPEID(T); fprintf (F,"\" " ATR "}\n",##__VA_ARGS__);}
+#define PRINT_NODE_TYPE_EDGE(S,T,ATR,...) {fprintf (F, "edge: { sourcename:\""); PRINT_NODEID(S); fprintf (F, "\" targetname: \""); PRINT_TYPEID(T); fprintf (F,"\" " ATR "}\n",##__VA_ARGS__);}
+#define PRINT_NODE_ENT_EDGE(S,T,ATR,...) {fprintf (F, "edge: { sourcename:\""); PRINT_NODEID(S); fprintf (F, "\" targetname: \""); PRINT_ENTID(T); fprintf (F,"\" " ATR "}\n",##__VA_ARGS__);}
+#define PRINT_ENT_NODE_EDGE(S,T,ATR,...) {fprintf (F, "edge: { sourcename:\""); PRINT_ENTID(S); fprintf (F, "\" targetname: \""); PRINT_NODEID(T); fprintf (F,"\" " ATR "}\n",##__VA_ARGS__);}
/* A suffix to manipulate the file name. */
break;
case iro_SymConst:
if ( (get_SymConst_kind(n) == type_tag)
- || (get_SymConst_kind(n) == size)) {
- fprintf (F, "edge: { sourcename: \"");
- PRINT_NODEID(n);
- fprintf (F, "\" targetname: \"%p\" "
- NODE2TYPE_EDGE_ATTR "}\n", get_SymConst_type(n));
+ || (get_SymConst_kind(n) == size))
+ {
+ PRINT_NODE_TYPE_EDGE(n,get_SymConst_type(n),NODE2TYPE_EDGE_ATTR);
}
break;
case iro_Sel: {
- fprintf (F, "edge: { sourcename: \"");
- PRINT_NODEID(n);
- fprintf (F, "\" targetname: \"%p\" "
- NODE2TYPE_EDGE_ATTR "}\n", get_Sel_entity(n));
+ PRINT_NODE_ENT_EDGE(n,get_Sel_entity(n),NODE2TYPE_EDGE_ATTR);
} break;
case iro_Call: {
- fprintf (F, "edge: { sourcename: \"");
- PRINT_NODEID(n);
- fprintf (F, "\" targetname: \"%p\" "
- NODE2TYPE_EDGE_ATTR "}\n", get_Call_type(n));
+ PRINT_NODE_TYPE_EDGE(n,get_Call_type(n),NODE2TYPE_EDGE_ATTR);
} break;
case iro_Alloc: {
- fprintf (F, "edge: { sourcename: \"");
- PRINT_NODEID(n);
- fprintf (F, "\" targetname: \"%p\" "
- NODE2TYPE_EDGE_ATTR "}\n", get_Alloc_type(n));
+ PRINT_NODE_TYPE_EDGE(n,get_Alloc_type(n),NODE2TYPE_EDGE_ATTR);
} break;
case iro_Free: {
- fprintf (F, "edge: { sourcename: \"");
- PRINT_NODEID(n);
- fprintf (F, "\" targetname: \"%p\" "
- NODE2TYPE_EDGE_ATTR "}\n", get_Free_type(n));
+ PRINT_NODE_TYPE_EDGE(n,get_Free_type(n),NODE2TYPE_EDGE_ATTR);
} break;
default:
break;
if (is_atomic_entity(ent)) {
value = get_atomic_ent_value(ent);
if (value) {
- fprintf (F, "edge: { sourcename: \"");
- PRINT_ENTID(ent);
- fprintf (F, "\" targetname: \"");
- PRINT_NODEID(value);
- fprintf(F, "\" " ENT_VALUE_EDGE_ATTR " %d \"}\n", i);
+ PRINT_ENT_NODE_EDGE(ent,value,ENT_VALUE_EDGE_ATTR,i);
/*
fprintf (F, "edge: { sourcename: \"%p\" targetname: \"", GET_ENTID(ent));
PRINT_NODEID(value);
for (i = 0; i < get_compound_ent_n_values(ent); i++) {
value = get_compound_ent_value(ent, i);
if (value) {
- fprintf (F, "edge: { sourcename: \"");
- PRINT_ENTID(ent);
- fprintf (F, "\" targetname: \"");
- PRINT_NODEID(value);
- fprintf(F, "\" " ENT_VALUE_EDGE_ATTR " %d \"}\n", i);
+ PRINT_ENT_NODE_EDGE(ent,value,ENT_VALUE_EDGE_ATTR,i);
dump_const_expression(value);
PRINT_ENT_ENT_EDGE(ent,get_compound_ent_value_member(ent, i),ENT_CORR_EDGE_ATTR,i);
/*
irg = g17"
}
edge: { sourcename:"e4" targetname: "t2" class: 3 label: "type" color: red}
-edge: { sourcename: "e4" targetname: "n3" label: "value 0 "}
+edge: { sourcename:"e4" targetname: "n3" label: "value 0"}
node: {title: "n3" label: "&(GlobalType_ARRAY-HEAP_EXAMPLE_main)P 3" color: yellow}
node: {title: "t0" label: "class GlobalType"info1: "state: layout_undefined
size: -1B,
irg = g18"
}
edge: { sourcename:"e5" targetname: "t3" class: 3 label: "type" color: red}
-edge: { sourcename: "e5" targetname: "n4" label: "value 0 "}
+edge: { sourcename:"e5" targetname: "n4" label: "value 0"}
node: {title: "n4" label: "&(ARRAY-STACK_EXAMPLE_main)P 4" color: yellow}
node: {title: "t2" label: "class ARRAY-STACK_EXAMPLE"info1: "state: layout_undefined
size: -1B,
size: 4B,
"}
edge: { sourcename:"t3" targetname: "t1" class: 6 label: "res 0" color: green}
-edge: { sourcename: "n44" targetname: "0x80a1908" class: 2 priority: 2 linestyle: dotted}
-edge: { sourcename: "n46" targetname: "0x80a1990" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n44" targetname: "e21" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n46" targetname: "e24" class: 2 priority: 2 linestyle: dotted}
}
irg = g60"
}
edge: { sourcename:"e7" targetname: "t5" class: 3 label: "type" color: red}
-edge: { sourcename: "e7" targetname: "n6" label: "value 0 "}
+edge: { sourcename:"e7" targetname: "n6" label: "value 0"}
node: {title: "n6" label: "&(PRIMA_set_a)P 6" color: yellow}
node: {title: "t5" label: "method set_a"info1: "state: layout_fixed,
mode: P,
irg = g83"
}
edge: { sourcename:"e10" targetname: "t8" class: 3 label: "type" color: red}
-edge: { sourcename: "e10" targetname: "n9" label: "value 0 "}
+edge: { sourcename:"e10" targetname: "n9" label: "value 0"}
node: {title: "n9" label: "&(PRIMA_c)P 9" color: yellow}
node: {title: "t8" label: "method c"info1: "state: layout_fixed,
mode: P,
irg = g26"
}
edge: { sourcename:"e13" targetname: "t11" class: 3 label: "type" color: red}
-edge: { sourcename: "e13" targetname: "n12" label: "value 0 "}
+edge: { sourcename:"e13" targetname: "n12" label: "value 0"}
node: {title: "n12" label: "&(GlobalType_OO_INLINE_EXAMPLE_main)P 12" color: yellow}
}
irg = g18"
}
edge: { sourcename:"e4" targetname: "t2" class: 3 label: "type" color: red}
-edge: { sourcename: "e4" targetname: "n3" label: "value 0 "}
+edge: { sourcename:"e4" targetname: "n3" label: "value 0"}
node: {title: "n3" label: "&(GlobalType_GLOBAL_VAR_main)P 3" color: yellow}
node: {title: "t2" label: "method GLOBAL_VAR_main"info1: "state: layout_fixed,
mode: P,
node: {title: "t6" label: "class GLOBAL_VAR_mainframe_tp"info1: "state: layout_undefined
size: -1B,
" color: green}
-edge: { sourcename: "n38" targetname: "0x809f1f0" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n38" targetname: "e5" class: 2 priority: 2 linestyle: dotted}
}
irg = g60"
}
edge: { sourcename:"e7" targetname: "t5" class: 3 label: "type" color: red}
-edge: { sourcename: "e7" targetname: "n6" label: "value 0 "}
+edge: { sourcename:"e7" targetname: "n6" label: "value 0"}
node: {title: "n6" label: "&(PRIMA_set_a)P 6" color: yellow}
node: {title: "t5" label: "method set_a"info1: "state: layout_fixed,
mode: P,
irg = g83"
}
edge: { sourcename:"e10" targetname: "t8" class: 3 label: "type" color: red}
-edge: { sourcename: "e10" targetname: "n9" label: "value 0 "}
+edge: { sourcename:"e10" targetname: "n9" label: "value 0"}
node: {title: "n9" label: "&(PRIMA_c)P 9" color: yellow}
node: {title: "t8" label: "method c"info1: "state: layout_fixed,
mode: P,
irg = g26"
}
edge: { sourcename:"e13" targetname: "t11" class: 3 label: "type" color: red}
-edge: { sourcename: "e13" targetname: "n12" label: "value 0 "}
+edge: { sourcename:"e13" targetname: "n12" label: "value 0"}
node: {title: "n12" label: "&(GlobalType_OO_INLINE_EXAMPLE_main)P 12" color: yellow}
node: {title: "t0" label: "class GlobalType"info1: "state: layout_undefined
size: -1B,
node: {title: "t14" label: "class OO_INLINE_EXAMPLE_mainframe_tp"info1: "state: layout_undefined
size: -1B,
" color: green}
-edge: { sourcename: "n199" targetname: "0x80a0600" class: 2 priority: 2 linestyle: dotted}
-edge: { sourcename: "n201" targetname: "0x80a0538" class: 2 priority: 2 linestyle: dotted}
-edge: { sourcename: "n202" targetname: "0x80a0538" class: 2 priority: 2 linestyle: dotted}
-edge: { sourcename: "n207" targetname: "0x80a0600" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n199" targetname: "e4" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n201" targetname: "t2" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n202" targetname: "t2" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n207" targetname: "e4" class: 2 priority: 2 linestyle: dotted}
}
irg = g60"
}
edge: { sourcename:"e7" targetname: "t5" class: 3 label: "type" color: red}
-edge: { sourcename: "e7" targetname: "n6" label: "value 0 "}
+edge: { sourcename:"e7" targetname: "n6" label: "value 0"}
node: {title: "n6" label: "&(PRIMA_set_a)P 6" color: yellow}
node: {title: "t5" label: "method set_a"info1: "state: layout_fixed,
mode: P,
irg = g83"
}
edge: { sourcename:"e10" targetname: "t8" class: 3 label: "type" color: red}
-edge: { sourcename: "e10" targetname: "n9" label: "value 0 "}
+edge: { sourcename:"e10" targetname: "n9" label: "value 0"}
node: {title: "n9" label: "&(PRIMA_c)P 9" color: yellow}
node: {title: "e13"label: "ent OO_PROGRAM_EXAMPLE_main" color: yellow
info1:"
irg = g26"
}
edge: { sourcename:"e13" targetname: "t11" class: 3 label: "type" color: red}
-edge: { sourcename: "e13" targetname: "n12" label: "value 0 "}
+edge: { sourcename:"e13" targetname: "n12" label: "value 0"}
node: {title: "n12" label: "&(GlobalType_OO_PROGRAM_EXAMPLE_main)P 12" color: yellow}
node: {title: "t0" label: "class GlobalType"info1: "state: layout_undefined
size: -1B,
node: {title: "t14" label: "class OO_PROGRAM_EXAMPLE_mainframe_tp"info1: "state: layout_undefined
size: -1B,
" color: green}
-edge: { sourcename: "n105" targetname: "0x80a04f0" class: 2 priority: 2 linestyle: dotted}
-edge: { sourcename: "n108" targetname: "0x80a0298" class: 2 priority: 2 linestyle: dotted}
-edge: { sourcename: "n109" targetname: "0x80a0298" class: 2 priority: 2 linestyle: dotted}
-edge: { sourcename: "n111" targetname: "0x80a0550" class: 2 priority: 2 linestyle: dotted}
-edge: { sourcename: "n113" targetname: "0x80a03e8" class: 2 priority: 2 linestyle: dotted}
-edge: { sourcename: "n115" targetname: "0x80a0480" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n105" targetname: "t8" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n108" targetname: "t2" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n109" targetname: "t2" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n111" targetname: "e10" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n113" targetname: "t5" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n115" targetname: "e7" class: 2 priority: 2 linestyle: dotted}
}
irg = g60"
}
edge: { sourcename:"e7" targetname: "t5" class: 3 label: "type" color: red}
-edge: { sourcename: "e7" targetname: "n6" label: "value 0 "}
+edge: { sourcename:"e7" targetname: "n6" label: "value 0"}
node: {title: "n6" label: "&(PRIMA_set_a)P 6" color: yellow}
node: {title: "t5" label: "method set_a"info1: "state: layout_fixed,
mode: P,
irg = g83"
}
edge: { sourcename:"e10" targetname: "t8" class: 3 label: "type" color: red}
-edge: { sourcename: "e10" targetname: "n9" label: "value 0 "}
+edge: { sourcename:"e10" targetname: "n9" label: "value 0"}
node: {title: "n9" label: "&(PRIMA_c)P 9" color: yellow}
node: {title: "t8" label: "method c"info1: "state: layout_fixed,
mode: P,
node: {title: "t71" label: "class cframe_tp"info1: "state: layout_undefined
size: -1B,
" color: green}
-edge: { sourcename: "n248" targetname: "0x80a0600" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n248" targetname: "e4" class: 2 priority: 2 linestyle: dotted}
}
irg = g60"
}
edge: { sourcename:"e7" targetname: "t5" class: 3 label: "type" color: red}
-edge: { sourcename: "e7" targetname: "n6" label: "value 0 "}
+edge: { sourcename:"e7" targetname: "n6" label: "value 0"}
node: {title: "n6" label: "&(PRIMA_set_a)P 6" color: yellow}
node: {title: "t5" label: "method set_a"info1: "state: layout_fixed,
mode: P,
irg = g83"
}
edge: { sourcename:"e10" targetname: "t8" class: 3 label: "type" color: red}
-edge: { sourcename: "e10" targetname: "n9" label: "value 0 "}
+edge: { sourcename:"e10" targetname: "n9" label: "value 0"}
node: {title: "n9" label: "&(PRIMA_c)P 9" color: yellow}
node: {title: "t8" label: "method c"info1: "state: layout_fixed,
mode: P,
node: {title: "t48" label: "class set_aframe_tp"info1: "state: layout_undefined
size: -1B,
" color: green}
-edge: { sourcename: "n224" targetname: "0x80a0600" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename:"n224" targetname: "e4" class: 2 priority: 2 linestyle: dotted}
}
irg = g18"
}
edge: { sourcename:"e5" targetname: "t3" class: 3 label: "type" color: red}
-edge: { sourcename: "e5" targetname: "n4" label: "value 0 "}
+edge: { sourcename:"e5" targetname: "n4" label: "value 0"}
node: {title: "n4" label: "&(ARRAY-STACK_EXAMPLE_main)P 4" color: yellow}
node: {title: "t2" label: "class ARRAY-STACK_EXAMPLE"info1: "state: layout_undefined
size: -1B,