5757@export
5858@unique
5959class Direction (Enum ):
60- """A ``Direction`` is an enumeration and represents a direction in a range (``to`` or ``downto``)."""
60+ """An enumeration representing a direction in a range (``to`` or ``downto``)."""
6161
6262 To = 0 #: Ascending direction
6363 DownTo = 1 #: Descending direction
@@ -66,7 +66,7 @@ def __str__(self):
6666 """
6767 Formats the direction to ``to`` or ``downto``.
6868
69- :return : Formatted direction.
69+ :returns : Formatted direction.
7070 """
7171 return ("to" , "downto" )[cast (int , self .value )] # TODO: check performance
7272
@@ -92,13 +92,13 @@ def __str__(self):
9292 """
9393 Formats the direction.
9494
95- :return : Formatted direction.
95+ :returns : Formatted direction.
9696 """
9797 return ("" , "in" , "out" , "inout" , "buffer" , "linkage" )[cast (int , self .value )] # TODO: check performance
9898
9999
100100@export
101- class ModelEntity (metaclass = ExtendedType , useSlots = True ):
101+ class ModelEntity (metaclass = ExtendedType , slots = True ):
102102 """
103103 ``ModelEntity`` is the base-class for all classes in the VHDL language model, except for mixin classes (see multiple
104104 inheritance) and enumerations.
@@ -111,7 +111,6 @@ class ModelEntity(metaclass=ExtendedType, useSlots=True):
111111
112112 def __init__ (self ):
113113 """Initializes a VHDL model entity."""
114-
115114 self ._parent = None
116115
117116 @property
@@ -132,7 +131,7 @@ def GetAncestor(self, type: Type) -> 'ModelEntity':
132131
133132
134133@export
135- class NamedEntityMixin :
134+ class NamedEntityMixin ( metaclass = ExtendedType , mixin = True ) :
136135 """
137136 A ``NamedEntityMixin`` is a mixin class for all VHDL entities that have identifiers.
138137
@@ -172,7 +171,7 @@ def NormalizedIdentifier(self) -> str:
172171
173172
174173@export
175- class MultipleNamedEntityMixin :
174+ class MultipleNamedEntityMixin ( metaclass = ExtendedType , mixin = True ) :
176175 """
177176 A ``MultipleNamedEntityMixin`` is a mixin class for all VHDL entities that declare multiple instances at once by
178177 defining multiple identifiers.
@@ -213,7 +212,7 @@ def NormalizedIdentifiers(self) -> Tuple[str]:
213212
214213
215214@export
216- class LabeledEntityMixin :
215+ class LabeledEntityMixin ( metaclass = ExtendedType , mixin = True ) :
217216 """
218217 A ``LabeledEntityMixin`` is a mixin class for all VHDL entities that can have labels.
219218
@@ -252,7 +251,7 @@ def NormalizedLabel(self) -> Nullable[str]:
252251
253252
254253@export
255- class DocumentedEntityMixin :
254+ class DocumentedEntityMixin ( metaclass = ExtendedType , mixin = True ) :
256255 """
257256 A ``DocumentedEntityMixin`` is a mixin class for all VHDL entities that can have an associated documentation.
258257
@@ -281,7 +280,7 @@ def Documentation(self) -> Nullable[str]:
281280
282281
283282@export
284- class ConditionalMixin :
283+ class ConditionalMixin ( metaclass = ExtendedType , mixin = True ) :
285284 """A ``BaseConditional`` is a mixin-class for all statements with a condition."""
286285
287286 _condition : ExpressionUnion
@@ -297,38 +296,38 @@ def Condition(self) -> ExpressionUnion:
297296
298297
299298@export
300- class BranchMixin :
299+ class BranchMixin ( metaclass = ExtendedType , mixin = True ) :
301300 """A ``BaseBranch`` is a mixin-class for all statements with branches."""
302301
303302 def __init__ (self ):
304303 pass
305304
306305
307306@export
308- class ConditionalBranchMixin (BranchMixin , ConditionalMixin ):
307+ class ConditionalBranchMixin (BranchMixin , ConditionalMixin , mixin = True ):
309308 """A ``BaseBranch`` is a mixin-class for all branch statements with a condition."""
310309 def __init__ (self , condition : ExpressionUnion ):
311310 super ().__init__ ()
312311 ConditionalMixin .__init__ (self , condition )
313312
314313
315314@export
316- class IfBranchMixin (ConditionalBranchMixin ):
315+ class IfBranchMixin (ConditionalBranchMixin , mixin = True ):
317316 """A ``BaseIfBranch`` is a mixin-class for all if-branches."""
318317
319318
320319@export
321- class ElsifBranchMixin (ConditionalBranchMixin ):
320+ class ElsifBranchMixin (ConditionalBranchMixin , mixin = True ):
322321 """A ``BaseElsifBranch`` is a mixin-class for all elsif-branches."""
323322
324323
325324@export
326- class ElseBranchMixin (BranchMixin ):
325+ class ElseBranchMixin (BranchMixin , mixin = True ):
327326 """A ``BaseElseBranch`` is a mixin-class for all else-branches."""
328327
329328
330329@export
331- class ReportStatementMixin :
330+ class ReportStatementMixin ( metaclass = ExtendedType , mixin = True ) :
332331 """A ``MixinReportStatement`` is a mixin-class for all report and assert statements."""
333332
334333 _message : Nullable [ExpressionUnion ]
@@ -353,15 +352,15 @@ def Severity(self) -> Nullable[ExpressionUnion]:
353352
354353
355354@export
356- class AssertStatementMixin (ReportStatementMixin , ConditionalMixin ):
355+ class AssertStatementMixin (ReportStatementMixin , ConditionalMixin , mixin = True ):
357356 """A ``MixinAssertStatement`` is a mixin-class for all assert statements."""
358357
359358 def __init__ (self , condition : ExpressionUnion , message : ExpressionUnion = None , severity : ExpressionUnion = None ):
360359 super ().__init__ (message , severity )
361360 ConditionalMixin .__init__ (self , condition )
362361
363362
364- class BlockStatementMixin :
363+ class BlockStatementMixin ( metaclass = ExtendedType , mixin = True ) :
365364 """A ``BlockStatement`` is a mixin-class for all block statements."""
366365
367366 def __init__ (self ):
0 commit comments