aboutsummaryrefslogtreecommitdiffstats
path: root/pyGHDL/dom/DesignUnit.py
diff options
context:
space:
mode:
authorPatrick Lehmann <Patrick.Lehmann@plc2.de>2023-04-16 19:43:35 +0200
committerPatrick Lehmann <Patrick.Lehmann@plc2.de>2023-04-16 19:43:35 +0200
commit61bb37c757e5167b617823d6b100edf54de154d6 (patch)
tree38147759dab3417b0bc29e3e9b6bfca5becebcbe /pyGHDL/dom/DesignUnit.py
parenta211cdcf7d5eb5f058d2e38c93092f4548283451 (diff)
downloadghdl-61bb37c757e5167b617823d6b100edf54de154d6.tar.gz
ghdl-61bb37c757e5167b617823d6b100edf54de154d6.tar.bz2
ghdl-61bb37c757e5167b617823d6b100edf54de154d6.zip
Fixed last testcase.
Diffstat (limited to 'pyGHDL/dom/DesignUnit.py')
-rw-r--r--pyGHDL/dom/DesignUnit.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/pyGHDL/dom/DesignUnit.py b/pyGHDL/dom/DesignUnit.py
index 48ae24b6f..edca0789e 100644
--- a/pyGHDL/dom/DesignUnit.py
+++ b/pyGHDL/dom/DesignUnit.py
@@ -66,13 +66,14 @@ from pyGHDL.dom import DOMMixin, Position, DOMException
from pyGHDL.dom._Utils import GetNameOfNode, GetDocumentationOfNode
from pyGHDL.dom._Translate import GetGenericsFromChainedNodes, GetPortsFromChainedNodes, GetName
from pyGHDL.dom._Translate import GetDeclaredItemsFromChainedNodes, GetConcurrentStatementsFromChainedNodes
-from pyGHDL.dom.Names import SimpleName
+from pyGHDL.dom.Names import SimpleName, AllName
from pyGHDL.dom.Symbol import (
EntitySymbol,
ContextReferenceSymbol,
LibraryReferenceSymbol,
PackageSymbol,
PackageMemberReferenceSymbol,
+ AllPackageMembersReferenceSymbol
)
@@ -92,10 +93,14 @@ class UseClause(VHDLModel_UseClause, DOMMixin):
@classmethod
def parse(cls, useNode: Iir):
nameNode = nodes.Get_Selected_Name(useNode)
- uses = [PackageMemberReferenceSymbol(nameNode, GetName(nameNode))]
+ name = GetName(nameNode)
+ symbolType = AllPackageMembersReferenceSymbol if isinstance(name, AllName) else PackageMemberReferenceSymbol
+ uses = [symbolType(nameNode, name)]
for use in utils.chain_iter(nodes.Get_Use_Clause_Chain(useNode)):
nameNode = nodes.Get_Selected_Name(use)
- uses.append(PackageMemberReferenceSymbol(nameNode, GetName(nameNode)))
+ name = GetName(nameNode)
+ symbolType = AllPackageMembersReferenceSymbol if isinstance(name, AllName) else PackageMemberReferenceSymbol
+ uses.append(symbolType(nameNode, name))
return cls(useNode, uses)