slither.utils.type_helpers

 1from typing import Union, Tuple, TYPE_CHECKING
 2
 3if TYPE_CHECKING:
 4    from slither.core.declarations import (
 5        Function,
 6        SolidityFunction,
 7        Contract,
 8        SolidityVariable,
 9    )
10    from slither.core.variables.variable import Variable
11
12### core.declaration
13# pylint: disable=used-before-assignment
14InternalCallType = Union["Function", "SolidityFunction"]
15HighLevelCallType = Tuple["Contract", Union["Function", "Variable"]]
16LibraryCallType = Tuple["Contract", "Function"]
17LowLevelCallType = Tuple[Union["Variable", "SolidityVariable"], str]
InternalCallType = typing.Union[ForwardRef('Function'), ForwardRef('SolidityFunction')]
HighLevelCallType = typing.Tuple[ForwardRef('Contract'), typing.Union[ForwardRef('Function'), ForwardRef('Variable')]]
LibraryCallType = typing.Tuple[ForwardRef('Contract'), ForwardRef('Function')]
LowLevelCallType = typing.Tuple[typing.Union[ForwardRef('Variable'), ForwardRef('SolidityVariable')], str]