aboutsummaryrefslogtreecommitdiffstats
path: root/pyGHDL/dom/_Utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyGHDL/dom/_Utils.py')
-rw-r--r--pyGHDL/dom/_Utils.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/pyGHDL/dom/_Utils.py b/pyGHDL/dom/_Utils.py
index a39638559..1c109c9dc 100644
--- a/pyGHDL/dom/_Utils.py
+++ b/pyGHDL/dom/_Utils.py
@@ -97,6 +97,23 @@ def GetNameOfNode(node: Iir) -> str:
@export
+def GetSelectedName(node: Iir):
+ names = []
+ kind = GetIirKindOfNode(node)
+ if kind == nodes.Iir_Kind.Simple_Name:
+ return GetNameOfNode(node)
+
+ while kind != nodes.Iir_Kind.Simple_Name:
+ names.append(GetNameOfNode(node))
+ node = nodes.Get_Prefix(node)
+ kind = GetIirKindOfNode(node)
+
+ names.append(GetNameOfNode(node))
+
+ return reversed(names)
+
+
+@export
def GetModeOfNode(node: Iir) -> Mode:
"""Return the mode of a :obj:`node`."""