from bu4.evaluation.elinked import ELinked from bu4.parsing.linked import Linked from bu4.evaluation.aftervalue import Evaluable, EValue, AVTarget, envtype __all__ = ('AVCall',) class AVCall(AVTarget): def __init__(self, env: envtype, argument: Linked): self.env = env self.argument = argument def given(self, value: EValue) -> Evaluable: return value.call(ELinked(self.env, self.argument))