"`with m.Case(): stmts`")
def __init__(self, test, cases):
new_cases = []
+ default = None
for k, v in cases.items():
if isinstance(k, (bool, int)):
k = Const(k)
and not (isinstance(k, str) and k == "default")):
raise TypeError("Case object is not a Migen constant")
if isinstance(k, str) and k == "default":
- k = "-" * len(ast.Value.wrap(test))
+ default = v
else:
k = k.value
new_cases.append((k, v))
+ if default is not None:
+ k = "-" * len(ast.Value.wrap(test))
+ new_cases.append((k, default))
super().__init__(test, OrderedDict(new_cases))
@deprecated("instead of `Case(...).makedefault()`, use an explicit default case: "