aboutsummaryrefslogtreecommitdiffstats
path: root/pyGHDL/dom/Aggregates.py
diff options
context:
space:
mode:
authorPatrick Lehmann <Patrick.Lehmann@plc2.de>2021-06-18 18:26:19 +0200
committerPatrick Lehmann <Patrick.Lehmann@plc2.de>2021-06-19 15:25:07 +0200
commitbc693d0a5a725a2806656117d65b926150e71cb4 (patch)
tree6f951c1552ff2b172a5fc192533047b347d9a7f2 /pyGHDL/dom/Aggregates.py
parent4e227b02c6ff0c12ce586295a88176a9af2c3889 (diff)
downloadghdl-bc693d0a5a725a2806656117d65b926150e71cb4.tar.gz
ghdl-bc693d0a5a725a2806656117d65b926150e71cb4.tar.bz2
ghdl-bc693d0a5a725a2806656117d65b926150e71cb4.zip
Better aggregate handling
Diffstat (limited to 'pyGHDL/dom/Aggregates.py')
-rw-r--r--pyGHDL/dom/Aggregates.py21
1 files changed, 17 insertions, 4 deletions
diff --git a/pyGHDL/dom/Aggregates.py b/pyGHDL/dom/Aggregates.py
index 5a77b7e37..89acfa312 100644
--- a/pyGHDL/dom/Aggregates.py
+++ b/pyGHDL/dom/Aggregates.py
@@ -41,6 +41,8 @@ This module contains all DOM classes for VHDL's design units (:class:`context <E
"""
from pydecor import export
+from pyGHDL.dom.Range import Range
+from pyGHDL.dom.Symbol import EnumerationLiteralSymbol
from pyVHDLModel.VHDLModel import (
SimpleAggregateElement as VHDLModel_SimpleAggregateElement,
IndexedAggregateElement as VHDLModel_IndexedAggregateElement,
@@ -63,19 +65,30 @@ class SimpleAggregateElement(VHDLModel_SimpleAggregateElement):
@export
class IndexedAggregateElement(VHDLModel_IndexedAggregateElement):
- pass
+ def __init__(self, index: Expression, expression: Expression):
+ super().__init__()
+ self._index = index
+ self._expression = expression
@export
class RangedAggregateElement(VHDLModel_RangedAggregateElement):
- pass
+ def __init__(self, r: Range, expression: Expression):
+ super().__init__()
+ self._range = r
+ self._expression = expression
@export
class NamedAggregateElement(VHDLModel_NamedAggregateElement):
- pass
+ def __init__(self, name: EnumerationLiteralSymbol, expression: Expression):
+ super().__init__()
+ self._name = name
+ self._expression = expression
@export
class OthersAggregateElement(VHDLModel_OthersAggregateElement):
- pass
+ def __init__(self, expression: Expression):
+ super().__init__()
+ self._expression = expression