You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixes: runtimeverification/pyk#965
Stores node attributes `terminal`,`stuck`, and `vacuous` in nodes rather
than in KCFG or KCFGExploration.
- adds `attr` field to KCFG.Node
- adds enums `NodeAttr` (base), `KCFGNodeAttr`, and
`KCFGExplorationNodeAttr`
- adds `add_attr`, `remove_attr`, and `discard_attr` to kcfg for
updating the attrs of a given node, which replaces the node with a new
one, since nodes are immutable.
- `replace_node` now takes a node. `let_node` is now for updating
specific fields of nodes.
- Checks `terminal`, `stuck`, and `vacuous` by reference to the
attributes on the node
- Removes separate `terminal`, `stuck` and `vacuous` lists.
- `from_dict` and `to_dict` on `Node` and `KCFG` updated to store
relevant attributes in the node dicts. `KCFGStore` translates to and
from the existing on-disk format.
- Tests in `test_proof.py` previously using `read_proof` and
`write_proof` are now using `read_proof_data` and `write_proof_data`,
since the older way of reading and writing does not use the `KCFGStore`
and relies on `KCFG.to_dict` directly, without the translation.
---------
Co-authored-by: devops <[email protected]>
0 commit comments