diff options
author | Patrick Lehmann <Patrick.Lehmann@plc2.de> | 2021-06-26 10:02:16 +0200 |
---|---|---|
committer | Patrick Lehmann <Patrick.Lehmann@plc2.de> | 2021-07-01 06:39:46 +0200 |
commit | 2492b5595c7a61e29096a217e46f9dfe2e0fd6ac (patch) | |
tree | 57d296d765b1b66ea5ce4e63d369c9e4ee6009d3 /pyGHDL/dom/_Translate.py | |
parent | 2b25719bf3a5880f428b5a58b17208b8e71eba8a (diff) | |
download | ghdl-2492b5595c7a61e29096a217e46f9dfe2e0fd6ac.tar.gz ghdl-2492b5595c7a61e29096a217e46f9dfe2e0fd6ac.tar.bz2 ghdl-2492b5595c7a61e29096a217e46f9dfe2e0fd6ac.zip |
WIP: Handle more generic interface kinds.
(cherry picked from commit 6b5606852371bdd8bdc9c8a3dcd38ef8e7eecbc9)
Diffstat (limited to 'pyGHDL/dom/_Translate.py')
-rw-r--r-- | pyGHDL/dom/_Translate.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/pyGHDL/dom/_Translate.py b/pyGHDL/dom/_Translate.py index 502a94ad3..806b6f2fa 100644 --- a/pyGHDL/dom/_Translate.py +++ b/pyGHDL/dom/_Translate.py @@ -416,6 +416,13 @@ def GetExpressionFromNode(node: Iir) -> Expression: def GetGenericsFromChainedNodes( nodeChain: Iir, ) -> Generator[GenericInterfaceItem, None, None]: + from pyGHDL.dom.InterfaceItem import ( + GenericTypeInterfaceItem, + GenericPackageInterfaceItem, + GenericProcedureInterfaceItem, + GenericFunctionInterfaceItem, + ) + for generic in utils.chain_iter(nodeChain): kind = GetIirKindOfNode(generic) if kind == nodes.Iir_Kind.Interface_Constant_Declaration: @@ -423,13 +430,13 @@ def GetGenericsFromChainedNodes( yield GenericConstantInterfaceItem.parse(generic) elif kind == nodes.Iir_Kind.Interface_Type_Declaration: - print("[NOT IMPLEMENTED] generic type") + yield GenericTypeInterfaceItem.parse(generic) elif kind == nodes.Iir_Kind.Interface_Package_Declaration: - print("[NOT IMPLEMENTED] generic package") + yield GenericPackageInterfaceItem.parse(generic) elif kind == nodes.Iir_Kind.Interface_Procedure_Declaration: - print("[NOT IMPLEMENTED] generic procedure") + yield GenericProcedureInterfaceItem.parse(generic) elif kind == nodes.Iir_Kind.Interface_Function_Declaration: - print("[NOT IMPLEMENTED] generic function") + yield GenericFunctionInterfaceItem.parse(generic) else: position = Position.parse(generic) raise DOMException( |