19 lines
625 B
Python
19 lines
625 B
Python
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
|
|
|
from bu4.linking.constructs.linked import Linked
|
|
from bu4.linking.constructs.lname import LName
|
|
from bu4.linkable.constructs.parsed import Parsed
|
|
from bu4.transform.states.transformfinished import TransformFinished
|
|
from bu4.transform.states.transformstate import TransformState
|
|
|
|
__all__ = ('PName',)
|
|
|
|
|
|
class PName(Parsed):
|
|
def __init__(self, name: bytes):
|
|
self.name = name
|
|
|
|
def link(self, promise: set[bytes]) -> TransformState[Linked]:
|
|
assert self.name in promise, f'undefined: {self.name}'
|
|
return TransformFinished(LName(self.name))
|