compat.fhdl.structure: simplify handling of default case.
This commit is contained in:
parent
e5e23644a4
commit
b1af0601fa
|
@ -92,8 +92,7 @@ class Case(ast.Switch):
|
||||||
k = k.value
|
k = k.value
|
||||||
new_cases.append((k, v))
|
new_cases.append((k, v))
|
||||||
if default is not None:
|
if default is not None:
|
||||||
k = "-" * len(ast.Value.wrap(test))
|
new_cases.append((None, default))
|
||||||
new_cases.append((k, default))
|
|
||||||
super().__init__(test, OrderedDict(new_cases))
|
super().__init__(test, OrderedDict(new_cases))
|
||||||
|
|
||||||
@deprecated("instead of `Case(...).makedefault()`, use an explicit default case: "
|
@deprecated("instead of `Case(...).makedefault()`, use an explicit default case: "
|
||||||
|
@ -106,12 +105,12 @@ class Case(ast.Switch):
|
||||||
or choice > key):
|
or choice > key):
|
||||||
key = choice
|
key = choice
|
||||||
elif isinstance(key, str) and key == "default":
|
elif isinstance(key, str) and key == "default":
|
||||||
key = "-" * len(self.test)
|
key = None
|
||||||
else:
|
else:
|
||||||
key = "{:0{}b}".format(wrap(key).value, len(self.test))
|
key = "{:0{}b}".format(wrap(key).value, len(self.test))
|
||||||
stmts = self.cases[key]
|
stmts = self.cases[key]
|
||||||
del self.cases[key]
|
del self.cases[key]
|
||||||
self.cases["-" * len(self.test)] = stmts
|
self.cases[None] = stmts
|
||||||
return self
|
return self
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue