This repository has been archived by the owner on Oct 14, 2024. It is now read-only.
Releases: google-research/python-graphs
Releases · google-research/python-graphs
v1.2.3
get_start_control_flow_node, next_from_end, raise edges, and labels in branches (#6)
* Adds get_start_control_flow_node to ControlFlowGraph
* Adds next_from_end to ControlFlowNode
* Uses labels (e.g. '<exit>' and '<raise>' strings) to indicate these special nodes
* Support keyword only arguments without defaults
* Add non-interrupting edges from raise statements
* Bump version number
v1.2.0
v1.1.0
- Adds a module frame to catch raises in top-level code.
- Also marks except expressions and finally blocks as branch points.
The branch kinds are: branches, except_branches, and reraise_branches.
- branches are your usual branch decisions: ifs, fors, and whiles.
- except_branches are at "except E:" statements, with True indicating the exception matches and False indicating it does not
- reraise_branches are at the end of "finally:" blocks, with True indicating the path taken after finally if an error has been raised previously, and False indicating the path taken if there's nothing to reraise at the end of the finally.
v1.0.1
python_graphs v1.0.0
v1.0.0
Initial public release of the python_graphs library.
Core features:
- control flow graph generation
- data flow analyses
- program graph construction
- cyclomatic complexity calculation
- a solid test suite for all the above
- visualizations using graphviz for each of the graph representations