Skip to content

Commit d4647f7

Browse files
committed
kevm-pyk/{utils,__main__}: KCFG.replace_node returns new node id and preserves cover data
1 parent 62ca226 commit d4647f7

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

kevm-pyk/src/kevm_pyk/__main__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -353,8 +353,8 @@ def _write_cfg(_cfg: KCFG, _cfgpath: Path) -> None:
353353
init_term = foundry.simplify(CTerm(init_term))
354354
_LOGGER.info(f'Simplifying target state for test: {test}')
355355
target_term = foundry.simplify(CTerm(target_term))
356-
cfg = KCFG__replace_node(cfg, cfg.get_unique_init().id, CTerm(init_term))
357-
cfg = KCFG__replace_node(cfg, cfg.get_unique_target().id, CTerm(target_term))
356+
cfg, _ = KCFG__replace_node(cfg, cfg.get_unique_init().id, CTerm(init_term))
357+
cfg, _ = KCFG__replace_node(cfg, cfg.get_unique_target().id, CTerm(target_term))
358358
kcfgs[test] = (cfg, kcfg_file)
359359
_write_cfg(cfg, kcfg_file)
360360
else:

kevm-pyk/src/kevm_pyk/utils.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Collection, Iterable, List
1+
from typing import Collection, Iterable, List, Tuple
22

33
from pyk.cterm import CTerm
44
from pyk.kast.inner import KApply, KInner, KRewrite, KVariable
@@ -36,7 +36,7 @@ def _expand_macros(_term: KInner) -> KInner:
3636
return term
3737

3838

39-
def KCFG__replace_node(cfg: KCFG, node_id: str, new_cterm: CTerm) -> KCFG: # noqa: N802
39+
def KCFG__replace_node(cfg: KCFG, node_id: str, new_cterm: CTerm) -> Tuple[KCFG, str]: # noqa: N802
4040

4141
# Remove old node, record data
4242
node = cfg.node(node_id)
@@ -57,9 +57,9 @@ def KCFG__replace_node(cfg: KCFG, node_id: str, new_cterm: CTerm) -> KCFG: # no
5757
for out_edge in out_edges:
5858
cfg.create_edge(new_node.id, out_edge.target.id, out_edge.condition, out_edge.depth)
5959
for in_cover in in_covers:
60-
cfg.create_cover(in_cover.source.id, new_node.id)
60+
cfg.create_cover(in_cover.source.id, new_node.id, subst=in_cover.subst, constraint=in_cover.constraint)
6161
for out_cover in out_covers:
62-
cfg.create_cover(new_node.id, out_cover.target.id)
62+
cfg.create_cover(new_node.id, out_cover.target.id, subst=in_cover.subst, constraint=in_cover.constraint)
6363
if init:
6464
cfg.add_init(new_node.id)
6565
if target:
@@ -70,7 +70,7 @@ def KCFG__replace_node(cfg: KCFG, node_id: str, new_cterm: CTerm) -> KCFG: # no
7070
if in_expanded[nid]:
7171
cfg.add_expanded(nid)
7272

73-
return cfg
73+
return (cfg, new_node.id)
7474

7575

7676
def KPrint_make_unparsing(_self: KPrint, extra_modules: Iterable[KFlatModule] = ()) -> KPrint: # noqa: N802

0 commit comments

Comments
 (0)