Skip to content

Interface

oqd_compiler_infrastructure.interface

VisitableBaseModel

Bases: BaseModel

Class representing a visitable datastruct

Source code in oqd-compiler-infrastructure/src/oqd_compiler_infrastructure/interface.py
class VisitableBaseModel(BaseModel):
    """
    Class representing a visitable datastruct
    """

    model_config = ConfigDict(validate_assignment=True)

    def accept(self, pass_):
        return pass_(self)

TypeReflectBaseModel

Bases: VisitableBaseModel

Class representing a datastruct with type reflection

Source code in oqd-compiler-infrastructure/src/oqd_compiler_infrastructure/interface.py
class TypeReflectBaseModel(VisitableBaseModel):
    """
    Class representing a datastruct with type reflection
    """

    def __init_subclass__(cls, **kwargs):
        super().__init_subclass__(**kwargs)
        cls.__annotations__ = dict(class_=Literal[cls.__name__], **cls.__annotations__)
        setattr(cls, "class_", cls.__name__)