aboutsummaryrefslogtreecommitdiffstats
path: root/pyGHDL/dom
diff options
context:
space:
mode:
authorPatrick Lehmann <Patrick.Lehmann@plc2.de>2022-12-26 22:40:28 +0100
committerPatrick Lehmann <Patrick.Lehmann@plc2.de>2022-12-26 22:40:28 +0100
commit78a439d9e8a220125895312162fcebe62863f261 (patch)
treebe3fdc4535dd267815f5a2281d2f2e5e35a80760 /pyGHDL/dom
parentf1059ae910767d5bb89244175d892a34e57fab63 (diff)
downloadghdl-78a439d9e8a220125895312162fcebe62863f261.tar.gz
ghdl-78a439d9e8a220125895312162fcebe62863f261.tar.bz2
ghdl-78a439d9e8a220125895312162fcebe62863f261.zip
Replaced specific code with routines from pyVHDLModel.
Diffstat (limited to 'pyGHDL/dom')
-rw-r--r--pyGHDL/dom/_Utils.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/pyGHDL/dom/_Utils.py b/pyGHDL/dom/_Utils.py
index 87dd227a8..185f07bc4 100644
--- a/pyGHDL/dom/_Utils.py
+++ b/pyGHDL/dom/_Utils.py
@@ -41,7 +41,7 @@ from pyGHDL.libghdl import LibGHDLException, name_table, errorout_memory, files_
from pyGHDL.libghdl._types import Iir
from pyGHDL.libghdl.vhdl import nodes, utils
from pyGHDL.libghdl.vhdl.nodes import Null_Iir
-from pyGHDL.dom import DOMException
+from pyGHDL.dom import DOMException, Position
__MODE_TRANSLATION = {
nodes.Iir_Mode.In_Mode: Mode.In,
@@ -138,6 +138,7 @@ def GetModeOfNode(node: Iir) -> Mode:
except KeyError as ex:
raise DOMException(f"Unknown mode '{ex.args[0]}'.") from ex
+
def GetPackageMemberSymbol(node: Iir) -> Union[PackageMembersReferenceSymbol, AllPackageMembersReferenceSymbol]:
kind = GetIirKindOfNode(node)
prefixName = GetPackageSymbol(nodes.Get_Prefix(node))
@@ -147,7 +148,8 @@ def GetPackageMemberSymbol(node: Iir) -> Union[PackageMembersReferenceSymbol, Al
elif kind == nodes.Iir_Kind.Selected_By_All_Name:
return AllPackageMembersReferenceSymbol(node, prefixName)
else:
- raise DOMException()
+ raise DOMException(f"{kind.name} at {Position.parse(node)}")
+
def GetPackageSymbol(node: Iir) -> PackageReferenceSymbol:
kind = GetIirKindOfNode(node)
@@ -156,7 +158,8 @@ def GetPackageSymbol(node: Iir) -> PackageReferenceSymbol:
prefixName = GetLibrarySymbol(nodes.Get_Prefix(node))
return PackageReferenceSymbol(node, name, prefixName)
else:
- raise DOMException()
+ raise DOMException(f"{kind.name} at {Position.parse(node)}")
+
def GetLibrarySymbol(node: Iir) -> LibraryReferenceSymbol:
kind = GetIirKindOfNode(node)
@@ -164,4 +167,4 @@ def GetLibrarySymbol(node: Iir) -> LibraryReferenceSymbol:
name = GetNameOfNode(node)
return LibraryReferenceSymbol(node, name)
else:
- raise DOMException()
+ raise DOMException(f"{kind} at {Position.parse(node)}")