builtup4/bu4/parsing/extensions/extension.py

23 lines
583 B
Python

# Copyright (c) PARRRATE T&V 2021. All rights reserved.
from abc import ABC
from typing import TypeVar
from bu4.parsing.abstractparser import AbstractParser
from bu4.parsing.extensions.abstractextension import AbstractExtension
__all__ = ('Extension',)
T = TypeVar('T')
class Extension(AbstractExtension[T], ABC):
def __init_subclass__(cls, /, code: int = None, **kwargs):
super().__init_subclass__(**kwargs)
if code is None:
raise TypeError
cls.code = code
def __init__(self, parser: AbstractParser):
self.parser = parser