tracer: factor out get_var_name(default=).
This commit is contained in:
parent
cac4b10b82
commit
e93bf4bf4b
|
@ -581,12 +581,7 @@ class Signal(Value, DUID):
|
||||||
attrs=None, decoder=None, src_loc_at=0):
|
attrs=None, decoder=None, src_loc_at=0):
|
||||||
super().__init__(src_loc_at=src_loc_at)
|
super().__init__(src_loc_at=src_loc_at)
|
||||||
|
|
||||||
if name is None:
|
self.name = name or tracer.get_var_name(depth=2 + src_loc_at, default="$signal")
|
||||||
try:
|
|
||||||
name = tracer.get_var_name(depth=2 + src_loc_at)
|
|
||||||
except tracer.NameNotFound:
|
|
||||||
name = "$signal"
|
|
||||||
self.name = name
|
|
||||||
|
|
||||||
if shape is None:
|
if shape is None:
|
||||||
if min is None:
|
if min is None:
|
||||||
|
@ -625,12 +620,8 @@ class Signal(Value, DUID):
|
||||||
other : Value
|
other : Value
|
||||||
Object to base this Signal on.
|
Object to base this Signal on.
|
||||||
"""
|
"""
|
||||||
if name is None:
|
name = name or tracer.get_var_name(depth=2 + src_loc_at, default="$like")
|
||||||
try:
|
kw = dict(shape=cls.wrap(other).shape(), name=name)
|
||||||
name = tracer.get_var_name(depth=2 + src_loc_at)
|
|
||||||
except tracer.NameNotFound:
|
|
||||||
name = "$like"
|
|
||||||
kw = dict(shape=cls.wrap(other).shape(), name=name)
|
|
||||||
if isinstance(other, cls):
|
if isinstance(other, cls):
|
||||||
kw.update(reset=other.reset, reset_less=other.reset_less,
|
kw.update(reset=other.reset, reset_less=other.reset_less,
|
||||||
attrs=other.attrs, decoder=other.decoder)
|
attrs=other.attrs, decoder=other.decoder)
|
||||||
|
|
|
@ -15,12 +15,7 @@ class Memory:
|
||||||
raise TypeError("Memory depth must be a non-negative integer, not '{!r}'"
|
raise TypeError("Memory depth must be a non-negative integer, not '{!r}'"
|
||||||
.format(depth))
|
.format(depth))
|
||||||
|
|
||||||
if name is None:
|
self.name = name or tracer.get_var_name(depth=2, default="$memory")
|
||||||
try:
|
|
||||||
name = tracer.get_var_name(depth=2)
|
|
||||||
except tracer.NameNotFound:
|
|
||||||
name = "$memory"
|
|
||||||
self.name = name
|
|
||||||
self.src_loc = tracer.get_src_loc()
|
self.src_loc = tracer.get_src_loc()
|
||||||
|
|
||||||
self.width = width
|
self.width = width
|
||||||
|
@ -194,10 +189,7 @@ class DummyPort:
|
||||||
if granularity is None:
|
if granularity is None:
|
||||||
granularity = width
|
granularity = width
|
||||||
if name is None:
|
if name is None:
|
||||||
try:
|
name = tracer.get_var_name(depth=2, default="dummy")
|
||||||
name = tracer.get_var_name(depth=2)
|
|
||||||
except tracer.NameNotFound:
|
|
||||||
name = "dummy"
|
|
||||||
|
|
||||||
self.addr = Signal(addr_bits,
|
self.addr = Signal(addr_bits,
|
||||||
name="{}_addr".format(name))
|
name="{}_addr".format(name))
|
||||||
|
|
|
@ -64,10 +64,8 @@ class Layout:
|
||||||
class Record(Value):
|
class Record(Value):
|
||||||
def __init__(self, layout, name=None):
|
def __init__(self, layout, name=None):
|
||||||
if name is None:
|
if name is None:
|
||||||
try:
|
name = tracer.get_var_name(default=None)
|
||||||
name = tracer.get_var_name()
|
|
||||||
except tracer.NameNotFound:
|
|
||||||
pass
|
|
||||||
self.name = name
|
self.name = name
|
||||||
self.src_loc = tracer.get_src_loc()
|
self.src_loc = tracer.get_src_loc()
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,10 @@ class NameNotFound(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
def get_var_name(depth=2):
|
_raise_exception = object()
|
||||||
|
|
||||||
|
|
||||||
|
def get_var_name(depth=2, default=_raise_exception):
|
||||||
frame = inspect.currentframe()
|
frame = inspect.currentframe()
|
||||||
for _ in range(depth):
|
for _ in range(depth):
|
||||||
frame = frame.f_back
|
frame = frame.f_back
|
||||||
|
@ -37,7 +40,10 @@ def get_var_name(depth=2):
|
||||||
"DUP_TOP", "BUILD_LIST"):
|
"DUP_TOP", "BUILD_LIST"):
|
||||||
index += 2
|
index += 2
|
||||||
else:
|
else:
|
||||||
raise NameNotFound
|
if default is _raise_exception:
|
||||||
|
raise NameNotFound
|
||||||
|
else:
|
||||||
|
return default
|
||||||
|
|
||||||
|
|
||||||
def get_src_loc(src_loc_at=0):
|
def get_src_loc(src_loc_at=0):
|
||||||
|
|
Loading…
Reference in a new issue