tracer: cover more CALL_*
opcodes.
This commit is contained in:
parent
c4bbcc6f8a
commit
1deaf70ad9
|
@ -25,7 +25,7 @@ def get_var_name(depth=2, default=_raise_exception):
|
||||||
else:
|
else:
|
||||||
break
|
break
|
||||||
if call_opc not in ("CALL_FUNCTION", "CALL_FUNCTION_KW", "CALL_FUNCTION_EX",
|
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:
|
if default is _raise_exception:
|
||||||
raise NameNotFound
|
raise NameNotFound
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
from amaranth.hdl._ast import *
|
from amaranth.hdl._ast import *
|
||||||
|
from amaranth.hdl import _ast
|
||||||
from types import SimpleNamespace
|
from types import SimpleNamespace
|
||||||
|
|
||||||
from .utils import *
|
from .utils import *
|
||||||
|
@ -10,6 +11,22 @@ class TracerTestCase(FHDLTestCase):
|
||||||
s2 = Signal()
|
s2 = Signal()
|
||||||
self.assertEqual(s2.name, "s2")
|
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):
|
def test_name(self):
|
||||||
class Dummy:
|
class Dummy:
|
||||||
s1 = Signal()
|
s1 = Signal()
|
||||||
|
|
Loading…
Reference in a new issue