# Copyright (c) PARRRATE T&V 2021. All rights reserved. __all__ = ('PName',) from bu4.linking.constructs.lname import LName from bu4.linking.states.linkingfinished import LinkingFinished from bu4.linking.states.linkingstate import LinkingState from bu4.parsing.constructs.parsed import Parsed class PName(Parsed): def __init__(self, name: bytes): self.name = name def link(self, promise: set[bytes]) -> LinkingState: assert self.name in promise, f'undefined: {self.name}' return LinkingFinished(LName(self.name))