#  Copyright (c) PARRRATE T&V 2021. All rights reserved.

from bu4.evaluation.av.envtype import envtype
from bu4.evaluation.constructs.evaluable import Evaluable
from bu4.linking.constructs.linked import Linked

__all__ = ('ELinked',)


class ELinked(Evaluable):
    def __init__(self, env: envtype, linked: Linked):
        self.env = env
        self.linked = linked

    def next(self) -> Evaluable:
        return self.linked.evaluable(self.env)

    def __str__(self):
        return f'{self.linked}'