diff options
Diffstat (limited to 'pyGHDL/dom/Object.py')
-rw-r--r-- | pyGHDL/dom/Object.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pyGHDL/dom/Object.py b/pyGHDL/dom/Object.py index 746971bac..953fddc41 100644 --- a/pyGHDL/dom/Object.py +++ b/pyGHDL/dom/Object.py @@ -37,6 +37,7 @@ from pyGHDL.dom._Translate import GetSubtypeIndicationFromNode, GetExpressionFro from pyGHDL.dom._Utils import GetNameOfNode from pyVHDLModel.VHDLModel import ( Constant as VHDLModel_Constant, + DeferredConstant as VHDLModel_DeferredConstant, Variable as VHDLModel_Variable, Signal as VHDLModel_Signal, Expression, @@ -67,6 +68,24 @@ class Constant(VHDLModel_Constant): @export +class DeferredConstant(VHDLModel_DeferredConstant): + def __init__(self, name: str, subType: SubTypeOrSymbol): + super().__init__(name) + + self._name = name + self._subType = subType + + @classmethod + def parse(cls, node): + name = GetNameOfNode(node) + subTypeIndication = GetSubtypeIndicationFromNode( + node, "deferred constant", name + ) + + return cls(name, subTypeIndication) + + +@export class Variable(VHDLModel_Variable): def __init__( self, name: str, subType: SubTypeOrSymbol, defaultExpression: Expression |