У меня есть следующие классы:
@dataclass
class Node:
def token(self)
...
@dataclass
class Program(Node):
statements: List[str]
@dataclass
class Statement(Node):
left: Node
...
Их довольно много, но все они, так или иначе, наследуются от Node
.
. мой код, который я пытаюсь
def run(node: Node):
if type(node) == Program:
x = node.statements
elif type(node) == Statement:
x = node.left
Pycharm жалуется на Unresolved attribute reference 'statements' for class 'Node'
.
Как правильно подсказывать тип c node
в каждом случае?