Skip to content
This repository has been archived by the owner on Oct 14, 2024. It is now read-only.

Releases: google-research/python-graphs

v1.2.3

07 Oct 15:55
44c15b9
Compare
Choose a tag to compare

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

05 Oct 18:19
afd86c5
Compare
Choose a tag to compare

Introduce get_branches API on control flow nodes. Previously the new branch types (except_branches and reraise_branches) were only accessible on basic blocks, not on individual nodes.

v1.1.0

05 Oct 16:15
da010ce
Compare
Choose a tag to compare
  1. Adds a module frame to catch raises in top-level code.
  2. 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

07 May 18:35
Compare
Choose a tag to compare

Includes __init__.py files to allow use of python_graphs library from Python 2.

python_graphs v1.0.0

12 Apr 14:35
Compare
Choose a tag to compare

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