aboutsummaryrefslogtreecommitdiffstats
path: root/pyGHDL/dom/Subprogram.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyGHDL/dom/Subprogram.py')
-rw-r--r--pyGHDL/dom/Subprogram.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/pyGHDL/dom/Subprogram.py b/pyGHDL/dom/Subprogram.py
index 4fa6b3e6a..420041a52 100644
--- a/pyGHDL/dom/Subprogram.py
+++ b/pyGHDL/dom/Subprogram.py
@@ -32,11 +32,13 @@
# ============================================================================
from pydecor import export
+from pyGHDL.dom._Utils import GetNameOfNode
from pyVHDLModel.VHDLModel import (
Function as VHDLModel_Function,
Procedure as VHDLModel_Procedure,
Expression,
)
+from pyGHDL.libghdl._types import Iir
@export
@@ -44,8 +46,20 @@ class Function(VHDLModel_Function):
def __init__(self, functionName: str):
super().__init__(functionName)
+ @classmethod
+ def parse(cls, node: Iir):
+ functionName = GetNameOfNode(node)
+
+ return cls(functionName)
+
@export
class Procedure(VHDLModel_Procedure):
def __init__(self, procedureName: str):
super().__init__(procedureName)
+
+ @classmethod
+ def parse(cls, node: Iir):
+ procedureName = GetNameOfNode(node)
+
+ return cls(procedureName)