{"adapter":"joern","evidence_kind":"joern-reachable-by-flows","input_path":"/Users/dave/.codex/worktrees/9f01/dataflowbench/execution-state/v092/groups/series-01/joern-python-kernel/attempt-01/tmp/dataflowbench-joern-python/dfb-taint-python-recursive-callback-transform-positive/source","frontend_language":"PYTHONSRC","source_function":"dfb_source","sink_function":"dfb_sink","state":"analyzed","method_count":11,"source_node_count":1,"sink_node_count":1,"source_nodes":[{"label":"CALL","file":"recursive_callback_transform.py","line":22,"method":"recursive_callback_transform.py:<module>.run","code":"dfb_source()"}],"sink_nodes":[{"label":"CALL","file":"recursive_callback_transform.py","line":22,"method":"recursive_callback_transform.py:<module>.run","code":"walk(dfb_source(), 3, step)"}],"flow_count":1,"flows":[{"elements":[{"label":"CALL","file":"recursive_callback_transform.py","line":22,"method":"recursive_callback_transform.py:<module>.run","code":"dfb_source()"},{"label":"METHOD_PARAMETER_IN","file":"recursive_callback_transform.py","line":9,"method":"recursive_callback_transform.py:<module>.walk","code":"value"},{"label":"IDENTIFIER","file":"recursive_callback_transform.py","line":12,"method":"recursive_callback_transform.py:<module>.walk","code":"value"},{"label":"METHOD_PARAMETER_IN","file":"recursive_callback_transform.py","line":15,"method":"recursive_callback_transform.py:<module>.step","code":"value"},{"label":"CALL","file":"recursive_callback_transform.py","line":16,"method":"recursive_callback_transform.py:<module>.step","code":"value + 1"},{"label":"IDENTIFIER","file":"recursive_callback_transform.py","line":16,"method":"recursive_callback_transform.py:<module>.step","code":"next_value"},{"label":"IDENTIFIER","file":"recursive_callback_transform.py","line":17,"method":"recursive_callback_transform.py:<module>.step","code":"next_value"},{"label":"METHOD_PARAMETER_IN","file":"recursive_callback_transform.py","line":9,"method":"recursive_callback_transform.py:<module>.walk","code":"value"},{"label":"IDENTIFIER","file":"recursive_callback_transform.py","line":11,"method":"recursive_callback_transform.py:<module>.walk","code":"value"},{"label":"RETURN","file":"recursive_callback_transform.py","line":11,"method":"recursive_callback_transform.py:<module>.walk","code":"return value"},{"label":"METHOD_RETURN","file":"recursive_callback_transform.py","line":9,"method":"recursive_callback_transform.py:<module>.walk","code":"RET"},{"label":"CALL","file":"recursive_callback_transform.py","line":17,"method":"recursive_callback_transform.py:<module>.step","code":"walk(next_value, depth, step)"},{"label":"IDENTIFIER","file":"recursive_callback_transform.py","line":17,"method":"recursive_callback_transform.py:<module>.step","code":"recursive_result"},{"label":"CALL","file":"recursive_callback_transform.py","line":18,"method":"recursive_callback_transform.py:<module>.step","code":"recursive_result + 1"},{"label":"RETURN","file":"recursive_callback_transform.py","line":18,"method":"recursive_callback_transform.py:<module>.step","code":"return recursive_result + 1"},{"label":"METHOD_RETURN","file":"recursive_callback_transform.py","line":15,"method":"recursive_callback_transform.py:<module>.step","code":"RET"},{"label":"CALL","file":"recursive_callback_transform.py","line":12,"method":"recursive_callback_transform.py:<module>.walk","code":"step(value, depth - 1)"},{"label":"RETURN","file":"recursive_callback_transform.py","line":12,"method":"recursive_callback_transform.py:<module>.walk","code":"return step(value, depth - 1)"},{"label":"METHOD_RETURN","file":"recursive_callback_transform.py","line":9,"method":"recursive_callback_transform.py:<module>.walk","code":"RET"},{"label":"CALL","file":"recursive_callback_transform.py","line":22,"method":"recursive_callback_transform.py:<module>.run","code":"walk(dfb_source(), 3, step)"}]}]}
