4040'''This module provides management of variable access information.'''
4141
4242
43- from typing import Optional
43+ from typing import TYPE_CHECKING , Optional
4444
4545from psyclone .core .access_type import AccessType
4646from psyclone .core .component_indices import ComponentIndices
4747from psyclone .errors import InternalError
48- from psyclone .psyir .nodes import Node
48+ if TYPE_CHECKING :
49+ from psyclone .psyir .nodes import Node
4950
5051
5152class AccessInfo ():
@@ -59,8 +60,9 @@ class AccessInfo():
5960
6061 '''
6162 def __init__ (
62- self , access_type : AccessType , node : Node ,
63- component_indices : Optional [list [list [Node ]] | ComponentIndices ] = None
63+ self , access_type : AccessType , node : 'Node' ,
64+ component_indices : Optional [list [list ['Node' ]] |
65+ ComponentIndices ] = None
6466 ):
6567 self ._access_type = access_type
6668 self ._node = node
@@ -310,8 +312,9 @@ def all_write_accesses(self):
310312 if access .access_type in AccessType .all_write_accesses ()]
311313
312314 def add_access (
313- self , access_type : AccessType , node : Node ,
314- component_indices : Optional [list [list [Node ]] | ComponentIndices ] = None
315+ self , access_type : AccessType , node : 'Node' ,
316+ component_indices : Optional [list [list ['Node' ]] |
317+ ComponentIndices ] = None
315318 ):
316319 '''Adds access information to this variable.
317320
0 commit comments