tracer: cover more CALL_* opcodes.

This commit is contained in:
Wanda 2024-04-02 15:18:00 +02:00 committed by Catherine
parent c4bbcc6f8a
commit 1deaf70ad9
2 changed files with 18 additions and 1 deletions

View file

@ -25,7 +25,7 @@ def get_var_name(depth=2, default=_raise_exception):
else:
break
if call_opc not in ("CALL_FUNCTION", "CALL_FUNCTION_KW", "CALL_FUNCTION_EX",
"CALL_METHOD", "CALL", "CALL_KW"):
"CALL_METHOD", "CALL_METHOD_KW", "CALL", "CALL_KW"):
if default is _raise_exception:
raise NameNotFound
else:

View file

@ -1,4 +1,5 @@
from amaranth.hdl._ast import *
from amaranth.hdl import _ast
from types import SimpleNamespace
from .utils import *
@ -10,6 +11,22 @@ class TracerTestCase(FHDLTestCase):
s2 = Signal()
self.assertEqual(s2.name, "s2")
def test_call_variants(self):
args = []
kwargs = {}
s1 = Signal()
self.assertEqual(s1.name, "s1")
s2 = Signal(init=0)
self.assertEqual(s2.name, "s2")
s3 = Signal(*args, **kwargs)
self.assertEqual(s3.name, "s3")
s4 = _ast.Signal()
self.assertEqual(s4.name, "s4")
s5 = _ast.Signal(init=0)
self.assertEqual(s5.name, "s5")
s6 = _ast.Signal(*args, **kwargs)
self.assertEqual(s6.name, "s6")
def test_name(self):
class Dummy:
s1 = Signal()