builtup4/bu4/linking/constructs/lnull.py

28 lines
852 B
Python

# Copyright (c) PARRRATE T&V 2021. All rights reserved.
from bu4.evaluation.av.envtype import envtype
from bu4.evaluation.constructs.enull import ENull
from bu4.evaluation.constructs.evaluable import Evaluable
from bu4.indexing.constructs.indexed import Indexed
from bu4.indexing.constructs.inull import INull
from bu4.linking.constructs.linked import Linked
from bu4.transform.states.transformfinished import TransformFinished
from bu4.transform.states.transformstate import TransformState
__all__ = ('LNull',)
class LNull(Linked):
def __init__(self):
self.future = set()
self.multifuture = set()
def attach(self, env: envtype) -> Evaluable:
return ENull()
def index(self, promise: list[bytes]) -> TransformState[Indexed]:
return TransformFinished(INull())
def __str__(self):
return '?'