hdl.ast: tighten assertion in Switch().

This commit is contained in:
whitequark 2019-06-13 03:56:49 +00:00
parent 6beba3a48b
commit f1174655b1

View file

@ -1022,12 +1022,12 @@ class Switch(Statement):
for key, stmts in cases.items():
if isinstance(key, (bool, int)):
key = "{:0{}b}".format(key, len(self.test))
assert len(key) <= len(self.test)
elif isinstance(key, str):
assert len(key) == len(self.test)
pass
else:
raise TypeError("Object '{!r}' cannot be used as a switch key"
.format(key))
assert len(key) == len(self.test)
if not isinstance(stmts, Iterable):
stmts = [stmts]
self.cases[key] = Statement.wrap(stmts)