Я занимался парсингом, и я хочу немного "набрать" в моем коде подсказки для типов. Но на классы файла ссылались и наследовали друг друга. Итак, мой код теперь спагетти: (
Я пробовал множество случаев, которые я могу сделать. Я попробовал все в одном классе, и я изменил порядок. Но ничего не изменилось. Тем не менее, есть ошибки вроде «Неразрешенная ссылка»
from abc import ABC, abstractmethod
class Expression(ABC):
class Visitor(ABC):
@abstractmethod
def visit_assign(self, expr: Assign):
pass
@abstractmethod
def accept(self, visitor: Visitor):
pass
class Assign(Expression):
def accept(self, visitor: Visitor):
# ...
Назначение было объявлено позже класса посетителя. Итак, возникает ошибка «Неразрешенная ссылка».