[qfcc] Print children of uexpr and return expressions
It's possible I lost the child printing when creating the return expressions, but dot diagrams are much more useful when they don't have nodes with just pointer values.
This commit is contained in:
parent
fc73cfc1e0
commit
a1acdb8951
|
@ -406,6 +406,7 @@ print_return (dstring_t *dstr, expr_t *e, int level, int id, expr_t *next)
|
||||||
int indent = level * 2 + 2;
|
int indent = level * 2 + 2;
|
||||||
|
|
||||||
if (e->e.retrn.ret_val) {
|
if (e->e.retrn.ret_val) {
|
||||||
|
_print_expr (dstr, e->e.retrn.ret_val, level, id, next);
|
||||||
dasprintf (dstr, "%*se_%p -> \"e_%p\";\n", indent, "", e,
|
dasprintf (dstr, "%*se_%p -> \"e_%p\";\n", indent, "", e,
|
||||||
e->e.retrn.ret_val);
|
e->e.retrn.ret_val);
|
||||||
}
|
}
|
||||||
|
@ -418,6 +419,7 @@ print_uexpr (dstring_t *dstr, expr_t *e, int level, int id, expr_t *next)
|
||||||
{
|
{
|
||||||
int indent = level * 2 + 2;
|
int indent = level * 2 + 2;
|
||||||
|
|
||||||
|
_print_expr (dstr, e->e.expr.e1, level, id, next);
|
||||||
dasprintf (dstr, "%*se_%p -> \"e_%p\";\n", indent, "", e, e->e.expr.e1);
|
dasprintf (dstr, "%*se_%p -> \"e_%p\";\n", indent, "", e, e->e.expr.e1);
|
||||||
dasprintf (dstr, "%*se_%p [label=\"%s\\n%d\"];\n", indent, "", e,
|
dasprintf (dstr, "%*se_%p [label=\"%s\\n%d\"];\n", indent, "", e,
|
||||||
get_op_string (e->e.expr.op), e->line);
|
get_op_string (e->e.expr.op), e->line);
|
||||||
|
|
Loading…
Reference in New Issue