Skip to content

Commit 0122245

Browse files
committed
add type alias
1 parent 81ada6b commit 0122245

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

kevm-pyk/src/kevm_pyk/kevm.py

+9-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
from __future__ import annotations
22

33
import logging
4+
from collections.abc import Callable
45
from typing import TYPE_CHECKING, NamedTuple
56

6-
from pyk.cterm import CTerm
7+
from pyk.cterm import CTerm, CTermSymbolic
78
from pyk.kast import KInner
89
from pyk.kast.inner import (
910
KApply,
@@ -12,14 +13,15 @@
1213
KSort,
1314
KToken,
1415
KVariable,
16+
Subst,
1517
bottom_up,
1618
build_assoc,
1719
build_cons,
1820
top_down,
1921
)
2022
from pyk.kast.manip import abstract_term_safely, flatten_label, set_cell
2123
from pyk.kast.pretty import paren
22-
from pyk.kcfg.kcfg import Step
24+
from pyk.kcfg.kcfg import KCFGExtendResult, Step
2325
from pyk.kcfg.semantics import DefaultSemantics
2426
from pyk.kcfg.show import NodePrinter
2527
from pyk.ktool.kprove import KProve
@@ -33,26 +35,26 @@
3335
from pyk.proof.show import APRProofNodePrinter
3436

3537
if TYPE_CHECKING:
36-
from collections.abc import Callable, Iterable
38+
from collections.abc import Iterable
3739
from pathlib import Path
3840
from typing import Final
3941

40-
from pyk.cterm import CTermSymbolic
41-
from pyk.kast.inner import KAst, Subst
42+
from pyk.kast.inner import KAst
4243
from pyk.kast.outer import KFlatModule
4344
from pyk.kcfg import KCFG
44-
from pyk.kcfg.semantics import KCFGExtendResult
4545
from pyk.ktool.kprint import SymbolTable
4646
from pyk.utils import BugReport
4747

4848
_LOGGER: Final = logging.getLogger(__name__)
4949

50+
CustomStepImpl = Callable[[Subst, CTerm, CTermSymbolic], KCFGExtendResult | None]
51+
5052

5153
class CustomStep(NamedTuple):
5254
"""Encapsulates a custom step definition consisting of an abstract pattern and its execution function."""
5355

5456
pattern: KSequence
55-
exec_fn: Callable[[Subst, CTerm, CTermSymbolic], KCFGExtendResult | None]
57+
exec_fn: CustomStepImpl
5658

5759
def check_pattern_match(self, cterm: CTerm) -> bool:
5860
return self.pattern.match(cterm.cell('K_CELL')) is not None

0 commit comments

Comments
 (0)