compat.fhdl.structure: fix If/Elif/Else after 32446831.
authorwhitequark <cz@m-labs.hk>
Wed, 3 Jul 2019 13:19:15 +0000 (13:19 +0000)
committerwhitequark <cz@m-labs.hk>
Wed, 3 Jul 2019 13:19:15 +0000 (13:19 +0000)
nmigen/compat/fhdl/structure.py

index 26b1d341b162dfda6ebbcab0622a3a5328e6f186..c56a89f7267bc4e2243526206af348befcc69fe2 100644 (file)
@@ -55,21 +55,21 @@ class If(ast.Switch):
         cond = Value.wrap(cond)
         if len(cond) != 1:
             cond = cond.bool()
-        super().__init__(cond, {"1": ast.Statement.wrap(stmts)})
+        super().__init__(cond, {("1",): ast.Statement.wrap(stmts)})
 
     @deprecated("instead of `.Elif(cond, ...)`, use `with m.Elif(cond): ...`")
     def Elif(self, cond, *stmts):
         cond = Value.wrap(cond)
         if len(cond) != 1:
             cond = cond.bool()
-        self.cases = OrderedDict(("-" + k, v) for k, v in self.cases.items())
-        self.cases["1" + "-" * len(self.test)] = ast.Statement.wrap(stmts)
+        self.cases = OrderedDict((("-" + k,), v) for (k,), v in self.cases.items())
+        self.cases[("1" + "-" * len(self.test),)] = ast.Statement.wrap(stmts)
         self.test = Cat(self.test, cond)
         return self
 
     @deprecated("instead of `.Else(...)`, use `with m.Else(): ...`")
     def Else(self, *stmts):
-        self.cases["-" * len(self.test)] = ast.Statement.wrap(stmts)
+        self.cases[()] = ast.Statement.wrap(stmts)
         return self