hdl._ast: Make AST nodes immutable.

Fixes #1067.
This commit is contained in:
Wanda 2024-02-28 09:26:19 +01:00 committed by Catherine
parent 3271f85650
commit 2bf1b4dafc
3 changed files with 186 additions and 82 deletions

View file

@ -1237,10 +1237,6 @@ class SignalTestCase(FHDLTestCase):
with self.assertWarnsRegex(DeprecationWarning,
r"^`Signal.reset` is deprecated, use `Signal.init` instead$"):
self.assertEqual(s1.reset, 0b111)
with self.assertWarnsRegex(DeprecationWarning,
r"^`Signal.reset` is deprecated, use `Signal.init` instead$"):
s1.reset = 0b010
self.assertEqual(s1.init, 0b010)
with self.assertWarnsRegex(DeprecationWarning,
r"^`reset=` is deprecated, use `init=` instead$"):
s2 = Signal.like(s1, reset=3)

View file

@ -194,20 +194,6 @@ class RecordTestCase(FHDLTestCase):
r4 = Record.like(r1, name_suffix="foo")
self.assertEqual(r4.name, "r1foo")
def test_like_modifications(self):
r1 = Record([("a", 1), ("b", [("s", 1)])])
self.assertEqual(r1.a.name, "r1__a")
self.assertEqual(r1.b.name, "r1__b")
self.assertEqual(r1.b.s.name, "r1__b__s")
r1.a.init = 1
r1.b.s.init = 1
r2 = Record.like(r1)
self.assertEqual(r2.a.init, 1)
self.assertEqual(r2.b.s.init, 1)
self.assertEqual(r2.a.name, "r2__a")
self.assertEqual(r2.b.name, "r2__b")
self.assertEqual(r2.b.s.name, "r2__b__s")
def test_slice_tuple(self):
r1 = Record([("a", 1), ("b", 2), ("c", 3)])
r2 = r1["a", "c"]