diff options
-rw-r--r-- | pyGHDL/dom/Type.py | 4 | ||||
-rw-r--r-- | pyGHDL/dom/_Translate.py | 20 |
2 files changed, 24 insertions, 0 deletions
diff --git a/pyGHDL/dom/Type.py b/pyGHDL/dom/Type.py index 98b92b3f0..969ec5643 100644 --- a/pyGHDL/dom/Type.py +++ b/pyGHDL/dom/Type.py @@ -229,6 +229,10 @@ class RecordType(VHDLModel_RecordType, DOMMixin): else: break index += 1 + + # The last consecutive identifiers has no Identifier_List flag + if not nodes.Get_Has_Identifier_List(nextNode): + break else: index += 1 diff --git a/pyGHDL/dom/_Translate.py b/pyGHDL/dom/_Translate.py index 8a76f8a4f..44915c026 100644 --- a/pyGHDL/dom/_Translate.py +++ b/pyGHDL/dom/_Translate.py @@ -499,6 +499,11 @@ def GetGenericsFromChainedNodes( else: generic = nextGeneric break + + # The last consecutive identifiers has no Identifier_List flag + if not nodes.Get_Has_Identifier_List(nextGeneric): + generic = nodes.Get_Chain(nextGeneric) + break else: generic = nodes.Null_Iir else: @@ -554,6 +559,11 @@ def GetPortsFromChainedNodes( else: port = nextPort break + + # The last consecutive identifiers has no Identifier_List flag + if not nodes.Get_Has_Identifier_List(nextPort): + port = nodes.Get_Chain(nextPort) + break else: port = nodes.Null_Iir else: @@ -622,6 +632,11 @@ def GetParameterFromChainedNodes( else: parameter = nextParameter break + + # The last consecutive identifiers has no Identifier_List flag + if not nodes.Get_Has_Identifier_List(nextParameter): + parameter = nodes.Get_Chain(nextParameter) + break else: parameter = nodes.Null_Iir else: @@ -754,6 +769,11 @@ def GetDeclaredItemsFromChainedNodes( else: item = nextItem break + + # The last consecutive identifiers has no Identifier_List flag + if not nodes.Get_Has_Identifier_List(nextItem): + item = nodes.Get_Chain(nextItem) + break else: item = nodes.Null_Iir else: |