98
98
####################################################################################################
99
99
100
100
import logging
101
+ from typing import TYPE_CHECKING
101
102
102
103
# pylint: disable=no-name-in-module
103
104
from ..Unit import U_m , U_s , U_A , U_V , U_Degree , U_Ω , U_F , U_H , U_Hz
104
105
# pylint: enable=no-name-in-module
105
106
from .Element import (
107
+ Element ,
106
108
AnyPinElement ,
107
109
FixedPinElement ,
108
110
NPinElement ,
128
130
from .StringTools import join_list , join_dict
129
131
from .unit import str_spice
130
132
133
+ if TYPE_CHECKING :
134
+ from .Netlist import Netlist
135
+
131
136
####################################################################################################
132
137
133
138
_module_logger = logging .getLogger (__name__ )
@@ -159,10 +164,8 @@ class SubCircuitElement(NPinElement):
159
164
160
165
##############################################
161
166
162
- def __init__ (self , netlist , name , subcircuit_name , * nodes , ** parameters ):
163
-
167
+ def __init__ (self , netlist : 'Netlist' , name : str , subcircuit_name , * nodes , ** parameters ) -> None :
164
168
super ().__init__ (netlist , name , nodes , subcircuit_name )
165
-
166
169
# Fixme: match parameters to subcircuit
167
170
self .parameters = parameters
168
171
@@ -175,14 +178,14 @@ def __init__(self, netlist, name, subcircuit_name, *nodes, **parameters):
175
178
176
179
##############################################
177
180
178
- def copy_to (self , netlist ) :
181
+ def copy_to (self , netlist : 'Netlist' ) -> Element :
179
182
element = self .__class__ (netlist , self ._name , self .subcircuit_name , * self .node_names , ** self .parameters )
180
183
# Element.copy_to(self, element)
181
184
return element
182
185
183
186
##############################################
184
187
185
- def format_spice_parameters (self ):
188
+ def format_spice_parameters (self ) -> str :
186
189
""" Return the formatted list of parameters. """
187
190
spice_parameters = super ().format_spice_parameters ()
188
191
if self .parameters :
@@ -663,7 +666,7 @@ class CoupledInductor(AnyPinElement):
663
666
664
667
##############################################
665
668
666
- def __init__ (self , name , * args , ** kwargs ):
669
+ def __init__ (self , name : str , * args , ** kwargs ) -> None :
667
670
super ().__init__ (name , * args , ** kwargs )
668
671
self ._inductors = []
669
672
for inductor in (self .inductor1 , self .inductor2 ):
@@ -1015,14 +1018,14 @@ class NonLinearVoltageSource(DipoleElement):
1015
1018
1016
1019
##############################################
1017
1020
1018
- def __init__ (self , name , * args , ** kwargs ):
1021
+ def __init__ (self , name : str , * args , ** kwargs ) -> None :
1019
1022
super ().__init__ (name , * args , ** kwargs )
1020
1023
self .expression = kwargs .get ('expression' , None )
1021
1024
self .table = kwargs .get ('table' , None )
1022
1025
1023
1026
##############################################
1024
1027
1025
- def __str__ (self ):
1028
+ def __str__ (self ) -> str :
1026
1029
spice_element = self .format_node_names ()
1027
1030
# Fixme: expression
1028
1031
if self .table is not None :
@@ -1499,7 +1502,7 @@ class LosslessTransmissionLine(TwoPortElement):
1499
1502
1500
1503
##############################################
1501
1504
1502
- def __init__ (self , name , * args , ** kwargs ):
1505
+ def __init__ (self , name : str , * args , ** kwargs ) -> None :
1503
1506
super ().__init__ (name , * args , ** kwargs )
1504
1507
if not (self .has_parameter ('time_delay' ) or
1505
1508
(self .has_parameter ('frequency' ) and self .has_parameter ('normalized_length' ))):
@@ -1562,7 +1565,7 @@ class CoupledMulticonductorLine(NPinElement):
1562
1565
1563
1566
##############################################
1564
1567
1565
- def __init__ (self , netlist , name , * nodes , ** parameters ):
1568
+ def __init__ (self , netlist : 'Netlist' , name : str , * nodes , ** parameters ) -> None :
1566
1569
super ().__init__ (netlist , name , nodes , ** parameters )
1567
1570
1568
1571
####################################################################################################
@@ -1676,7 +1679,7 @@ class XSpiceElement(NPinElement):
1676
1679
1677
1680
##############################################
1678
1681
1679
- def __init__ (self , netlist , name , * nodes , ** parameters ):
1682
+ def __init__ (self , netlist : 'Netlist' , name : str , * nodes , ** parameters ) -> None :
1680
1683
# Fixme: ok ???
1681
1684
super ().__init__ (netlist , name , nodes , ** parameters )
1682
1685
@@ -1698,5 +1701,5 @@ class GSSElement(NPinElement):
1698
1701
1699
1702
##############################################
1700
1703
1701
- def __init__ (self ):
1704
+ def __init__ (self ) -> None :
1702
1705
raise NotImplementedError
0 commit comments