Skip to content

Identifier

woke.ast.ir.yul.identifier module #

Identifier class #

Bases: YulAbc

TBD

Source code in woke/ast/ir/yul/identifier.py
class Identifier(YulAbc):
    """
    TBD
    """

    _parent: Union[
        Assignment,
        ExpressionStatement,
        ForLoop,
        If,
        Switch,
        VariableDeclaration,
        FunctionCall,
    ]
    _name: str
    _external_reference: Optional[ExternalReference]

    def __init__(self, init: IrInitTuple, identifier: YulIdentifier, parent: YulAbc):
        super().__init__(init, identifier, parent)
        self._name = identifier.name
        self._external_reference = None

    @property
    def parent(
        self,
    ) -> Union[
        Assignment,
        ExpressionStatement,
        ForLoop,
        If,
        Switch,
        VariableDeclaration,
        FunctionCall,
    ]:
        return self._parent

    @property
    def name(self) -> str:
        return self._name

    @property
    def external_reference(self) -> Optional[ExternalReference]:
        return self._external_reference